static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            ShootingRacketEngine gameEngine = new ShootingRacketEngine(renderer, keyboard, 150);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

            keyboard.OnRightPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketRight();
            };
            // Task 13: Adding handler for shooting racket
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacker();
            };

            Initialize(gameEngine);

            //// Task 5: Testing the TrailObject class
            //char[,] testTrailObjectBody = { {'T', 'E', 'S', 'T' } };
            //gameEngine.AddObject(new TrailObject(new MatrixCoords(1, 17), testTrailObjectBody, 3));

            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            ShootingRacketEngine gameEngine = new ShootingRacketEngine(renderer, keyboard, 300);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };

            Initialize(gameEngine);
            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

           // Engine gameEngine = new Engine(renderer, keyboard);
            ShootEngineRacket gameEngine = new ShootEngineRacket(renderer, keyboard);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

            keyboard.OnRightPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketRight();
            };
            // task 13
            //Engine gameEngineShoot = new ShootEngineRacket(renderer, keyboard);
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };


            /* 01.The AcademyPopcorn class contains an IndestructibleBlock class. 
               Use it to create side and ceiling walls to the game. You can ONLY edit the AcademyPopcornMain.cs file.
            */
            for (int i = 2; i < WorldRows; i++)
            {
                IndestructibleBlock rightWall = new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1));
                IndestructibleBlock leftWall = new IndestructibleBlock(new MatrixCoords(i, 0));
                gameEngine.AddObject(leftWall);
                gameEngine.AddObject(rightWall);
            }
            for (int i = 0; i < WorldCols; i++)
            {
                IndestructibleBlock topWall = new IndestructibleBlock(new MatrixCoords(2, i));
                gameEngine.AddObject(topWall);
            }
            // test 05 task
            TrailObject trailObject = new TrailObject(new MatrixCoords(5, 5), new char[,] { { '*' } }, 20);
            gameEngine.AddObject(trailObject);

           

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            IRenderer      renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            //Engine gameEngine = new Engine(renderer, keyboard);
            EngineForShootingRocket gameEngine = new EngineForShootingRocket(renderer, keyboard);

            #region
            // task1 - add undestructable blocks
            for (int i = 2; i < WorldRows; i++)
            {
                gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(i, 0)));
                gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)));
            }
            for (int i = 0; i < WorldCols; i++)
            {
                gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(2, i)));
            }
            #endregion

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

            keyboard.OnRightPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketRight();
            };
            //Task13
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };
            //

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
Ejemplo n.º 5
0
        static void Main()
        {
            IRenderer      renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            Engine gameEngine = new Engine(renderer, keyboard, 200);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            Initialize(gameEngine);
            gameEngine.Run();
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            //Engine gameEngine = new Engine(renderer, keyboard);
            ShootingEngine gameEngine = new ShootingEngine(renderer, keyboard, 400);

            //Task 01
            for (int i = 0; i < WorldRows; i++)
            {
                gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(i, 0)));
                gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)));
            }
            for (int i = 0; i < WorldCols; i++)
            {
                gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(0, i)));
            }

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };

            Initialize(gameEngine);

            gameEngine.Run();

           
        }
        static void Main()
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            Engine gameEngine = new Engine(renderer, keyboard,500); //setting sleep length manually with integer number

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            Initialize(gameEngine);
            SetBorders(gameEngine); // my implementation for borders

            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            Engine gameEngine = new Engine(renderer, keyboard, 200);// Task2: SleepTimeAsField

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
Ejemplo n.º 9
0
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            Engine gameEngine = new Engine(renderer, keyboard, 200);
            //indestructable blocks
            for (int i = 1; i < WorldRows; i++)
            {
                //gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(i, 0)));
                //gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(i, WorldCols - 1)));
                gameEngine.AddObject(new UnpassableBlock(new MatrixCoords(i, 0)));
                gameEngine.AddObject(new UnpassableBlock(new MatrixCoords(i, WorldCols - 1)));
            }
            for (int i = 0; i < WorldCols; i++)
            {
                //gameEngine.AddObject(new IndestructibleBlock(new MatrixCoords(1, i)));
                gameEngine.AddObject(new UnpassableBlock(new MatrixCoords(1, i)));
            }
            //end

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            ShootRacketEngine gameEngine = new ShootRacketEngine(renderer, keyboard, 100); // Task 2 implement a "Game speed" option | Task 13. ShootRacket test

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

            keyboard.OnActionPressed += (sender, eventInfo) => // Task 13 adding ShootPlayerRacket() to the OnActionPressed event handler
            {
                gameEngine.ShootPlayerRacket();
            };

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

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            // Engine gameEngine = new Engine(renderer, keyboard);
            // Implementing Engine that have shooting capability
            ShootingEngine gameEngine = new ShootingEngine(renderer, keyboard);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            // attaches shooting ability as keybord event (using spacebar)
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };
            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            // Switched the constructor with the one where the thread sleep recives a value instead of having it hardcoded (TASK 02)
            // Also switched to ShooterEngine
            //===================================================================================================== Edit>
            ShooterEngine gameEngine = new ShooterEngine(renderer, keyboard, 150);
            //===================================================================================================== >Edit

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
Ejemplo n.º 13
0
        static void Main(string[] args)
        {
            // 2. User input speed
            Console.WriteLine("Enter speed: ");
            int speed = int.Parse(Console.ReadLine());

            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            Engine gameEngine = new Engine(renderer, keyboard, speed);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Enter level: ");

            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();
            int sleep = int.Parse(Console.ReadLine());                        // 02.Sleep field

            Engine gameEngine = new Engine(renderer, keyboard, sleep);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            //13.
            //keyboard.OnActionPressed += (sender, eventInfo) =>
            //{
            //    gameEngine.ShootPlayerRacket();
            //};

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();
            int timeToSleep = 200;       //Task 2
            //Because it inherit Engine we can do that and add the method ShootPlayerRacket to it to produce bullets
            //Task 13
            ShootRacketEngine gameEngine = new ShootRacketEngine(renderer, keyboard, timeToSleep);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

            keyboard.OnRightPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketRight();
            };
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                //Task 13
                gameEngine.ShootPlayerRacket();
            };

            Initialize(gameEngine);

            gameEngine.Run();
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

               // Engine gameEngine = new Engine(renderer, keyboard); // changed to Engin2
            Engine2 gameEngine = new Engine2(renderer, keyboard); // Exercise 13

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

            keyboard.OnRightPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketRight();
            };
            // added Exercise 13
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                gameEngine.ShootPlayerRacket();
            };

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }
Ejemplo n.º 17
0
        static void Main()
        {
            Console.BufferWidth = Console.WindowWidth = WorldCols + InfofieldWidth;
            Console.BufferHeight = Console.WindowHeight = WorldRows;

            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            ShootingEngine gameEngine = new ShootingEngine(renderer, keyboard, 80);

            keyboard.OnLeftPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketLeft(WallGap + WallWidth); };
            keyboard.OnRightPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketRight(3 * WallGap - RacketLength); };
            keyboard.OnActionPressed += (sender, eventInfo) => { gameEngine.ShootPlayerRacket(); };

            Initialize(gameEngine);

            List<dynamic> infoList = new List<dynamic>();
            infoList.Add("Balls:");
            infoList.Add(String.Empty);
            infoList.Add("o Normal ball");
            infoList.Add(String.Empty);
            infoList.Add("O Unstoppable");
            infoList.Add(String.Empty);
            infoList.Add("♦ Meteorite");
            infoList.Add(String.Empty);
            infoList.Add(String.Empty);
            infoList.Add("Blocks:");
            infoList.Add(String.Empty);
            infoList.Add("▒ Normal block");
            infoList.Add(String.Empty);
            infoList.Add("▓ Unpassable");
            infoList.Add(String.Empty);
            infoList.Add("█ Indestructible");
            infoList.Add(String.Empty);
            infoList.Add("☼ Bomb");
            infoList.Add(String.Empty);
            infoList.Add("♥ Gift");

            gameEngine.Run(infoList, new MatrixCoords(1, WorldCols + 2));
        }
        static void Main(string[] args)
        {
            //I also made two small fixes in the KeyboardInterface class to improve the racket performance
            IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols);
            IUserInterface keyboard = new KeyboardInterface();

            //Task 13:
            EngineShootPlayerRacket gameEngine = new EngineShootPlayerRacket(renderer, keyboard, 500);

            keyboard.OnLeftPressed += (sender, eventInfo) =>
            {
                gameEngine.MovePlayerRacketLeft();
            };

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

            //Task 13:
            keyboard.OnActionPressed += (sender, eventInfo) =>
            {
                 gameEngine.ShootPlayerRacket();
            };

            Initialize(gameEngine);

            //

            gameEngine.Run();
        }