Пример #1
0
 public bool directionFree(float x, float y, ACharacter.EOrientation ort)
 {
     switch (ort)
     {
         case ACharacter.EOrientation.LEFT:
             return (!pixelIsWall(x - 5, y) &&
                     !pixelIsWall(x - 5, y - 3) &&
                     !pixelIsWall(x - 5, y + 3));
         case ACharacter.EOrientation.RIGHT:
             return (!pixelIsWall(x + 5, y) &&
                     !pixelIsWall(x + 5, y + 3) &&
                     !pixelIsWall(x + 5, y - 3));
         case ACharacter.EOrientation.UP:
             return (!pixelIsWall(x, y - 5) &&
                     !pixelIsWall(x - 3, y - 5) &&
                     !pixelIsWall(x + 3, y - 5));
         case ACharacter.EOrientation.DOWN:
             return (!pixelIsWall(x, y + 5) &&
                     !pixelIsWall(x + 3, y + 5) &&
                     !pixelIsWall(x - 3, y + 5));
         default:
             break;
     }
     return false;
 }
Пример #2
0
        internal ACharacter.EOrientation getPacManDirection(Hero h, ACharacter m)
        {
            int x = (int)((m.getX() - h.getX()) / 8); // POSITIF == LEFT NEGATIF == RIGHT
            int y = (int)((m.getY() - h.getY()) / 8); // POSITIF == UP NEGATIF == DOWN

            if (Math.Abs(x) > Math.Abs(y))
            {
                return(x > 0 ? ACharacter.EOrientation.LEFT : ACharacter.EOrientation.RIGHT);
            }
            return(y > 0 ? ACharacter.EOrientation.UP : ACharacter.EOrientation.DOWN);
        }
Пример #3
0
 public bool isTouching(ACharacter o)
 {
     return(hitBox_.Intersects(o.hitBox_));
 }
Пример #4
0
 public bool isTouching(ACharacter o)
 {
     return hitBox_.Intersects(o.hitBox_);
 }
Пример #5
0
        internal bool intersection(float x, float y, ACharacter.EOrientation ort)
        {
            int i = 0;
                    if (!pixelIsWall(x - 5, y) &&
                            !pixelIsWall(x - 5, y - 3) &&
                            !pixelIsWall(x - 5, y + 3))
                        i++;

                    if (!pixelIsWall(x + 5, y) &&
                            !pixelIsWall(x + 5, y + 3) &&
                            !pixelIsWall(x + 5, y - 3))
                        i++;

                    if (!pixelIsWall(x, y - 5) &&
                            !pixelIsWall(x - 3, y - 5) &&
                            !pixelIsWall(x + 3, y - 5))
                        i++;

                    if (!pixelIsWall(x, y + 5) &&
                            !pixelIsWall(x + 3, y + 5) &&
                            !pixelIsWall(x - 3, y + 5))
                        i++;
            return (i > 2);
        }
Пример #6
0
 internal ACharacter.EOrientation getPacManDirection(Hero h, ACharacter m)
 {
     int x = (int)((m.getX() - h.getX()) / 8); // POSITIF == LEFT NEGATIF == RIGHT
     int y = (int)((m.getY() - h.getY()) / 8); // POSITIF == UP NEGATIF == DOWN
     if (Math.Abs(x) > Math.Abs(y))
         return x > 0 ? ACharacter.EOrientation.LEFT : ACharacter.EOrientation.RIGHT;
     return y > 0 ? ACharacter.EOrientation.UP : ACharacter.EOrientation.DOWN;
 }