ผลต่างระหว่างรุ่นของ "418383/418587 ภาคปลาย 2553/คะแนนการบ้าน 1"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 266: แถว 266:
 
</table>
 
</table>
  
=== โค้ดอ่านไฟล์ที่ถูกเอาไปใส่ใน GameLib ===
+
=== โค้ดอ่านไฟล์ที่ถูกเอาไปใส่ใน GameLib (Pattern 1) ===
 
<table>
 
<table>
 
<tr>
 
<tr>
แถว 397: แถว 397:
 
             return false;
 
             return false;
 
         }
 
         }
 +
</geshi>
 +
</td>
 +
</tr>
 +
</table>
 +
 +
=== โค้ดอ่านไฟล์ที่ถูกเอาไปใส่ใน GameLib (Pattern 2) ===
 +
<table>
 +
<tr>
 +
<td align="center">'''5210450562'''</td>
 +
<td align="center">'''5210450040'''</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
<geshi lang="C#">
 +
            public HighScore()
 +
            {
 +
            }
 +
 +
            string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 +
       
 +
            StringBuilder sb = new StringBuilder();
 +
       
 +
 +
            public void sortPlayScore(string nowScore,string name)
 +
            {
 +
                sb.Clear();
 +
                List<int> scoreSort = new List<int>();
 +
                List<string> score = new List<string>();
 +
                List<string> time = new List<string>();
 +
                string path = mydocpath + @"\High-Scores.Zilo";
 +
                score.Clear();
 +
                score = read();
 +
 +
                if (name == "play")
 +
                {
 +
                    scoreSort.Add(Convert.ToInt32(nowScore));
 +
               
 +
                    for (int i = 0; i < 10; i++)
 +
                    {
 +
                        scoreSort.Add(Convert.ToInt32(score[i]));
 +
                    }
 +
 +
                    scoreSort.Sort();
 +
 +
                    for (int i = 9; i >= 0; i--)
 +
                    {
 +
                        score[9 - i] = GetNumStringWithLeadingZeros(scoreSort[i + 1]);
 +
                    }
 +
 +
                }
 +
                else
 +
                {
 +
                    if (nowScore == "--:--:--")
 +
                        nowScore = "99:99:99";
 +
                    time.Add(nowScore);
 +
               
 +
                    for (int i = 10; i < 20; i++)
 +
                    {
 +
                        time.Add(score[i]);
 +
                    }
 +
 +
                    time.Sort();
 +
 +
                    for (int i = 10; i < 20; i++)
 +
                    {
 +
                        score[i] = time[i - 10];
 +
                    }
 +
                }
 +
           
 +
           
 +
 +
                using (StreamWriter outfile = new StreamWriter(path))
 +
                {
 +
                    for (int i = 0; i < 20; i++)
 +
                    {
 +
                        sb.AppendLine(score[i]);
 +
                    }
 +
                    if (nowScore == "99:99:99")
 +
                        nowScore = "--:--:--";
 +
               
 +
                    sb.AppendLine(nowScore);
 +
 +
                    outfile.Write(sb.ToString());
 +
                }
 +
         
 +
            }
 +
</geshi>
 +
</td>
 +
<td>
 +
<geshi lang="C#">
 +
            public HighScore()
 +
            {
 +
            }
 +
 +
            string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 +
       
 +
            StringBuilder sb = new StringBuilder();
 +
       
 +
 +
            public void sortPlayScore(string nowScore,string name)
 +
            {
 +
                sb.Clear();
 +
                List<int> scoreSort = new List<int>();
 +
                List<string> score = new List<string>();
 +
                List<string> time = new List<string>();
 +
                string path = mydocpath + @"Hi-Score.tetris";
 +
                // Score by Bank_Zilo
 +
                score.Clear();
 +
                score = read();
 +
 +
                if (name == "play")
 +
                {
 +
                    scoreSort.Add(Convert.ToInt32(nowScore));
 +
               
 +
                    for (int i = 0; i < 10; i++)
 +
                    {
 +
                        scoreSort.Add(Convert.ToInt32(score[i]));
 +
                    }
 +
 +
                    scoreSort.Sort();
 +
 +
                    for (int i = 9; i >= 0; i--)
 +
                    {
 +
                        score[9 - i] = GetNumStringWithLeadingZeros(scoreSort[i + 1]);
 +
                    }
 +
 +
                }
 +
                else
 +
                {
 +
                    if (nowScore == "--:--:--")
 +
                        nowScore = "99:99:99";
 +
                    time.Add(nowScore);
 +
               
 +
                    for (int i = 10; i < 20; i++)
 +
                    {
 +
                        time.Add(score[i]);
 +
                    }
 +
 +
                    time.Sort();
 +
 +
                    for (int i = 10; i < 20; i++)
 +
                    {
 +
                        score[i] = time[i - 10];
 +
                    }
 +
                }
 +
           
 +
           
 +
 +
                using (StreamWriter outfile = new StreamWriter(path))
 +
                {
 +
                    for (int i = 0; i < 20; i++)
 +
                    {
 +
                        sb.AppendLine(score[i]);
 +
                    }
 +
                    if (nowScore == "99:99:99")
 +
                        nowScore = "--:--:--";
 +
               
 +
                    sb.AppendLine(nowScore);
 +
 +
                    outfile.Write(sb.ToString());
 +
                }
 +
         
 +
            }
 
