Пример #1
0
        public GameController()
        {
            time  = new Stopwatch();
            pause = false;


            /// Board ///
            boardW                  = Console.WindowWidth;
            boardH                  = Console.WindowHeight;
            Console.Title           = "Westerdals Oslo ACT - SNAKE";        //Windows title
            Console.ForegroundColor = ConsoleColor.Green;
            Console.CursorVisible   = false;
            Console.SetCursorPosition(10, 10);                              //Set cursor position
            Console.Write("@");

            ///Generate Apple///
            apple = PointFactory.Create(1, boardW, boardH);
            Console.ForegroundColor = ConsoleColor.Green;
            Console.SetCursorPosition(apple.X, apple.Y);
            Console.Write("$");

            ///Generate Snake///
            SnakeGen();

            /////Direction variables/////
            newDir = 2;
            last   = newDir;
        }
Пример #2
0
        //////////////////////
        /// Sake Generator ///
        //////////////////////

        private void SnakeGen()
        {
            snake = new List <Point> {
            };
            for (int i = 0; i < 4; i++)
            {
                snake.Add(PointFactory.Create(0, 10, 10));
            }
        }
Пример #3
0
        /////////////////
        /// THE GAME! ///
        /////////////////

        public void PlayGame()
        {
            time.Start();
            while (true)
            {
                Input();

                if (!pause)
                {
                    if (time.ElapsedMilliseconds < 100)
                    {
                        continue;
                    }
                    time.Restart();

                    newH = PointFactory.Create(0, snake.Last().X, snake.Last().Y);
                    switch (newDir)
                    {
                    case 0:
                        newH.Y -= 1;
                        break;

                    case 1:
                        newH.X += 1;
                        break;

                    case 2:
                        newH.Y += 1;
                        break;

                    default:
                        newH.X -= 1;
                        break;
                    }
                    Checks();
                    Printer();
                }
            }
        }