/* Veidoja: Roberts Onzuls, Edgars Katajevs Grupa: 110 Praktiskais darbs: C# RPG spēle Izmantotais compiler: www.onlinegdb.com (C# .NET) */ using System; namespace RPGSpele { //Maģiju klase class Magic { private string _magicName; private int _cooldown; private int _mpc; //magic point cost private int _radius; private double _dmg; public Magic(string name, int cd, int mpc, int radius, double dmg) { _magicName = name; _cooldown = cd; _mpc = mpc; _radius = radius; _dmg = dmg; } public string GetName() { return _magicName; } public int GetMPC() { return _mpc; } public double GetDMG() { return _dmg; } } //Spēlētāju klase class Wizard { private string _name; private double _hp; private int _mp; private double _defence; private int _level; public Wizard(string name, double hp, int mp, double def, int lvl) { _name = name; _hp = hp; _mp = mp; _defence = def; _level = lvl; } //Maģiju lietošanas loģika public void CastMagic(Wizard target, Magic spell) { Console.WriteLine(this._name + " izmanto " + spell.GetName() + " uz " + target._name); //MP pret MPC pārbaude lai var izmantot maģiju if (this._mp >= spell.GetMPC()) { // Formula: Dzīvība - (Maģijas DMG * Spēletāja Defence / 100) double damageDealt = spell.GetDMG() * (target._defence / 100.0); this._mp -= spell.GetMPC(); target._hp -= damageDealt; //Rezultātu izvade Console.WriteLine("Rezultats: " + damageDealt.ToString("F2") + " bojājumi nodarīti."); Console.WriteLine(target._name + " HP tagad: " + target._hp.ToString("F2")); SpecialEffect(this, target, spell); } else { //Ja MP nepietik lai segtu MPC Console.WriteLine("Kļūda: " + this._name + "Nepietiek MP!"); } Console.WriteLine("--------------------------------------"); } public void SpecialEffect(Wizard caster, Wizard enemy, Magic spell) { // Metode kkādiem efektiem, piem. degšana, salšana utt. } //Vizuāli parāda HP un MP vērtības public void Dati() { Console.WriteLine("Tēls: " + _name + " | HP: " + _hp + " | MP: " + _mp); } } class Program { static void Main(string[] args) { //Izveido objektus klasēm Wizard w1 = new Wizard("Wizard", 190.0, 100, 69.0, 1); Wizard w2 = new Wizard("Electro Wizard", 150.0, 80, 67.0, 1); Magic m1 = new Magic("Fireball", 10, 20, 4, 22.0); Magic m2 = new Magic("Lightning", 12, 24, 1, 45.0); Console.WriteLine("=== RPG SIMULACIJA ==="); w1.Dati(); w2.Dati(); Console.WriteLine("--------------------------------------"); Console.WriteLine("Nospiediet Enter lai uzsāktu simulaciju"); Console.ReadKey(); // Simulācija: katrs izmanto spējas vienreiz w1.CastMagic(w2, m1); w2.CastMagic(w1, m2); Console.WriteLine("Simulācija pabeigta. Nospiediet Enter..."); Console.ReadKey(); } } }