public void MarioCanShot(Mario mario, SuperBonus superBonus, Bonus bonus) { if (mario.X == superBonus.X && mario.Y == superBonus.Y) { mario.CanShot = true; bonus.BonusScore += 200; } }
public void MarioCanShotTest() { Mario mario = new Mario(1, 1); SuperBonus superBonus = new SuperBonus(1, 1); Bonus bonus = new Bonus(2, 2); bonus.BonusScore = 0; mario.MarioCanShot(mario, superBonus, bonus); Assert.IsTrue(mario.CanShot); Assert.AreEqual(bonus.BonusScore, 200); }
//code cloning. Create new function! public void GenerateBonuses() { _superBonus = new SuperBonus(5, 2); DrawSuperBonus(); _bonus = new Bonus(2, 2) { CountOfBonuses = 30 }; List <Bonus> listBonuses = new List <Bonus>(); for (int i = 0; i < _bonus.CountOfBonuses; i++) { listBonuses.Add(new Bonus(_bonus.X, _bonus.Y)); _bonus.ListBonuses = listBonuses; _bonus.X += 2; if (_gameGround[_bonus.X - 1, _bonus.Y - 1] != 'X') { DrawBonuses(); } } _bonus = new Bonus(2, 5) { CountOfBonuses = 20 }; for (int i = 0; i < _bonus.CountOfBonuses; i++) { listBonuses.Add(new Bonus(_bonus.X, _bonus.Y)); _bonus.ListBonuses = listBonuses; _bonus.X += 2; if (_gameGround[_bonus.X - 1, _bonus.Y - 1] != 'X') { DrawBonuses(); } } _bonus = new Bonus(2, 8) { CountOfBonuses = 29 }; for (int i = 0; i < _bonus.CountOfBonuses; i++) { listBonuses.Add(new Bonus(_bonus.X, _bonus.Y)); _bonus.ListBonuses = listBonuses; _bonus.X += 2; if (_gameGround[_bonus.X - 1, _bonus.Y - 1] != 'X') { DrawBonuses(); } } _bonus = new Bonus(20, 12) { CountOfBonuses = 20 }; for (int i = 0; i < _bonus.CountOfBonuses; i++) { listBonuses.Add(new Bonus(_bonus.X, _bonus.Y)); _bonus.ListBonuses = listBonuses; _bonus.X += 2; if (_gameGround[_bonus.X - 1, _bonus.Y - 1] != 'X') { DrawBonuses(); } } _bonus = new Bonus(2, 17) { CountOfBonuses = 15 }; for (int i = 0; i < _bonus.CountOfBonuses; i++) { listBonuses.Add(new Bonus(_bonus.X, _bonus.Y)); _bonus.ListBonuses = listBonuses; _bonus.X += 2; if (_gameGround[_bonus.X - 1, _bonus.Y - 1] != 'X') { DrawBonuses(); } } _bonus = new Bonus(2, 21) { CountOfBonuses = 30 }; for (int i = 0; i < _bonus.CountOfBonuses; i++) { listBonuses.Add(new Bonus(_bonus.X, _bonus.Y)); _bonus.ListBonuses = listBonuses; _bonus.X += 2; if (_gameGround[_bonus.X - 1, _bonus.Y - 1] != 'X') { DrawBonuses(); } } _bonus.ListBonuses = listBonuses; }
//extract switches to seperate functions public void CheckButton(Mario mario, char[,] backGround, Bonus bonus, SuperBonus superBonus, Game game, Bullet bullet, List <Bullet> listBullets) { _movement = new Movement(); _backGroundDraw = new BackGroundDraw(); _keyInfo = Console.ReadKey(true); if (game.GameInProgress == true) { switch (_keyInfo.Key) { case ConsoleKey.UpArrow: _movement.UpButton = true; _movement.RightButton = false; _movement.LeftButton = false; break; case ConsoleKey.RightArrow: _movement.RightButton = true; _movement.LeftButton = false; _movement.UpButton = false; break; case ConsoleKey.LeftArrow: _movement.LeftButton = true; _movement.RightButton = false; _movement.UpButton = false; break; case ConsoleKey.Spacebar: break; } _movement.CanMove = mario.ObjectCollisions(mario, backGround, _movement, game); if (_movement.CanMove == true) { switch (_keyInfo.Key) { case ConsoleKey.UpArrow: _movement.UpButton = true; _backGroundDraw.RemoveMario(mario); _movement.MarioMoving(mario); if (mario.CanShot == false) { mario.MarioCanShot(mario, superBonus, bonus); } bonus.CheckScore(mario, bonus.ListBonuses); _backGroundDraw.DrawMario(mario); Thread.Sleep(100); _backGroundDraw.RemoveMario(mario); _movement.MoveDownAfterJump(mario); bonus.CheckScore(mario, bonus.ListBonuses); _backGroundDraw.DrawMario(mario); _movement.UpButton = false; break; case ConsoleKey.RightArrow: mario.LeftOrRight = true; _backGroundDraw.RemoveMario(mario); mario.EarthUnderfoot(mario, backGround, _movement); _movement.MarioMoving(mario); _backGroundDraw.DrawMario(mario); _movement.RightButton = false; break; case ConsoleKey.LeftArrow: mario.LeftOrRight = false; _backGroundDraw.RemoveMario(mario); mario.EarthUnderfoot(mario, backGround, _movement); _movement.MarioMoving(mario); bonus.CheckScore(mario, bonus.ListBonuses); _backGroundDraw.DrawMario(mario); _movement.LeftButton = false; break; } } } }