using System.Collections.Generic;
public class Player : ICanAttack
public int hitpoints { get; set; }
public int strength { get; set; }
public int defence { get; set; }
public int attack { get; set; }
public Location location;
public Player(string pName)
inventory = new List<Item>();
public void fight(Enemy mon)
var power = this.strength + this.attack;
var enemyPower = (mon.attack + mon.strength);
while (this.hitpoints > 0 && mon.hitpoints > 0)
damageTaken = enemyPower * rnd.Next(0, 3) - this.defence;
damageTaken = damageTaken > 0 ? damageTaken : 0;
this.hitpoints -= damageTaken;
var monsterDamageTaken = (power * rnd.Next(0, 3) - mon.defence);
monsterDamageTaken = monsterDamageTaken > 0 ? monsterDamageTaken : 0;
mon.hitpoints -= monsterDamageTaken;
Item Loot = mon.performDeath();
this.inventory.Add(Loot);
else if (this.hitpoints < 0)
Console.WriteLine("You have died. Try again...");
public override string ToString()
return "player " + name + " has " + hitpoints + " hitpoints, " + strength + " strength, " + defence + " defence, and " + attack + " attack.";