418383/418587 ภาคปลาย 2553/คะแนนการบ้าน 1

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

การลอกกันที่ผมจับได้

โค้ดอ่านไฟล์ใน PlayScreen.cs (Pattern 1)

51180537 51180628 51180644 51180727

<geshi lang="C#">

                           string[] score2 = new string[10];
                           StreamReader sr = new StreamReader("Score.txt");
                           int i = 0;
                           string str;
                           while ((str = sr.ReadLine()) != null)
                           {
                               score2[i] = str;
                               i++;
                           }
                           sr.Close();


                           for (i = 0; i < 10; i++)
                           {


                               if (scoreNumLabel.Text.CompareTo(score2[i]) > 0)
                               {
                                   for (int j = 10 - 1; j > i; j--)
                                       score2[j] = score2[j - 1];
                                   score2[i] = scoreNumLabel.Text;
                                   break;
                               }
                           }
                           var writer = new StreamWriter("Score.txt");
                           for (i = 0; i < 10; i++)
                               writer.WriteLine(score2[i]);
                           writer.Close();

</geshi>

<geshi lang="C#">

                           string[] s2 = new string[10];
                           StreamReader sr = new StreamReader("lvscore.txt");
                           int i = 0;
                           string str;
                           while ((str = sr.ReadLine()) != null)
                           {
                               s2[i] = str;
                               i++;
                           }
                           sr.Close();
                           for (i = 0; i < 10; i++)
                           {
                               if (scoreNumLabel.Text.CompareTo(s2[i]) > 0)
                               {
                                   for (int j = 10 - 1; j > i; j--)
                                       s2[j] = s2[j - 1];
                                   s2[i] = scoreNumLabel.Text;
                                   break;
                               }
                           }
                           var writer = new StreamWriter("lvscore.txt");
                           for (i = 0; i < 10; i++)
                               writer.WriteLine(s2[i]);
                           writer.Close();

</geshi>

<geshi lang="C#">

                          int[] score2 = new int[10] ;
                           lvcount = 1000;
                           lvup = 1;
                           var write = new StreamWriter("last.txt");
                        
                               write.WriteLine(score);
                           write.Close();
                           StreamReader sr = new StreamReader("data.txt");
                           int i = 0;
                           string str;
                           while ((str = sr.ReadLine()) != null)
                           {
                               score2[i] = int.Parse(str) ;
                               i++;
                           }
                           sr.Close();
                 
                       
                           for (i = 0; i < 10; i++)
                           {
                              
                               if (score>=score2[i])
                               {
                                   for (int j = 10 - 1; j > i; j--)
                                       score2[j] = score2[j - 1];
                                   score2[i] = score;
                                   break;
                               }
                           }
                           var writer = new StreamWriter("data.txt");
                           for (i = 0; i < 10; i++)
                               writer.WriteLine(score2[i]);
                           writer.Close();

</geshi>

<geshi lang="C#">

                           string[] time2 = new string[10];
                           StreamReader sr = new StreamReader("data.txt");
                           int i = 0;
                           string str;
                           while ((str = sr.ReadLine()) != null)
                           {
                               time2[i] = str;
                               i++;
                           }
                           sr.Close();


                           for (i = 0; i < 10; i++)
                           {


                               if (scoreNumLabel.Text.CompareTo(time2[i]) > 0)
                               {
                                   for (int j = 10 - 1; j > i; j--)
                                       time2[j] = time2[j - 1];
                                   time2[i] = scoreNumLabel.Text;
                                   break;
                               }
                           }
                           var writer = new StreamWriter("data.txt");
                           for (i = 0; i < 10; i++)
                               writer.WriteLine(time2[i]);
                           writer.Close();

</geshi>

โค้ดอ่านไฟล์ใน PlayScreen.cs (Pattern 2)

5210400433 521040889 521040897

<geshi lang="C#">

                           int i = 10, j;
                           StreamReader streamReader = new StreamReader("high-scores.txt");
                           string text = streamReader.ReadToEnd();
                           string[] scores = text.Split('\n');
                           int NowScore = int.Parse(scores[i]);
                           while ((score > NowScore) && (i > 0))
                           {
                               i--;
                               if (i > 0)
                                   NowScore = int.Parse(scores[i]);
                           }
                           for (j = 10; j > i + 1; j--)
                           {
                               scores[j] = scores[j - 1];
                               while (scores[j].Length < 6)
                                   scores[j] = "0" + scores[j];
                           }
                           if (i < 10)
                           {
                               scores[j] = score.ToString();
                               while (scores[j].Length < 6)
                                   scores[j] = "0" + scores[j];
                           }
                           streamReader.Close();
                           StreamWriter streamWriter = new StreamWriter("high-scores.txt");
                           for (i = 0; i < 11; i++) streamWriter.WriteLine(scores[i]);
                           streamWriter.Close();

</geshi>

