Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Strict
- {
- enum AttackType { Normal, Heavy, EnergyBlast}
- enum Button { Z, X, C}
- enum PlayerValue { Hp, Xp}
- class MainClass
- {
- struct Warrior
- {
- public string name;
- public int hp;
- public int xp;
- }
- static bool Attack(ref Warrior attacker, ref Warrior defender)
- {
- int atkValue = 0;
- AttackType atkType;
- bool isDead = false;
- atkType = AskForAtkType();
- switch (atkType)
- {
- case AttackType.Normal:
- atkValue = 100;
- break;
- case AttackType.Heavy:
- atkValue = 200;
- break;
- case AttackType.EnergyBlast:
- atkValue = 150;
- break;
- default:
- break;
- }
- defender.hp = defender.hp - atkValue;
- if(defender.hp <= 0)
- {
- isDead = true;
- }
- return isDead;
- }
- static AttackType AskForAtkType(AttackType atkType = AttackType.Normal)
- {
- char command;
- do
- {
- PrintRow();
- Console.WriteLine("Scegli un attacco: ");
- for (int i = 0; i < 3; i++)
- {
- Console.WriteLine($"{i}) {(Button)i} ({(AttackType)i})");
- }
- } while (!char.TryParse(Console.ReadLine().ToLower(), out command) && (command != 'z' || command != 'x' || command != 'c'));
- switch (command)
- {
- case 'z':
- atkType = AttackType.Normal;
- break;
- case 'x':
- atkType = AttackType.Heavy;
- break;
- case 'c':
- atkType = AttackType.EnergyBlast;
- break;
- default:
- break;
- }
- return atkType;
- }
- static void PrintRow()
- {
- for (int i = 0; i < 40; i++)
- {
- if(i == 0 || i == 39)
- {
- Console.Write("*");
- }
- else
- {
- Console.Write("=");
- }
- }
- Console.Write("\n");
- }
- public static void Main(string[] args)
- {
- var player = new Warrior();
- var defender = new Warrior();
- int xp = 100;
- player.xp = 0;
- player.hp = 500;
- player.name = "Player";
- defender.xp = 0;
- defender.hp = 500;
- defender.name = "Defender";
- do
- {
- Console.Clear();
- Console.WriteLine($"{player.name}: \n Hp: {player.hp}\n Xp: {player.xp}");
- Console.WriteLine($"{defender.name}: \n Hp: {defender.hp}\n Xp: {defender.xp}");
- } while (!Attack(ref player, ref defender));
- if (defender.hp < 0)
- {
- defender.hp = 0;
- }
- Console.Clear();
- player.xp += xp;
- Console.WriteLine($"{player.name}: \n Hp: {player.hp}\n Xp: {player.xp}");
- Console.WriteLine($"{defender.name}: \n Hp: {defender.hp}\n Xp: {defender.xp}");
- PrintRow();
- Console.WriteLine($"{defender.name} is dead! You gained {xp} Xp.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement