Guest User

check hit loc

a guest
Jun 29th, 2012
34
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.      Class GameplayScreen
  2.         {
  3.             public Update ()
  4.                {
  5.              .........
  6.                     // Checking for collision of the bats
  7.                     if (ball.GetDirection() > 1.5f * Math.PI || ball.GetDirection() < 0.5f * Math.PI)
  8.                     {
  9.                         if (rightBat.GetSize().Intersects(ball.GetSize()))
  10.                         {
  11.                             ball.BatHit(CheckHitLocation(rightBat));
  12.                         }
  13.                     }
  14.                     else if (leftBat.GetSize().Intersects(ball.GetSize()))
  15.                     {
  16.                         ball.BatHit(CheckHitLocation(leftBat));
  17.                     }
  18.                  ......................
  19.                  }
  20.        }
  21.  
  22.  
  23. ////////////////////////////////////
  24.  
  25.  
  26.         /// <summary>
  27.         /// Checking for bat collision & instructs the ball where to deflect to
  28.         /// </summary>
  29.         private int CheckHitLocation(Bat bat)
  30.         {
  31.             int block = 0;
  32.             if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 20)
  33.             {
  34.                 block = 1;
  35.             }
  36.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 2)
  37.             {
  38.                 block = 2;
  39.             }
  40.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 3)
  41.             {
  42.                 block = 3;
  43.             }
  44.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 4)
  45.             {
  46.                 block = 4;
  47.             }
  48.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 5)
  49.             {
  50.                 block = 5;
  51.             }
  52.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 6)
  53.             {
  54.                 block = 6;
  55.             }
  56.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 7)
  57.             {
  58.                 block = 7;
  59.             }
  60.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 10 * 8)
  61.             {
  62.                 block = 8;
  63.             }
  64.             else if (ball.GetPosition().Y < bat.GetPosition().Y + bat.GetSize().Height / 20 * 19)
  65.             {
  66.                 block = 9;
  67.             }
  68.             else
  69.             {
  70.                 block = 10;
  71.             }
  72.  
  73.             return block;
  74.         }
RAW Paste Data