private void GameForm_KeyDown(object sender, KeyEventArgs e) { int i = Pman.GetY() / 20; int j = Pman.GetX() / 20; if (Dead) { return; } if ((e.KeyCode == Keys.Up) || (e.KeyCode == Keys.W)) { if (maze.GetMaze()[i - 1, j] != 1) { Pman.SetDirection((int)Directions.Up); } PacmanTimer.Start(); GhostTimer.Start(); } if ((e.KeyCode == Keys.Down) || (e.KeyCode == Keys.S)) { if (maze.GetMaze()[i + 1, j] != 1) { Pman.SetDirection((int)Directions.Down); } PacmanTimer.Start(); GhostTimer.Start(); } if ((e.KeyCode == Keys.Left) || (e.KeyCode == Keys.A)) { if (maze.GetMaze()[i, j - 1] != 1) { Pman.SetDirection((int)Directions.Left); } PacmanTimer.Start(); GhostTimer.Start(); } if ((e.KeyCode == Keys.Right) || (e.KeyCode == Keys.D)) { if (maze.GetMaze()[i, j + 1] != 1) { Pman.SetDirection((int)Directions.Right); } PacmanTimer.Start(); GhostTimer.Start(); } if (e.KeyCode != Keys.Space || Pman.GetAmmo() <= 0 || ShootOnce) { return; } bullet.SetImage(Properties.Resources.Bullet); Pman.ReduceAmmo(); bullet.SetX(Pman.GetX() + 5); bullet.SetY(Pman.GetY() + 5); ShootOnce = true; bullet.SetDirection(Pman.GetDirection()); bullet.RotateBullet(); BulletTimer.Start(); }