</geshi>
 
</geshi>
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>

รุ่นแก้ไขเมื่อ 20:55, 27 กุมภาพันธ์ 2554

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

โค้ดอ่านไฟล์ใน 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 (Pattern 1)

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>

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

5210450562 5210450040

<geshi lang="C#">

           public HighScore()
           {
           }
           string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
       
           StringBuilder sb = new StringBuilder();
       
           public void sortPlayScore(string nowScore,string name)
           {
               sb.Clear();
               List<int> scoreSort = new List<int>();
               List<string> score = new List<string>();
               List<string> time = new List<string>();
               string path = mydocpath + @"\High-Scores.Zilo";
               score.Clear();
               score = read();
               if (name == "play")
               {
                   scoreSort.Add(Convert.ToInt32(nowScore));
               
                   for (int i = 0; i < 10; i++)
                   {
                       scoreSort.Add(Convert.ToInt32(score[i]));
                   }
                   scoreSort.Sort();
                   for (int i = 9; i >= 0; i--)
                   {
                       score[9 - i] = GetNumStringWithLeadingZeros(scoreSort[i + 1]);
                   }
               }
               else
               {
                   if (nowScore == "--:--:--")
                       nowScore = "99:99:99";
                   time.Add(nowScore);
               
                   for (int i = 10; i < 20; i++)
                   {
                       time.Add(score[i]);
                   }
                   time.Sort();
                   for (int i = 10; i < 20; i++)
                   {
                       score[i] = time[i - 10];
                   }
               }
           
           
               using (StreamWriter outfile = new StreamWriter(path))
               {
                   for (int i = 0; i < 20; i++)
                   {
                       sb.AppendLine(score[i]);
                   }
                   if (nowScore == "99:99:99")
                       nowScore = "--:--:--";
               
                   sb.AppendLine(nowScore);
                   outfile.Write(sb.ToString());
               }
          
           }

</geshi>

<geshi lang="C#">

           public HighScore()
           {
           }
           string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
       
           StringBuilder sb = new StringBuilder();
       
           public void sortPlayScore(string nowScore,string name)
           {
               sb.Clear();
               List<int> scoreSort = new List<int>();
               List<string> score = new List<string>();
               List<string> time = new List<string>();
               string path = mydocpath + @"Hi-Score.tetris";
               // Score by Bank_Zilo
               score.Clear();
               score = read();
               if (name == "play")
               {
                   scoreSort.Add(Convert.ToInt32(nowScore));
               
                   for (int i = 0; i < 10; i++)
                   {
                       scoreSort.Add(Convert.ToInt32(score[i]));
                   }
                   scoreSort.Sort();
                   for (int i = 9; i >= 0; i--)
                   {
                       score[9 - i] = GetNumStringWithLeadingZeros(scoreSort[i + 1]);
                   }
               }
               else
               {
                   if (nowScore == "--:--:--")
                       nowScore = "99:99:99";
                   time.Add(nowScore);
               
                   for (int i = 10; i < 20; i++)
                   {
                       time.Add(score[i]);
                   }
                   time.Sort();
                   for (int i = 10; i < 20; i++)
                   {
                       score[i] = time[i - 10];
                   }
               }
           
           
               using (StreamWriter outfile = new StreamWriter(path))
               {
                   for (int i = 0; i < 20; i++)
                   {
                       sb.AppendLine(score[i]);
                   }
                   if (nowScore == "99:99:99")
                       nowScore = "--:--:--";
               
                   sb.AppendLine(nowScore);
                   outfile.Write(sb.ToString());
               }
          
           }

</geshi>