Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added .vscode/launch.json
Empty file.
95 changes: 0 additions & 95 deletions CourseApp.Tests/DemoTest.cs

This file was deleted.

32 changes: 0 additions & 32 deletions CourseApp.Tests/TestClass1.cs

This file was deleted.

23 changes: 23 additions & 0 deletions CourseApp/Archer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;

namespace CourseApp
{
public class Archer : Player
{
public Archer(string name)
: base(name)
{
}

public override int DealDamage(bool useUlt)
{
if (useUlt)
{
Console.WriteLine($"{Name} ультанул, огненные стрелы");
return 0;
}

return Power;
}
}
}
2 changes: 1 addition & 1 deletion CourseApp/Country.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class Country

public Country()
{
Console.WriteLine($"Население, площадь и плоность не заданы");
Console.WriteLine($"Население, площадь и плотность не заданы");
}

public Country(int population, int area, double density)
Expand Down
23 changes: 23 additions & 0 deletions CourseApp/Knight.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;

namespace CourseApp
{
public class Knight : Player
{
public Knight(string name)
: base(name)
{
}

public override int DealDamage(bool useUlt)
{
if (useUlt)
{
Console.WriteLine($"{Name} ультанул, +30% к урону");
return Convert.ToInt32(Math.Floor(Power * 1.3));
}

return Power;
}
}
}
23 changes: 23 additions & 0 deletions CourseApp/Magician.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;

namespace CourseApp
{
public class Magician : Player
{
public Magician(string name)
: base(name)
{
}

public override int DealDamage(bool useUlt)
{
if (useUlt)
{
Console.WriteLine($"{Name} ультанул, пропуск хода");
return 0;
}

return Power;
}
}
}
167 changes: 167 additions & 0 deletions CourseApp/Player.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
using System;

namespace CourseApp
{
public class Player
{
private int health;
private int power;
private string name;
private bool isOnFire = false;
private bool frozen;
private int defaultHealth;
private int defaultPower;

public Player(string name)
{
this.Name = name;
Random random = new Random();
this.defaultHealth = random.Next(40, 70);
this.Health = this.defaultHealth;
this.defaultPower = random.Next(10, 20);
this.Power = this.defaultPower;
}

public int Health
{
get
{
return health;
}

set
{
if (value < 0)
{
throw new InvalidOperationException("Не верное значение");
}
else
{
health = value;
}
}
}

public int Power
{
get
{
return power;
}

set
{
if (value < 0)
{
throw new InvalidOperationException("Не верное значение");
}
else
{
power = value;
}
}
}

public string Name
{
get
{
return name;
}

set
{
if (value == " ")
{
Console.WriteLine("Нет значения");
}
else
{
name = value;
}
}
}

public virtual bool Frozen
{
get
{
return frozen;
}

set
{
value = false;
}
}

public virtual int DealDamage(bool useUlt)
{
return Power;
}

public virtual int GetDamage(int damage, string type)
{
if (Health - damage < 0)
{
Health = 0;
this.isOnFire = false;
}
else
{
Health -= damage;
}

if (this.isOnFire && type == "Archer")
{
return Health - 2;
}

if (damage == 0 && type == "Archer")
{
this.isOnFire = true;
}

if (this.frozen = true && type == "Magician")
{
this.frozen = false;
}

if (damage == 0 && type == "Magician")
{
this.frozen = true;
}

return Health;
}

public virtual bool UseUlt()
{
Random a = new Random();
int powerA = a.Next(1, 4);
return powerA == 2;
}

public int GetHealth()
{
return Health;
}

public int GetPower()
{
return Power;
}

public string GetName()
{
return Name;
}

public void RestoreStats()
{
this.Health = this.defaultHealth;
this.Power = this.defaultPower;
this.isOnFire = false;
}
}
}
Loading