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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 140: แถว 140:
 
* 5210400433 กับ 5210404803
 
* 5210400433 กับ 5210404803
 
[[ไฟล์:Breakout-playscreen-5210400433-5210404803.JPG|300px]]
 
[[ไฟล์:Breakout-playscreen-5210400433-5210404803.JPG|300px]]
 +
 +
=== โต้ดจัดการ Bullet กับ Brick ใน GameState.cs ===
 +
<table>
 +
<tr>
 +
<td>5210450040</td>
 +
<td>5210450058</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
<geshi lang="csharp">
 +
        void HandleSpecificCollision(Brick brick, Bullet bullet)
 +
        {
 +
            effect7.Play();
 +
            objectsToRemove.Add(bullet);
 +
            brick.Damage(1);
 +
            if (brick.Hp <= 0)
 +
            {
 +
                objectsToRemove.Add(brick);
 +
                score += brick.Score;
 +
                if (brick.Item != null)
 +
                {
 +
                    Item item = brick.ReleaseItem();
 +
                    objectsToAdd.Add(item);
 +
                }
 +
            }
 +
        }
 +
</geshi>
 +
</td>
 +
<td>
 +
<geshi lang="csharp">
 +
        void HandleSpecificCollision(Brick brick, Bullet bullet)
 +
        {
 +
            effect7.Play();
 +
            objectsToRemove.Add(bullet);
 +
            bullet.CollideWithBrick(brick);
 +
            brick.Damage(1);
 +
            if (brick.Hp <= 0)
 +
            {
 +
                objectsToRemove.Add(brick);
 +
                score += brick.Score;
 +
                if (brick.Item != null)
 +
                {
 +
                    Item item = brick.ReleaseItem();
 +
                    objectsToAdd.Add(item);
 +
                }
 +
            }
 +
        }
 +
</geshi>
 +
</td>
 +
</tr>
 +
</table>
  
 
<!--
 
<!--

รุ่นแก้ไขเมื่อ 10:22, 20 มีนาคม 2554

คะแนน

คนที่ไม่ได้ 0 คะแนน

คนที่ได้ 0 คะแนนเนื่องจากลอกเพื่อนหรือให้เพื่อนลอก

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

โค้ดเปลี่ยนด่านใน PlayScreen.cs

51180537 51180628 51180727

<geshi lang="csharp">

               else if (playScreen.gameState.BrickCount <= 0)
               {
                 
                   
                   if (lv == 3)
                   {
                       Constants.MAP_NAME = "map03";


                   }
                   else
                   {
                       Constants.MAP_NAME = "map02";
                       lv = 3;
                   }
                   playScreen.LoadContent();
                   if (lv2 != 3)
                   {
                       lv2 += 1;
                       MediaPlayer.Stop();
                       MediaPlayer.Play(song3);
                       playScreen.Game.SwitchScreen(Constants.NEXT_LV_SCREEN_NAME);
          
                   }
                   else
                   {
                       lv = 1;
                       lv2 = 1;
                       Constants.MAP_NAME = "map01.txt";
                       playScreen.LoadContent();
                       playScreen.Game.SwitchScreen(Constants.GAME_CLEARED_SCREEN_NAME);
                   }
               }
               else if (playScreen.keySensor.IsKeyTyped(KeyMapping.pauseKey))
                   playScreen.ChangeState(playScreen.pauseState);
           }

</geshi>

<geshi lang="csharp">

               else if (playScreen.gameState.BrickCount <= 0)
               {
                   if (lv == 3)
                   {
                       Constants.MAP_NAME = "map03";
                       MediaPlayer.Stop();
                   }
                   else
                   {
                       Constants.MAP_NAME = "map02";
                       MediaPlayer.Stop();
                       lv = 3;
                   }
                   playScreen.LoadContent();
                   if (lv2 != 3)
                   {
                       lv2 += 1;
                       MediaPlayer.Play(song4);
                       playScreen.Game.SwitchScreen(Constants.NEXT_LV_SCREEN_NAME);
                   }
                   else
                   {
                       lv = 1;
                       lv2 = 1;
                       Constants.MAP_NAME = "map01";
                       MediaPlayer.Play(song5);
                       Constants.ascore = 0;
                       playScreen.LoadContent();
                       playScreen.Game.SwitchScreen(Constants.GAME_CLEARED_SCREEN_NAME);
                   }
               }
               else if (playScreen.keySensor.IsKeyTyped(KeyMapping.pauseKey))
                   playScreen.ChangeState(playScreen.pauseState);
           }

</geshi>

<geshi lang="csharp">

               else if (playScreen.gameState.BrickCount <= 0)
               {
                   if (lv == 3)
                   {
                       Constants.MAP_NAME = "map03";


                   }
                   else
                   {
                       Constants.MAP_NAME = "map02";
                       lv = 3;
                   }
                   playScreen.LoadContent();
                   if (lv2 != 3)
                   {
                       lv2 += 1;
                       playScreen.Game.SwitchScreen(Constants.NEXT_LV_SCREEN_NAME);
                   }
                   else
                   {
                       lv = 1;
                       lv2 = 1;
                       Constants.MAP_NAME = "map01.txt";
                       playScreen.Game.SwitchScreen(Constants.GAME_CLEARED_SCREEN_NAME);
                   }
               }
               else if (playScreen.keySensor.IsKeyTyped(KeyMapping.pauseKey))
                   playScreen.ChangeState(playScreen.pauseState);

</geshi>

  • 51180537 และ 51180644

Breakout-playscreen-51180537-51180644.JPG

โค้ด LoadContent ใน PlayScreen.cs

  • 5210400433 กับ 5210404803

Breakout-playscreen-5210400433-5210404803.JPG

โต้ดจัดการ Bullet กับ Brick ใน GameState.cs

5210450040 5210450058

<geshi lang="csharp">

       void HandleSpecificCollision(Brick brick, Bullet bullet)
       {
           effect7.Play();
           objectsToRemove.Add(bullet);
           brick.Damage(1);
           if (brick.Hp <= 0)
           {
               objectsToRemove.Add(brick);
               score += brick.Score;
               if (brick.Item != null)
               {
                   Item item = brick.ReleaseItem();
                   objectsToAdd.Add(item);
               }
           }
       }

</geshi>

<geshi lang="csharp">

       void HandleSpecificCollision(Brick brick, Bullet bullet)
       {
           effect7.Play();
           objectsToRemove.Add(bullet);
           bullet.CollideWithBrick(brick);
           brick.Damage(1);
           if (brick.Hp <= 0)
           {
               objectsToRemove.Add(brick);
               score += brick.Score;
               if (brick.Item != null)
               {
                   Item item = brick.ReleaseItem();
                   objectsToAdd.Add(item);
               }
           }
       }

</geshi>