public GameEngine(player Gladiator, player Opponent, player Enemys, Statistics S, Equipment items, Slaughter Slaughtered) { var P1 = Gladiator; var P2 = Opponent; Random rnd = new Random(); if (rnd.Next(0, 10) < 5) { P1 = Opponent; P2 = Gladiator; } while (true) { int choice; Gladiator.Damage = 0; Opponent.Damage = 0; DisplayStartInfo(Gladiator, Opponent, Enemys); if (P1 == Gladiator) { Console.WriteLine("-------------------------"); Console.WriteLine("Choose your strike method"); Console.WriteLine("1. Fist"); Console.WriteLine("2. Kick"); Console.WriteLine("3. Knee"); Console.WriteLine("-------------------------"); choice = Convert.ToInt32(Console.ReadLine()); } else { choice = rnd.Next(1, 3); } switch (choice) { case 1: int s1 = P1.Fist(); Console.WriteLine($"Fist strike! Damage by {P1.Name}: {s1}"); Console.WriteLine(); P2.Health -= s1; P1.Damage = s1; break; case 2: int s2 = P1.Kick(); Console.WriteLine($"Kick strike! Damage by {P1.Name}: {s2}"); Console.WriteLine(); P2.Health -= s2; P1.Damage = s2; break; case 3: int s3 = P1.Knee(); Console.WriteLine($"Knee strike! Damage by {P1.Name}: {s3}"); Console.WriteLine(); P2.Health -= s3; P1.Damage = s3; break; default: break; } P1.Strikes++; Gladiator.TotalStrikes += Gladiator.Strikes; P1.FightDmg += P1.Damage; P2.FightDmg += P2.Damage; P1.TotalDmg += P1.Damage; P2.TotalDmg += P2.Damage; Enemys.TotalStrikes += Opponent.Strikes; Enemys.TotalDmg += Opponent.Damage; if (P2.Health <= 0) { Console.WriteLine($"{P2.Name} slaughtered!"); P2.Health = 0; P1.Wins++; Console.WriteLine($"With {P1.Strikes} strikes!"); Console.WriteLine($"{P1.Name} has won {P1.Wins} times"); Console.WriteLine($"Total damage by {P1.Name} was {P1.FightDmg}"); Console.WriteLine($"{P2.Name} made damage by: {P2.FightDmg}"); if (Gladiator.Health <= 0) { S.msg = S.LosingMsg; S.AddToList(Enemys.Round, Gladiator.Strikes, Gladiator.FightDmg, S.msg, Opponent.Name); items.HaveArmor = false; // losing armor if beaten items.HaveWeapon = false; // losing Weapon if beaten items.UsingArmor = false; // losing armor if beaten items.UsingWeapon = false; // losing Weapon if beaten S.Points -= 100; } else { if (Enemys.Round < 4) { S.Points += 100; } else if (Enemys.Round >= 8) { S.Points += 400; } else { S.Points += 200; } S.msg = S.VictoryMsg; S.AddToList(Enemys.Round, Gladiator.Strikes, Gladiator.FightDmg, S.msg, Opponent.Name); Gladiator.Health++; // add 1 health for victory if (Gladiator.Wins < 10) { Console.WriteLine(); Console.WriteLine("Chose if u wanna try ur luck on a weapon or armor"); Console.WriteLine("1: For armor hunting"); Console.WriteLine("2: For weapon hunting"); Console.WriteLine("3: Hardcore, no weapon or amror hunt"); int itemChoise = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); switch (itemChoise) { case 1: items.ArmorEquipemnt(Gladiator); break; case 2: items.WeaponEquipment(Gladiator); break; default: Console.WriteLine("brave warrior"); break; } Console.WriteLine(); } } Enemys.Wins += Opponent.Wins; Gladiator.FightDmg = 0; Gladiator.Strikes = 0; Enemys.Round++; if (P1 == Gladiator) { Gladiator.RemoveEnemy(); Slaughtered.AddToList(Opponent.Name); } else if (P2 == Gladiator || Gladiator.Health <= 0) { Gladiator.Health = rnd.Next(10, 20); Gladiator.Strenght = rnd.Next(5, 10); } break; } if (P1 == Gladiator) { P1 = Opponent; P2 = Gladiator; } else { P1 = Gladiator; P2 = Opponent; } } }
static void Main(String[] args) { Random rnd = new Random(); Boolean loop = true; player Enemys = new player(); Statistics S = new Statistics(); Equipment items = new Equipment(); Slaughter Slaughter = new Slaughter(); report R = new report(); int MinValueHealth = 10; int MaxValueHealth = 20; int MinValueStrength = 5; int MaxValueStrength = 10; items.UsedArmor = false; items.UsedWeapon = false; int j = 0; Console.WriteLine("------------------------------------------------------"); Console.WriteLine("--------------- Welcome to the arena!! ---------------"); Console.WriteLine("The challangers fights untill death, ppl place ur bets"); Console.WriteLine("------------------------------------------------------"); Console.WriteLine("---------------- Welcome to the game! ---------------- "); Console.Write("Please enter your name: "); string name = Console.ReadLine(); Console.WriteLine($"Welcome {name}, lets see how strong you are today"); Console.WriteLine("------------------------------------------------------"); //Create Gladiator player Gladiator = new player(name, rnd.Next(MinValueHealth, MaxValueHealth), rnd.Next(MinValueStrength, MaxValueStrength), 0, 0, 0); Gladiator.EnemyNamelist(); // create list with enemys Enemys.Round = 1; //start counting rounds on 1. THIS should be redone. Gladiator.Advantage = 2; // set advantage for Gladiator while (loop) { Console.WriteLine(); if (Gladiator.EnemyNames.Count <= 0) //if enemylist is empty end game { // Show stats!!!! Console.WriteLine("------------------------------------------------------"); Console.WriteLine($"All Opponents has been beaten. You are the champion!!!!"); Console.WriteLine("------------------------------------------------------"); Console.WriteLine("----------- Game created by Daniel & Risto -----------"); Console.WriteLine(); Console.WriteLine("Press any key to quit"); Console.ReadKey(); R.CreateReport(Slaughter.Slaughtered, Gladiator.Name, S.Points); break; //break out of the game } if (Enemys.Round == 4) { Gladiator.Advantage--; //if } else if (Enemys.Round == 7) { Gladiator.Advantage--; } int MaxHealthEnemy = Gladiator.Health - Gladiator.Advantage; int MaxStrengthEnemy = Gladiator.Strenght - Gladiator.Advantage; if (Gladiator.Health - Gladiator.Advantage < MinValueHealth) { MaxHealthEnemy = MinValueHealth + 1; } if (Gladiator.Strenght - Gladiator.Advantage < MinValueStrength) { MaxStrengthEnemy = MinValueStrength + 1; } player Opponent = new player(Gladiator.EnemyNames[0].Name, rnd.Next(MinValueHealth, MaxHealthEnemy), rnd.Next(MinValueStrength, MaxStrengthEnemy), 0, 0, 0); //Generate new opponent for each fight Console.WriteLine(); if (S.Points == 0) { Console.WriteLine("You have not earned any points yet! Start playing."); } else { Console.WriteLine($"Have earned {S.Points} points"); } Console.WriteLine($"Your health is: {Gladiator.Health}\tYour Strenght is: {Gladiator.Strenght}"); Console.WriteLine(); Console.WriteLine("Now where do we wanna send the gladiator??"); Console.WriteLine("------------------------------------------------------"); Console.WriteLine("Choise 1: Enter the arena and fight untill death"); Console.WriteLine("Choise 2: Check stats from all fight"); Console.WriteLine("Choise 3: Enemy list"); Console.WriteLine("Choise 4: Statistics"); Console.WriteLine("Choise 5: Armors and Weapons"); Console.WriteLine("Choise 8: Delete Highscores"); Console.WriteLine("Choise 9: Exit the game"); Console.WriteLine("------------------------------------------------------"); int choise = Convert.ToInt32(Console.ReadLine()); switch (choise) { case 1: _ = new GameEngine(Gladiator, Opponent, Enemys, S, items, Slaughter); break; case 2: Console.WriteLine(); Console.WriteLine($"Rounds played: {Enemys.Round - 1} "); // for displaying correct amount of rounds Console.WriteLine(); Console.WriteLine($"Gladiator wins: {Gladiator.Wins}"); Console.WriteLine($"Damage dealt by gladiator {Gladiator.TotalDmg}"); Console.WriteLine(); Console.WriteLine($"Opponent wins: {Enemys.Wins}"); Console.WriteLine($"Damage dealt by opponent {Enemys.TotalDmg}"); break; case 3: Console.WriteLine(); Console.WriteLine($"Enemys left: {Gladiator.EnemyNames.Count}"); Console.WriteLine(); for (int i = 0; i < Gladiator.EnemyNames.Count; i++) { if (i == 0) { // needed when one enemy left to print Final Boss if (Gladiator.EnemyNames[i].Level == 4) { Console.WriteLine("Final Boss:"); } else { Console.WriteLine("Level " + Gladiator.EnemyNames[i].Level + ":"); } Console.WriteLine(Gladiator.EnemyNames[i].Name); } else { if (Gladiator.EnemyNames[i].Level == Gladiator.EnemyNames[i - 1].Level) { Console.WriteLine(Gladiator.EnemyNames[i].Name); } else { // Print Final Boss for the 10th enemy if (Gladiator.EnemyNames[i].Level == 4) { Console.WriteLine("Final Boss:"); } else { Console.WriteLine("Level " + Gladiator.EnemyNames[i].Level + ":"); } Console.WriteLine(Gladiator.EnemyNames[i].Name); } } } Console.WriteLine(); Console.WriteLine($"Enemys slaughtered: {Slaughter.Slaughtered.Count}"); foreach (var item in Slaughter.Slaughtered) { Console.WriteLine(item); } break; case 4: S.DisplayStat(); break; case 5: items.Display_A_W(Gladiator); break; case 8: R.DeleteSaves(); Console.WriteLine("Are uou sure? y/n?"); var a = Console.ReadLine(); if (a == "y") { Console.WriteLine("Highscores deleted!"); } break; case 9: loop = false; R.CreateReport(Slaughter.Slaughtered, Gladiator.Name, S.Points); break; default: Console.WriteLine("You must choose a number between 1 - 5 or 9!"); break; } } }