Example #1
0
        public static void CollisionsCheck(List<DynamicObject> dynamicObjects, List<Gun> bullet, Ship battleShip)
        {
            for (int i = 0; i < dynamicObjects.Count; i++)
            {
                if ((dynamicObjects[i].GetPosition.Row == battleShip.GetPosition.Row
                    && (dynamicObjects[i].GetPosition.Col >= battleShip.GetPosition.Col
                    && dynamicObjects[i].GetPosition.Col <= battleShip.GetPosition.Col + 4)))
                {
                    battleShip.Collide(dynamicObjects[i]);
                    dynamicObjects[i].Collide(battleShip);
                }

                for (int j = 0; j < bullet.Count; j++)
                {
                    if (j >= bullet.Count || i >= dynamicObjects.Count)
                    {
                        break;
                    }
                    if (dynamicObjects[i].GetPosition.Row  == bullet[j].GetPosition.Row 
                        && dynamicObjects[i].GetPosition.Col == bullet[j].GetPosition.Col)
                    {
                        CollisionCounter += 10;                        
                        bullet[j].Collide(dynamicObjects[i]);
                        dynamicObjects[i].Collide(bullet[j]);
                        bullet.RemoveAt(j);
                    }
                }
            }
        }
Example #2
0
 public void AddShip(GameObjects obj)
 {
     this.battleShip = obj as Ship;
     this.allObjects.Add(obj);
 }
        static void MainMain()
        { 
            //Intro.printIntro();
            Console.BufferWidth = Console.WindowWidth;
            Console.BufferHeight = Console.WindowHeight;
            int speed = 100;

            ObjectDrawer gameRenderer = new ObjectDrawer(Console.WindowHeight, 60);
            IUserInterface keyboard = new KeyboardInterface();
            Engine gameEngine = new Engine(gameRenderer, keyboard, speed);

            Position shipPos = new Position(Console.BufferHeight - 3, 30);
            Ship ship = new Ship(shipPos);

            gameEngine.AddShip(ship);

            keyboard.OnUpPressed += (sender, eventInfo) =>
                {
                    gameEngine.MoveShipUp();
                };
            keyboard.OnDownPressed += (sender, eventInfo) =>
                {
                    gameEngine.MoveShipDown();
                };
            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MoveShipLeft();
            };

            keyboard.OnRightPressed += (sender, eventInfo) =>
            {
                gameEngine.MoveShipRight();
            };

            keyboard.OnActionPressed += (sender, eventInfo) =>
            {

                gameEngine.ShipShoot();
            };

            keyboard.OnPausePressed += (sender, eventInfo) =>
                {
                    Console.SetCursorPosition((Console.WindowWidth / 2) - 6, Console.WindowHeight / 2);
                    Console.WriteLine("Press any key to continue!");
                    Console.ReadKey(true);
                };

            gameEngine.Run();
        TryAgain:
            try
            {
            StarshipFightMain.Restart();
            }
            catch (GameException)
            {
                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Invalid button! Try Again");
                Console.ResetColor();
                goto TryAgain;
            }
        }
Example #4
0
 public void AddShip(GameObjects obj)
 {
     this.battleShip = obj as Ship;
     this.allObjects.Add(obj);
 }