/* Autors: Rolands Zviedris 110. grupa Projekta nosaukums: Turn based rpg Projekta apraksts: RPG turn based spele kur gajienu seciba tiek noteikta pec speed stat. Kad veidots: 21.05.2026 Kada programas valoda: OnlineGDB */ using System; using System.Threading; using System.Collections.Generic; // Creates all values that are used for both Enemys and the Player public abstract class BaseStat { public string Name; public int MaxHP; public int CurrentHP; public float speed; public float CurrentAV; public float BaseAV; public virtual void basicMove (Character chosen, Enemy[] EArray, int turn) { Console.WriteLine("Method isnt overriden"); } } //Used for creating all current Enemys public class Enemy: BaseStat { public Enemy(string PName, int PHP, int CHP, int Pspeed) { Name = PName; MaxHP = PHP; CurrentHP = CHP; speed = Pspeed; BaseAV = 10000/ speed; CurrentAV = BaseAV; } public override void basicMove(Character chosen, Enemy[] EArray, int turn) { chosen.CurrentHP -= 8; Console.WriteLine($"Tev {EArray[turn].Name} izdarija 8 dmg"); EArray[turn].CurrentAV = BaseAV; } } //creates the players characters public class Character: BaseStat { public int skillPoint = 0; public int skillPointCost = 2; Random DMG = new Random(); public Character(string PName, int PHP, int CHP, int Pspeed) { Name = PName; MaxHP = PHP; CurrentHP = CHP; speed = Pspeed; BaseAV = 10000/ speed; CurrentAV = BaseAV; } //overriden basic attack method public override void basicMove(Character chosen, Enemy[] EArray, int turn) { int dealtDamage = DMG.Next(10, 25); Console.WriteLine($"\nTu izdariji {dealtDamage} damage"); EArray[turn].CurrentHP -= dealtDamage; skillPoint += 1; CurrentAV = BaseAV; } //method for the special move public void specialMove(Enemy[] EArray, int turn) { int specialDamage = (int)Math.Round(Math.Pow(DMG.Next(10, 15), 1.5)); Console.WriteLine($"\nTu izdariji {specialDamage} damage"); EArray[turn].CurrentHP -= specialDamage; skillPoint -= 2; CurrentAV = BaseAV; } } // izmantots prieks skaita cik daudz butu artifacti lai nevaretu viegli izmainit cik daudz lietas cilvekam patiesam ir class artifacts { private int itemCount; public int ItemCount { get {return itemCount;} set {itemCount = value;} } } //Currently not used maybe will implement it later guess it wasnt even needed enum Rarity { common, rare, epic, legendary } //Doesnt do anything was meant for a testing class test { static void testingM() { Console.Clear(); Console.WriteLine("It works?"); } } class HelloWorld { //array to make enemys have a random name public static string[] EnemyName = {"Andrej", "Rudolf", "Atomic", "Shadow", "Ralfs", "Adolf", "John Kaisen"}; static void Combat(Character chosen) { Array.Sort(EnemyName); bool duration = true; string yourAttack; Console.Clear(); //Random that im going to be reusing Random RNG = new Random(); int enemyC = RNG.Next(1, 5); int CName; int S; Enemy[] EArray = new Enemy[enemyC]; chosen.CurrentHP = chosen.MaxHP; // Creates a random amount of enemys for(int a = 0; aEArray[c].CurrentAV) { firstTurn = EArray[c].CurrentAV; actionTurn = c; } } for(int d = 0; d