// move player public void movePlayer(Enemy enemy, Map map, HorizontalEnemy[] horizontalEnemy, StillEnemy stillEnemy, RandomEnemy[] randomEnemy, Boss boss) { ConsoleKeyInfo input; input = Console.ReadKey(true); if (playerMoving == true) { // takes damage from enemy if conditions are right //if (enemy.HorizontalDealDamage == true) { TakeDamge(enemy, 50); } //if (enemy.StillDealDamage == true) { TakeDamge(enemy, 10); } for (int d = 0; d < 10; d++) { if (randomEnemy[d].EnemyDealDamage == true || horizontalEnemy[d].EnemyDealDamage == true || stillEnemy.EnemyDealDamage == true) { TakeDamge(enemy, 0, horizontalEnemy[d], stillEnemy, randomEnemy[d], boss); } } PushBackX = X; PushBackY = Y; // check if player pressed w if (input.KeyChar == 'w') { Console.SetCursorPosition(X, Y); moving = true; // check to see if there is a border and if so make player cant move that way and plays a sound if (map.displayMap[X, Y - 1] == 'x') { moving = false; Console.Beep(300, 100); } // makes the player move depending on the key pressed else if (map.displayMap[X, Y] == '.' && moving == true) { Y = Y - 1; } } else if (input.KeyChar == 's') { Console.SetCursorPosition(X, Y); moving = true; if (map.displayMap[X, Y + 1] == 'x') { moving = false; Console.Beep(300, 100); } else if (map.displayMap[X, Y] == '.' && moving == true) { Y = Y + 1; } } else if (input.KeyChar == 'a') { moving = true; if (map.displayMap[X - 1, Y] == 'x') { moving = false; Console.Beep(300, 100); } else if (map.displayMap[X, Y] == '.' && moving == true) { X = X - 1; } } else if (input.KeyChar == 'd') { Console.SetCursorPosition(70, 15); moving = true; if (map.displayMap[X + 1, Y] == 'x') { moving = false; Console.Beep(300, 100); } else if (map.displayMap[X, Y] == '.' && moving == true) { X = X + 1; } } } }
// checks to see if player colided with any game objects public void CheckCollision(Enemy enemy, StatHud statHud, Items[] healthPack, Items powerUp, Items armor, HorizontalEnemy[] horizontalEnemy, StillEnemy stillEnemy, RandomEnemy[] randomEnemy, Boss boss) { for (int r = 0; r < 10; r++) { if (Y == randomEnemy[r].Y) { if (X == randomEnemy[r].X) { Console.SetCursorPosition(70, 15); Console.Beep(170, 200); //map.winScreen(); Y = PushBackY; X = PushBackX; statHud.horizontalEnemyStats = false; statHud.stillEnemyStats = false; statHud.enemyStats = true; randomEnemy[r].enemyTakeDamge = true; } } } for (int h = 0; h < 10; h++) { if (Y == horizontalEnemy[h].Y) { if (X == horizontalEnemy[h].X) { Console.SetCursorPosition(70, 15); Y = PushBackY; X = PushBackX; horizontalEnemy[h].enemyTakeDamge = true; statHud.stillEnemyStats = false; statHud.enemyStats = false; statHud.horizontalEnemyStats = true; //map.winScreen(); } } } if (Y == stillEnemy.Y) { if (X == stillEnemy.X) { Console.SetCursorPosition(70, 15); Console.Beep(170, 200); Y = PushBackY; X = PushBackX; stillEnemy.enemyTakeDamge = true; statHud.horizontalEnemyStats = false; statHud.enemyStats = false; statHud.stillEnemyStats = true; } } if (Y == boss.Y) { if (X == boss.X) { Console.SetCursorPosition(70, 15); Console.Beep(170, 200); Y = PushBackY; X = PushBackX; boss.enemyTakeDamge = true; statHud.horizontalEnemyStats = false; statHud.enemyStats = false; statHud.stillEnemyStats = false; } } //map.winScreen(); // } // for (int i = 0; i < 5; i++) { if (Y == healthPack[i].Y) { if (X == healthPack[i].X) { if (healthPack[i].Used == false) { health += 50; if (health >= 100) { health = 100; } healthPack[i].X = 0; healthPack[i].Y = 0; healthPack[i].Used = true; } } } } if (Y == armor.Y) { if (X == armor.X) { Console.SetCursorPosition(70, 15); Console.WriteLine("tryx" + X); if (armor.Used == false) { shields += 50; if (shields >= 100) { shields = 100; } armor.X = 0; armor.Y = 0; armor.Used = true; } } } if (Y == powerUp.Y) { if (X == powerUp.X) { if (powerUp.Used == false) { enemy.DamageBoost = true; powerUp.X = 0; powerUp.Y = 0; powerUp.Used = true; } } } }
// player takes damage depending on the enemy private void TakeDamge(Enemy enemy, int damage, HorizontalEnemy horizontalEnemy, StillEnemy stillEnemy, RandomEnemy randomEnemy, Boss boss) { if (horizontalEnemy.EnemyDealDamage == true) { damage = 50; } if (randomEnemy.EnemyDealDamage == true) { damage = 10; } if (stillEnemy.EnemyDealDamage == true) { damage = 10; } if (boss.EnemyDealDamage == true) { damage = 15; } if (shields == 0) { health -= damage; } if (horizontalEnemy.EnemyDealDamage == true) { if (shields > 0) { shields = shields - damage; } horizontalEnemy.EnemyDealDamage = false; } if (randomEnemy.EnemyDealDamage == true) { if (shields > 0) { shields = shields - damage; } } if (stillEnemy.EnemyDealDamage == true) { if (shields > 0) { shields = shields - damage; } stillEnemy.EnemyDealDamage = false; } if (boss.EnemyDealDamage == true) { if (shields > 0) { shields = shields - damage; } } boss.EnemyDealDamage = false; if (shields > 0) { remainingShields -= damage; } if (shields < 0) { shields = 0; health += remainingShields; remainingShields = 0; } if (health <= 0) { health = 0; playerMoving = false; } }
public void RunGame() { Player player = new Player(); Map map = new Map(); EnemyManager enemyManager = new EnemyManager(); RandomEnemy[] randomEnemy = new RandomEnemy[10]; randomEnemy[0] = new RandomEnemy(); randomEnemy[1] = new RandomEnemy(); randomEnemy[2] = new RandomEnemy(); randomEnemy[3] = new RandomEnemy(); randomEnemy[4] = new RandomEnemy(); randomEnemy[5] = new RandomEnemy(); randomEnemy[6] = new RandomEnemy(); randomEnemy[7] = new RandomEnemy(); randomEnemy[8] = new RandomEnemy(); randomEnemy[9] = new RandomEnemy(); //HorizontalEnemy[] horizontalEnemy = new HorizontalEnemy[10]; enemyManager.horizontalEnemy[0] = new HorizontalEnemy(100); enemyManager.horizontalEnemy[1] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[2] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[3] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[4] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[5] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[6] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[7] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[8] = new HorizontalEnemy(25); enemyManager.horizontalEnemy[9] = new HorizontalEnemy(25); StillEnemy stillEnemy = new StillEnemy(); StatHud statsHUD = new StatHud(); Items[] healthPack = new Items[5]; healthPack[0] = new Items("H", "HealthPack", 45, 14); healthPack[1] = new Items("H", "HealthPack", 44, 14); healthPack[2] = new Items("H", "HealthPack", 43, 14); healthPack[3] = new Items("H", "HealthPack", 42, 14); healthPack[4] = new Items("H", "HealthPack", 41, 14); Items powerUp = new Items("P", "PowerUp", 15, 4); Items armor = new Items("A", "Armor", 15, 1); GameCharacter gameCharacter = new GameCharacter(); // game loop while (true) { // draws the map map.DrawBorder(player); // showsthe characters Stats statsHUD.ShowHUD(player, enemyManager.enemy, healthPack[0]); // draws the game objects randomEnemy[0].drawEnemy(10, 2); enemyManager.boss.drawEnemy(16, 20); enemyManager.horizontalEnemy[0].drawEnemy(1, 4); if (enemyManager.boss.sendEnemy) { enemyManager.horizontalEnemy[enemyManager.boss.enemyCount].drawEnemy(enemyManager.boss.X, enemyManager.boss.Y); } stillEnemy.drawEnemy(56, 8); // enemy.drawhorizontalEnemy(); // enemy.StilldrawEnemy(); healthPack[1].Draw(); healthPack[0].Draw(); healthPack[2].Draw(); healthPack[3].Draw(); healthPack[4].Draw(); powerUp.Draw(); armor.Draw(); player.drawPlayer(enemyManager.enemy); //moves the player player.movePlayer(enemyManager.enemy, map, enemyManager.horizontalEnemy, stillEnemy, randomEnemy, enemyManager.boss); // checks if player had any collision if (player.playerMoving == true) { player.CheckCollision(enemyManager.enemy, statsHUD, healthPack, powerUp, armor, enemyManager.horizontalEnemy, stillEnemy, randomEnemy, enemyManager.boss); } //moves the enemies randomEnemy[0].enemyMove(map, player); enemyManager.boss.enemyMove(enemyManager.horizontalEnemy, map, player); enemyManager.horizontalEnemy[0].enemyMove(map, player); enemyManager.horizontalEnemy[1].enemyMove(map, player); enemyManager.horizontalEnemy[2].enemyMove(map, player); enemyManager.horizontalEnemy[3].enemyMove(map, player); enemyManager.horizontalEnemy[4].enemyMove(map, player); enemyManager.horizontalEnemy[5].enemyMove(map, player); enemyManager.horizontalEnemy[6].enemyMove(map, player); enemyManager.horizontalEnemy[7].enemyMove(map, player); enemyManager.horizontalEnemy[8].enemyMove(map, player); enemyManager.horizontalEnemy[9].enemyMove(map, player); for (int b = 1; b < enemyManager.boss.enemyCount; b++) { enemyManager.horizontalEnemy[b].enemyMove(map, player); } stillEnemy.enemyMove(map, player); //enemy.horizontalEnemyMove(map, player); // enemy.stillEnemyMove(map, player); // check to see if enemy hit player if (randomEnemy[0].enemyDead == false) { randomEnemy[0].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[0].enemyDead == false) { enemyManager.horizontalEnemy[0].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[1].enemyDead == false) { enemyManager.horizontalEnemy[1].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[2].enemyDead == false) { enemyManager.horizontalEnemy[2].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[3].enemyDead == false) { enemyManager.horizontalEnemy[3].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[4].enemyDead == false) { enemyManager.horizontalEnemy[4].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[5].enemyDead == false) { enemyManager.horizontalEnemy[5].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[6].enemyDead == false) { enemyManager.horizontalEnemy[6].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[7].enemyDead == false) { enemyManager.horizontalEnemy[7].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[8].enemyDead == false) { enemyManager.horizontalEnemy[8].CheckAllPlayer(player); } if (enemyManager.horizontalEnemy[9].enemyDead == false) { enemyManager.horizontalEnemy[9].CheckAllPlayer(player); } if (enemyManager.boss.enemyDead == false) { enemyManager.boss.CheckAllPlayer(player); } if (stillEnemy.enemyDead == false) { stillEnemy.CheckAllPlayer(player); } Console.SetCursorPosition(0, 0); } }