示例#1
0
文件: Program.cs 项目: MirasK/Gunship
        public void Draw()
        {
            while (true)
            {
                worm.Move();

                if (worm.body[0].Equals(food.body[0]))
                {
                    worm.body.Add(new Point {
                        X = food.body[0].X, Y = food.body[0].Y
                    });
                }
                else
                {
                    foreach (Point p in wall.body)
                    {
                        if (p.Equals(worm.body[0]))
                        {
                            Console.Clear();
                            Console.WriteLine("GAME OVER!!!");
                            isAlive = false;
                            break;
                        }
                    }
                }

                Console.Clear();
                foreach (GameObject g in g_objects)
                {
                    g.Draw();
                }
                Thread.Sleep(Game.speed);
            }
        }
示例#2
0
        public void Draw()
        {
            while (true)
            {
                worm.Move();
                if (worm.body[0].Y > boardH - 1)
                {
                    worm.body[0].Y = 0;
                }
                if (worm.body[0].Y < 0)
                {
                    worm.body[0].Y = boardH - 1;
                }
                if (worm.body[0].X > boardW - 1)
                {
                    worm.body[0].X = 0;
                }
                if (worm.body[0].X < 0)
                {
                    worm.body[0].X = boardW - 1;
                }

                if (worm.body[0].Equals(food.body[0]))
                {
                    worm.body.Add(new Point {
                        X = food.body[0].X, Y = food.body[0].Y
                    });
                    food.body[0].X = r.Next(0, 99);
                    food.body[0].Y = r.Next(0, 34);
                }
                else
                {
                    foreach (Point p in wall.body)
                    {
                        if (p.Equals(worm.body[0]))
                        {
                            Console.Clear();
                            Console.WriteLine("GAME OVER!!!");
                            isAlive = false;
                            break;
                        }
                    }
                }

                Console.Clear();
                foreach (GameObject g in g_objects)
                {
                    g.Draw();
                    s.DrawScore("Score is:" + ((worm.body.Count()) - 1));
                }
                Thread.Sleep(Game.speed);
            }
        }
示例#3
0
        public void ProcessKeyEvent(ConsoleKeyInfo consoleKeyInfo)
        {
            switch (consoleKeyInfo.Key)
            {
            case ConsoleKey.UpArrow:
                worm.Move(0, -1);
                break;

            case ConsoleKey.DownArrow:
                worm.Move(0, 1);
                break;

            case ConsoleKey.LeftArrow:
                worm.Move(-1, 0);
                break;

            case ConsoleKey.RightArrow:
                worm.Move(1, 0);
                break;
            }
            CheckCollision();
        }