예제 #1
0
 //Egy vadőr következő lépése
 private void RangerMove(Ranger ranger)
 {
     //Ha függőlegesen járőrözik
     if (ranger.Direction)
     {
         if (IsPatrolField(ranger.Position.X, ranger.Position.Y + ranger.Velocity))
         {
             map[ranger.Position.X][ranger.Position.Y] = 0;
             map[ranger.Position.X][ranger.Position.Y + ranger.Velocity] = 4;
             ranger.SetYPos(ranger.Position.Y + ranger.Velocity);
         }
         else //ha érvénytelen mező jönne, akkor megfordul
         {
             ranger.Velocity *= -1;
         }
     }
     else //Ha vízszintesen járőrözik
     {
         if (IsPatrolField(ranger.Position.X + ranger.Velocity, ranger.Position.Y))
         {
             map[ranger.Position.X][ranger.Position.Y] = 0;
             map[ranger.Position.X + ranger.Velocity][ranger.Position.Y] = 4;
             ranger.SetXPos(ranger.Position.X + ranger.Velocity);
         }
         else //ha érvénytelen mező jönne, akkor megfordul
         {
             ranger.Velocity *= -1;
         }
     }
 }
예제 #2
0
        //Adott vadőr elkapja-e Maci Lacit
        private bool RangerCatch(Ranger ranger)
        {
            for (Int32 i = -1; i < 2; i++)
            {
                for (Int32 j = -1; j < 2; j++)
                {
                    Int32 row = ranger.Position.X + i;
                    Int32 col = ranger.Position.Y + j;

                    if (playerpos.X == row && playerpos.Y == col)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }