Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- namespace MonsterVSHuman
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.ForegroundColor = ConsoleColor.White;
- Console.BackgroundColor = ConsoleColor.Black;
- Console.WriteLine("Welcome to the Monster vs Human!");
- Console.Write("You and monster have two type of attacks: ");
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.Write("physical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write(" and ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine("magical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write("Also, you both have two type of defence: ");
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.Write("physical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write(" and ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine("magical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("Every turn human choose one type of attack he wanted to use and one type of defence");
- Console.WriteLine("Monster also do choose attack and defence type every turn like a human");
- Console.WriteLine("For example:");
- Console.Write("If human choose ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.Write("magical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write(" type of attack and monster choose ");
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.Write("physical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine(" type of defence at the same turn, monster get 1 dmg");
- Console.Write("If human choose ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.Write("magical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write(" type of attack and monster choose ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.Write("magical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine(" type of defence at the same turn, monster will not take dmg");
- Console.WriteLine("Monster and human both have 3HP");
- Console.WriteLine("If human and a monster kill each other in the same turn, a draw is declared");
- Console.WriteLine("If the HP of one of the participants in the battle drops to zero he lose and his opponent scored a victory");
- Console.WriteLine("");
- Console.WriteLine("If you ready for battle, press enter to continue");
- Console.WriteLine("");
- Console.ReadKey();
- Console.WriteLine(3);
- Thread.Sleep(500);
- Console.WriteLine(2);
- Thread.Sleep(500);
- Console.WriteLine(1);
- Thread.Sleep(500);
- Console.WriteLine("");
- Random rnd1 = new Random();
- Thread.Sleep(2000);
- Random rnd2 = new Random();
- int monsterHP = 3;
- int humanHP = 3;
- int endCounter = 1;
- int turnCounter = 0;
- while (endCounter != 0)
- {
- turnCounter += 1;
- if (monsterHP != 0 && humanHP != 0)
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("__________");
- Console.WriteLine("Turn № " + turnCounter);
- Console.WriteLine("__________");
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine();
- RequstAttackType();
- int humanAttackType = Convert.ToInt32(Console.ReadLine());
- RequstDefenceType();
- int humanDefenceType = Convert.ToInt32(Console.ReadLine());
- int monsterAttackType = (rnd1.Next(1, 3));
- int monsterDefenceType = (rnd2.Next(1, 3));
- Console.WriteLine();
- //Оформление к выбранной атаке хумана и защите монстра
- if (humanAttackType == 1)
- {
- Console.Write("Human attack -");
- WritePhyseType();
- if (monsterDefenceType == 1)
- {
- Console.Write("| Monster defence -");
- WritePhyseType();
- Console.WriteLine();
- }
- else
- {
- Console.Write("| Monster defence -");
- WriteMagicalType();
- Console.WriteLine();
- }
- }
- else
- {
- Console.Write("Human attack -");
- WriteMagicalType();
- if (monsterDefenceType == 1)
- {
- Console.Write("| Monster defence -");
- WritePhyseType();
- Console.WriteLine();
- }
- else
- {
- Console.Write("| Monster defence -");
- WriteMagicalType();
- Console.WriteLine();
- }
- }
- //Просчет результатов битвы, когда атакует хуман и вывод хп монстра
- if (ComparisonTypsAttackAndDedfence(humanAttackType, monsterDefenceType) == 0)
- {
- monsterHP = HpMinusOne(monsterHP);
- Console.WriteLine("Monster HP minus 1");
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Monster HP = " + monsterHP);
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("");
- }
- else
- {
- Console.WriteLine("Monster block");
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Monster HP = " + monsterHP);
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("");
- }
- //Оформление к выбранной защите хумана и атаке монстра
- if (humanDefenceType == 1)
- {
- Console.Write("Human defence -");
- WritePhyseType();
- if (monsterDefenceType == 1)
- {
- Console.Write("| Monster attack -");
- WritePhyseType();
- Console.WriteLine();
- }
- else
- {
- Console.Write("| Monster attack -");
- WriteMagicalType();
- Console.WriteLine();
- }
- }
- else
- {
- Console.Write("Human defence -");
- WriteMagicalType();
- if (monsterDefenceType == 1)
- {
- Console.Write("| Monster attack -");
- WritePhyseType();
- Console.WriteLine();
- }
- else
- {
- Console.Write("| Monster attack -");
- WriteMagicalType();
- Console.WriteLine();
- }
- }
- //Просчет результатов битвы, когда атакует монстр и вывод хп хумана
- if (ComparisonTypsAttackAndDedfence(humanDefenceType, monsterAttackType) == 0)
- {
- humanHP = HpMinusOne(humanHP);
- Console.WriteLine("Human HP minus 1");
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Human HP = " + humanHP);
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("");
- }
- else
- {
- Console.WriteLine("Human block");
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Human HP = " + humanHP);
- Console.ForegroundColor = ConsoleColor.White;
- Console.WriteLine("");
- }
- }
- //Если хп одного из участников битвы падает до 0, выходим из цикла и объявляем победителя
- else
- {
- endCounter = 0;
- if (humanHP == 0 && monsterHP != 0)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Monster Win!");
- Console.ForegroundColor = ConsoleColor.White;
- }
- else
- {
- if (monsterHP == 0 && humanHP != 0)
- {
- Console.ForegroundColor = ConsoleColor.Green;
- Console.WriteLine("Human Win!");
- Console.ForegroundColor = ConsoleColor.White;
- }
- else
- {
- Console.ForegroundColor = ConsoleColor.Yellow;
- Console.WriteLine("Draw!");
- Console.ForegroundColor = ConsoleColor.White;
- }
- }
- }
- }
- }
- static void RequstAttackType()
- {
- Console.Write("Input attack type: ");
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.Write("1 - physical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write(" or ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine("2 - magical");
- Console.ForegroundColor = ConsoleColor.White;
- }
- static void RequstDefenceType()
- {
- Console.Write("Input defence type: ");
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.Write("1 - physical");
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write(" or ");
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.WriteLine("2 - magical");
- Console.ForegroundColor = ConsoleColor.White;
- }
- static void WritePhyseType()
- {
- Console.ForegroundColor = ConsoleColor.Cyan;
- Console.Write(" physical ");
- Console.ForegroundColor = ConsoleColor.White;
- }
- static void WriteMagicalType()
- {
- Console.ForegroundColor = ConsoleColor.Blue;
- Console.Write(" magical ");
- Console.ForegroundColor = ConsoleColor.White;
- }
- static int HpMinusOne (int x)
- {
- return x - 1;
- }
- static int ComparisonTypsAttackAndDedfence (int x, int y)
- {
- if (x == y)
- {
- return 1;
- }
- else
- {
- return 0;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement