Exemplo n.º 1
0
 private void OnKeyUp(object sender, KeyEventArgs e)
 {
     if (Configerator.instance.GameType == Configerator.Game.player)
     {
         SnakeController.HideKnownItem(sender, e);
     }
 }
Exemplo n.º 2
0
 private void OnKeyDown(object sender, KeyEventArgs e)
 {
     if (Configerator.instance.GameType == Configerator.Game.player)
     {
         SnakeController.MoveSnake(sender, e);
         SnakeController.PauseSnake(sender, e);
         SnakeController.ShowKnownItem(sender, e);
     }
 }
Exemplo n.º 3
0
        public void Run()
        {
            bool     completedGame    = false;
            double   gameLoopInterval = (double)GameVariables.GameLoopInterval;
            DateTime lastDate         = DateTime.Now; // Pobiera czas aktualny (z komputera) i zapisuje go jako akatualny

            Fruit fruit = new Fruit();
            Snake snake = new Snake();

            SnakeController snakeController = new SnakeController();

            while (!completedGame)
            {
                if (Console.KeyAvailable)
                {
                    string direction = snakeController.ChangeDirection(Console.ReadKey());
                    if (direction != null)
                    {
                        snake.Direction = direction;
                    }
                }

                if (!((DateTime.Now - lastDate).TotalMilliseconds >= gameLoopInterval))
                {
                    continue;
                }
                snake.Move();
                if (fruit.FruitPosition.X == snake.HeadPosition.X &&
                    fruit.FruitPosition.Y == snake.HeadPosition.Y)
                {
                    snake.EatFruit();
                    fruit             = new Fruit();
                    gameLoopInterval /= 1;
                }

                if (snake.GameOver)
                {
                    completedGame = snakeController.ShowGameOverScreen(snake.Length);
                }

                lastDate = DateTime.Now;
            }
        }
Exemplo n.º 4
0
 private void StartGame()
 {
     UpdateVisibility();
     if (Configerator.instance.GameType == Configerator.Game.bot)
     {
         world = new BotWorld(new Vector2(30, 30));
         WorldRenderer.Init(world, this);
         ((BotWorld)world).InitSpecies(GenSize, 1, PopSize);
         timer1.Interval = 1000 / 60;
     }
     else if (Configerator.instance.GameType == Configerator.Game.test)
     {
         world = new TestBotWorld(new Vector2(30, 30));
         WorldRenderer.Init(world, this);
         ((TestBotWorld)world).LoadTrainedSnake();
         timer1.Interval = 1000 / 30;
     }
     else//GameType == player
     {
         world = new World(new Vector2(30, 30));
         WorldRenderer.Init(world, this);
         world.InitSnake();
         world.InitWalls();
         world.InitTransparentAreas();
         if (Configerator.instance.RecognitionType == Configerator.ItemRecognition.onlyKnown)
         {
             world.InitKnownItem();
             WorldRenderer.UpdateKnownItemLabel();
         }
         world.InitEnemySnake();
         SnakeController.SetSnake(world.snake);
         timer1.Interval = 1000 / 20;
     }
     WorldRenderer.UpdateHighScoreLabel();
     WorldRenderer.UpdateLevelLabel();
     WorldRenderer.UpdateLifeLabel();
     WorldRenderer.UpdatePausesLeftLabel();
     timer1.Start();
 }