<geshi lang="C#">

                           //////////////////////High Scores [Condition3]///////////////////////////////
                           /////////////// Read File //////////////
                           int i = 10, j;
                           StreamReader streamReader = new StreamReader("high-scores.txt");
                           string text = streamReader.ReadToEnd();
                           string[] scores = text.Split('\n');
                           int NowScore = int.Parse(scores[i]);
                           while ((score > NowScore) && (i > 0))
                           {
                               i--;
                               if (i > 0) 
                                   NowScore = int.Parse(scores[i]);
                           }
                           for (j = 10; j > i + 1; j--)
                           {
                               scores[j] = scores[j - 1];
                               while (scores[j].Length < 6) 
                                     scores[j] = "0" + scores[j];
                           }
                           if (i < 10)
                           {
                               scores[j] = score.ToString();
                               while (scores[j].Length < 6) 
                                     scores[j] = "0" + scores[j];
                           }
                           streamReader.Close();
                           
                           ////////Write New Record/////////
                           StreamWriter streamWriter = new StreamWriter("high-scores.txt");
                           for (i = 0; i < 11; i++) streamWriter.WriteLine(scores[i]);
                           streamWriter.Close();
                           ///////////////

</geshi>

<geshi lang="C#"> int i=10,j;

                           StreamReader streamReader = new StreamReader("../../../../TetrisContent/high-scores.txt");
                           string text = streamReader.ReadToEnd();
                           string[] scores = text.Split('\n');
                           int nowScore = int.Parse(scores[i]);
                           while((score > nowScore)&&(i>0))
                           {
                               i--;
                               if(i>0)nowScore = int.Parse(scores[i]);
                           }
                           for (j = 10; j > i+1; j--)
                           {
                               scores[j] = scores[j - 1];
                               while (scores[j].Length < 6) scores[j] = "0" + scores[j];
                           }
                           if (i < 10)
                           {
                               scores[j] = score.ToString();
                               while (scores[j].Length < 6) scores[j] = "0" + scores[j];
                           }
                           streamReader.Close();
                           StreamWriter streamWriter = new StreamWriter("../../../../TetrisContent/high-scores.txt");
                           for (i = 0; i < 22; i++) streamWriter.WriteLine(scores[i]);
                           streamWriter.Close();
                           Game.SwitchScreen("GameOverPlay");

</geshi>

โค้ดอ่านไฟล์ทีุ่ถูกเอาไปใส่ใน GameLib

5210404803 5210405036

<geshi lang="C#">

   public class ReadWrite
   {
       public static string[] readAll()
       {   TextWriter tw;
           TextReader tr;
           string[] score = new string[20];
           try
           {
               tr = new StreamReader("high.txt");
           }
           catch
           {
               tw = new StreamWriter("high.txt");
               tw.WriteLine("nomal");
               for (int i = 0; i < 10;i++ )
                   tw.WriteLine("0");
               tw.WriteLine("time");
               for (int i = 0; i < 10; i++)
                   tw.WriteLine(int.MaxValue);
               tw.Close();
               tr = new StreamReader("high.txt");
           }
           tr.ReadLine();
           for(int i = 0;i<10;i++)
           {
              
               score[i] = tr.ReadLine();
           }
           tr.ReadLine();
           for (int i = 10; i < 20; i++)
           {
               score[i] = tr.ReadLine();
           }
           
           tr.Close();
           return score;
       }
       public static bool IsNormalTopTen(int score)
       {
           string[] scoretime = readAll();
           for (int i = 0; i < 10;i++ )
           {
               if (score > int.Parse(scoretime[i]))
                       return true;
           } 
           return false;
       }

</geshi>

<geshi lang="C#">

   public class CalScore
   {
       public static string[] readAll()
       {
           StreamWriter stw;
           StreamReader str;
           string[] score = new string[20];
           try
           {
               str = new StreamReader("high-scores.txt");
           }
           catch
           {
               stw = new StreamWriter("high-scores.txt");
               
               stw.WriteLine("nomal");
               
               for (int i = 0; i < 10; i++)
               {
                   stw.WriteLine("00000");
               }
               
               stw.WriteLine("time");
               
               for (int i = 0; i < 10; i++)
               {
                   stw.WriteLine(59940);
               }
               stw.Close();
               
               str = new StreamReader("high-scores.txt");
           }
           str.ReadLine();
           
           for (int i = 0; i < 10; i++)
           {
               score[i] = str.ReadLine();
           }
           str.ReadLine();
           
           for (int i = 10; i < 20; i++)
           {
               score[i] = str.ReadLine();
           }
           str.Close();
           
           return score;
       }
       public static bool IsNormalTopTen(int score)
       {
           string[] scoretime = readAll();
           
           for (int i = 0; i < 10; i++)
           {
               if (score > int.Parse(scoretime[i]))
                   return true;
           }
           return false;
       }

</geshi>