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, SleepTime); //Task02 ShootPlayerRacketEngine gameEngine = new ShootPlayerRacketEngine(renderer, keyboard, SleepTime); //Task13 keyboard.OnLeftPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketLeft(); }; keyboard.OnRightPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketRight(); }; //------ //Task13 //------ keyboard.OnActionPressed += (sender, eventInfo) => { gameEngine.DoRacketAction(); }; //------ Initialize(gameEngine); // gameEngine.Run(); }
static void Main(string[] args) { IRenderer renderer = new ConsoleRenderer(WorldRows, WorldCols); IUserInterface keyboard = new KeyboardInterface(); // Exercise 13 - using the new Engine Engine gameEngine = new EngineSecondVersion(renderer, keyboard, GameSleepTime); keyboard.OnLeftPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketLeft(); }; keyboard.OnRightPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketRight(); }; // Exercise 13 - Implemetation of the OnActionPressed keyboard.OnActionPressed += (sender, evenInfo) => { if (gameEngine is EngineSecondVersion) { ((EngineSecondVersion)gameEngine).ShootPlayerRacket(); } }; Initialize(gameEngine); gameEngine.Run(); }
static void Main(string[] args) { GameWorld world = new GameWorld(); IRenderer renderer = new ConsoleRenderer(world.GetRows, world.GetCols); IUserInterface keyboard = new KeyboardInterface(); EngineShootingRacket gameEngine = new EngineShootingRacket(renderer, keyboard, 150, world.GetRows, world.GetCols); keyboard.OnLeftPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketLeft(); }; keyboard.OnRightPressed += (sender, eventInfo) => { gameEngine.MovePlayerRacketRight(); }; keyboard.OnActionPressed += (sender, eventInfo) => { gameEngine.ShootPlayerRacket(); }; keyboard.OnEscPressed += (sender, eventInfo) => { Process.GetCurrentProcess().Kill(); }; world.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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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); // 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(); }
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(); }
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() { 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) { 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) { // 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) { //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(); }