/*Mikus, Tolkačevs, 110, Nosleguma_spele_MortalKombat, projekts būs kā mini modificēta versija mortal kombat spēlei, jo būs mazāk izvēlējamie cīnītāji, nebūs fatality, būs sitienu un spērienu veidi un būs speciālais uzbrukums un stati scīnītājiem Sākts veidots 22.05.2026, veidots Visual Studio 2022*/ using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading.Tasks; namespace Nosleguma_spele_MortalKombat { //klase glabā visu info par cīnītāju public class character { public string Vards { get; set; } public int HP { get; set; } public int Sejassitiens; public int Kermenasitiens; public int Sejassperiens; public int Kermenasperiens; public int Special; private bool specialUzbrukums = false; public bool SpecialUzbrukums { get { return specialUzbrukums; } set { specialUzbrukums = value; } } //konstruktors piešķir cīnītājam sākuma vērtības public character(string vards, int HP, int Sejassitiens, int Kermenasitiens, int Sejassperiens, int Kermenasperiens, int Special) { this.Vards = vards; this.HP = HP; this.Sejassitiens = Sejassitiens; this.Kermenasitiens = Kermenasitiens; this.Sejassperiens = Sejassperiens; this.Kermenasperiens = Kermenasperiens; this.Special = Special; } public abstract class Uzbruksana { public abstract void Cina(character cinitajs1, character cinitajs2); } public class Kauja : Uzbruksana { public override void Cina(character cinitajs1, character cinitajs2) { } } public class SuperSpecial : Uzbruksana { public override void Cina(character cinitajs1, character cinitajs2) { } } } public class Program { //metode izvēlas random uzbrukumu programmai public static int randomUzbrukums (character c) { Random random = new Random(); int randIzvele = random.Next(1, 5); switch (randIzvele) { case 1: Console.WriteLine($"{c.Vards} izmantoja sejas sitienu!"); return c.Sejassitiens; case 2: Console.WriteLine($"{c.Vards} izmantoja ķermeņa sitienu!"); return c.Kermenasitiens; case 3: Console.WriteLine($"{c.Vards} izmantoja sejas spērienu!"); return c.Sejassperiens; case 4: Console.WriteLine($"{c.Vards} izmantoja ķermeņa spērienu!"); return c.Kermenasperiens; default: return c.Sejassitiens; } } public static void Main(string[] args) { Console.WriteLine("C# Mortal Kombat"); Console.WriteLine("Spiežiet jebkuru taustiņu, lai sāktu spēlēt!"); Console.ReadKey(true); System.Threading.Thread.Sleep(1000); Console.Clear(); Console.WriteLine("Spēles noteikumi: "); Console.WriteLine("1.Vietās, kur prasa ievadīt ciparu, pēc cipara ievades jānospiež Enter."); Console.WriteLine("2.Lai veiktu speciālo uzbrukumu cīņas laikā, vispirms ir jāveic katrs uzbrukums vienu reizi."); Console.WriteLine("3.Spēlēt var 1 pret 1 vai pret programmu, kura visas darbības izvēlas randomā.(Programmai nav speciālais uzbrukums)"); Console.WriteLine("Ja viss ir izlasīts un saprasts, tad spiežiet Enter pogu, lai sāktu spēli:"); Console.ReadLine(); System.Threading.Thread.Sleep(2000); Console.Clear(); //masīvs ar visiem cīnītājiem un statiem character[] Character = { new character ( "Sub-Zero", 500, 50, 30, 60, 40, 150 ), new character ("Scorpion", 400, 60, 40, 70, 50, 160), new character ("Johnny Cage", 450, 40, 35, 75, 56, 145), new character ("Raiden", 475, 69, 54, 65, 43, 179), new character ("Sonya Blade", 370, 59, 34, 87, 67, 189), new character ("Kitana", 350, 60, 45, 80, 70, 160) }; Console.WriteLine("Ierakstiet 1, lai spēlētu 1 pret 1 (uz vienas un tās pašas platformas) vai ierakstiet 2, lai spēlētu pret random:"); int ievads = Convert.ToInt32(Console.ReadLine()); System.Threading.Thread.Sleep(2000); Console.Clear(); //1 pret 1 spēle if (ievads == 1) { Console.WriteLine("Cīnītāju izvēle"); while (true) { for (int i = 0; i < Character.Length; i++) { Console.WriteLine($"{i}.{Character[i].Vards} "); } Console.WriteLine("Lai izvēlētos cīnītājus, ievadiet divus skaitļus no 0 līdz 5: "); int izvele1 = Convert.ToInt32(Console.ReadLine()); int izvele2 = Convert.ToInt32(Console.ReadLine()); if (izvele1 == izvele2) { Console.WriteLine("Nevar izvēlēties vienu un to pašu cīnītāju!"); System.Threading.Thread.Sleep(2000); Console.Clear(); continue; } else if (izvele1>5 && izvele2>5) { Console.WriteLine("Nav ievadīts derīgs skaitlis!"); System.Threading.Thread.Sleep(2000); Console.Clear(); continue; } else if (izvele1 < -1 && izvele2 < -1) { Console.WriteLine("Nav ievadīts derīgs skaitlis!"); System.Threading.Thread.Sleep(2000); Console.Clear(); continue; } System.Threading.Thread.Sleep(2000); Console.Clear(); Console.WriteLine("Cīņa sākās!!!"); character c1 = Character[izvele1]; character c2 = Character[izvele2]; Console.WriteLine($"{c1.Vards} VS {c2.Vards}"); bool beigas = false; bool sejasSit = false; bool kermenaSit = false; bool sejasSper = false; bool kermenaSper = false; bool sejasSit2 = false; bool kermenaSit2 = false; bool sejasSper2 = false; bool kermenaSper2 = false; while (!beigas) { Console.WriteLine("1.Sejas sitiens"); Console.WriteLine("2.Ķermeņa sitiens"); Console.WriteLine("3.Sejas spēriens"); Console.WriteLine("4.Ķermeņa spēriens"); if (c1.SpecialUzbrukums) { Console.WriteLine("5.Speciālais uzbrukums"); } Console.WriteLine($"{c1.Vards} izvēlieties darbību no 1 līdz 5: "); int uzbrukt = Convert.ToInt32(Console.ReadLine()); int DMG = 0; switch (uzbrukt) { case 1: sejasSit = true; Console.WriteLine($"{c1.Vards} izmantoja sejas sitienu!"); DMG = c1.Sejassitiens; break; case 2: kermenaSit = true; Console.WriteLine($"{c1.Vards} izmantoja ķermeņa sitienu!"); DMG = c1.Kermenasitiens; break; case 3: sejasSper = true; Console.WriteLine($"{c1.Vards} izmantoja sejas spērienu!"); DMG = c1.Sejassperiens; break; case 4: kermenaSper = true; Console.WriteLine($"{c1.Vards} izmantoja ķermeņa spērienu!"); DMG = c1.Kermenasperiens; break; case 5: if (!c1.SpecialUzbrukums) { Console.WriteLine("Speciālais uzbrukums vēl nav pieejams!"); continue; } Console.WriteLine($"{c1.Vards} izmantoja speciālo uzbrukumu!"); DMG = c1.Special; c1.SpecialUzbrukums = false; sejasSit = false; kermenaSit = false; sejasSper = false; kermenaSper = false; break; default: Console.WriteLine("Nepareiza izvēle!"); continue; } //ja izmantoti visi 4 uzbrukumi, tad atbloķē speciālo uzbrukumu if (sejasSit && kermenaSit && sejasSper && kermenaSper && !c1.SpecialUzbrukums) { if (!c1.SpecialUzbrukums) { c1.SpecialUzbrukums = true; Console.WriteLine(); Console.WriteLine("Speciālais uzbrukums pieejams!"); } } c2.HP -= DMG; Console.WriteLine($"{c1.Vards} uzbruka {c2.Vards} un nodarīja {DMG} damage!"); Console.WriteLine($"{c2.Vards} HP: {c2.HP}"); if (c2.HP <= 0) { Console.WriteLine(); Console.WriteLine($"{c2.Vards} zaudēja!"); beigas = true; Console.WriteLine($"{c1.Vards} uzvarēja!"); Console.WriteLine("Spēles beigas!"); Console.WriteLine ("Nospiežiet 1, lai sāktu spēlēt no jauna vai jebkuru citu skaitli, lai beigtu programmu:"); int Beigas = Convert.ToInt32(Console.ReadLine()); // ja nospiež 1, tad spēle sākas no jauna if (Beigas == 1) { System.Threading.Thread.Sleep(3000); Console.Clear(); Main(args); return; } else { System.Threading.Thread.Sleep(3000); Environment.Exit(0); } } if (c2.SpecialUzbrukums) { Console.WriteLine("5.Speciālais uzbrukums"); } Console.WriteLine($"{c2.Vards} izvēlieties darbību no 1 līdz 5: "); int pretuzbrukt = Convert.ToInt32(Console.ReadLine()); int pretDMG = 0; switch (pretuzbrukt) { case 1: sejasSit2 = true; Console.WriteLine($"{c2.Vards} izmantoja sejas sitienu!"); pretDMG = c2.Sejassitiens; break; case 2: kermenaSit2 = true; Console.WriteLine($"{c2.Vards} izmantoja ķermeņa sitienu!"); pretDMG = c2.Kermenasitiens; break; case 3: sejasSper2 = true; Console.WriteLine($"{c2.Vards} izmantoja sejas spērienu!"); pretDMG = c2.Sejassperiens; break; case 4: kermenaSper2 = true; Console.WriteLine($"{c2.Vards} izmantoja ķermeņa spērienu!"); pretDMG = c2.Kermenasperiens; break; case 5: if (!c2.SpecialUzbrukums) { Console.WriteLine("Speciālais uzbrukums vēl nav pieejams!"); continue; } Console.WriteLine($"{c2.Vards} izmantoja speciālo uzbrukumu!"); pretDMG = c2.Special; c2.SpecialUzbrukums = false; sejasSit2 = false; kermenaSit2 = false; sejasSper2 = false; kermenaSper2 = false; break; default: Console.WriteLine("Nepareiza izvēle!"); continue; } //atbloķē speciālo uzbrukumu tāpat kā 1. spēlētājam if (sejasSit2 && kermenaSit2 && sejasSper2 && kermenaSper2 && !c2.SpecialUzbrukums) { if (!c2.SpecialUzbrukums) { c2.SpecialUzbrukums = true; Console.WriteLine(); Console.WriteLine("Speciālais uzbrukums pieejams!"); } } c1.HP -= pretDMG; Console.WriteLine($"{c2.Vards} uzbruka {c1.Vards} un nodarīja {pretDMG} damage!"); Console.WriteLine($"{c1.Vards} HP: {c1.HP}"); if (c1.HP <= 0) { Console.WriteLine(); Console.WriteLine($"{c1.Vards} zaudēja!"); beigas = true; Console.WriteLine($"{c2.Vards} uzvarēja!"); Console.WriteLine("Spēles beigas!"); Console.WriteLine ("Nospiežiet 1, lai sāktu spēlēt no jauna vai jebkuru citu skaitli, lai beigtu programmu:"); int Beigas = Convert.ToInt32(Console.ReadLine()); if (Beigas == 1) { System.Threading.Thread.Sleep(3000); Console.Clear(); Main(args); return; } else { System.Threading.Thread.Sleep(1000); Environment.Exit(0); } } } } } //pret randomu spēle else if (ievads == 2) { Console.WriteLine("Cīnītāju izvēle"); while (true) { for (int i = 0; i < Character.Length; i++) { Console.WriteLine($"{i}.{Character[i].Vards} "); } Console.WriteLine("Lai izvēlētos cīnītāju, ievadiet skaitli no 0 līdz 5: "); int izvele = Convert.ToInt32(Console.ReadLine()); if (izvele>5) { Console.WriteLine("Nav ievadīts derīgs skaitlis!"); System.Threading.Thread.Sleep(2000); Console.Clear(); continue; } else if (izvele < -1) { Console.WriteLine("Nav ievadīts derīgs skaitlis!"); System.Threading.Thread.Sleep(2000); Console.Clear(); continue; } Random random = new Random(); int randomIzvele = random.Next(0, Character.Length); while (randomIzvele == izvele) { randomIzvele = random.Next(0, Character.Length); } Console.WriteLine($"Random izvēlējās: {Character[randomIzvele].Vards}"); System.Threading.Thread.Sleep(3000); Console.Clear(); Console.WriteLine("Cīņa sākās!!!"); character c1 = Character[izvele]; character c2 = Character[randomIzvele]; Console.WriteLine($"{c1.Vards} VS {c2.Vards}"); bool beigas = false; bool sejasSit = false; bool kermenaSit = false; bool sejasSper = false; bool kermenaSper = false; while (!beigas) { Console.WriteLine("1.Sejas sitiens"); Console.WriteLine("2.Ķermeņa sitiens"); Console.WriteLine("3.Sejas spēriens"); Console.WriteLine("4.Ķermeņa spēriens"); if (c1.SpecialUzbrukums) { Console.WriteLine("5.Speciālais uzbrukums"); } Console.WriteLine($"{c1.Vards} izvēlieties darbību no 1 līdz 5: "); int uzbrukt = Convert.ToInt32(Console.ReadLine()); int DMG = 0; switch (uzbrukt) { case 1: sejasSit = true; Console.WriteLine($"{c1.Vards} izmantoja sejas sitienu!"); DMG = c1.Sejassitiens; break; case 2: kermenaSit = true; Console.WriteLine($"{c1.Vards} izmantoja ķermeņa sitienu!"); DMG = c1.Kermenasitiens; break; case 3: sejasSper = true; Console.WriteLine($"{c1.Vards} izmantoja sejas spērienu!"); DMG = c1.Sejassperiens; break; case 4: kermenaSper = true; Console.WriteLine($"{c1.Vards} izmantoja ķermeņa spērienu!"); DMG = c1.Kermenasperiens; break; case 5: if (!c1.SpecialUzbrukums) { Console.WriteLine("Speciālais uzbrukums vēl nav pieejams!"); continue; } Console.WriteLine($"{c1.Vards} izmantoja speciālo uzbrukumu!"); DMG = c1.Special; c1.SpecialUzbrukums = false; sejasSit = false; kermenaSit = false; sejasSper = false; kermenaSper = false; break; default: Console.WriteLine("Nepareiza izvēle!"); continue; } if (sejasSit && kermenaSit && sejasSper && kermenaSper && !c1.SpecialUzbrukums) { if (!c1.SpecialUzbrukums) { c1.SpecialUzbrukums = true; Console.WriteLine(); Console.WriteLine("Speciālais uzbrukums pieejams!"); } } c2.HP -= DMG; int pretDMG = randomUzbrukums(c2); c1.HP -= pretDMG; Console.WriteLine($"{c1.Vards} HP: {c1.HP}"); Console.WriteLine($"{c1.Vards} uzbruka {c2.Vards} un nodarīja {DMG} damage!"); Console.WriteLine($"{c2.Vards} HP: {c2.HP}"); if (c2.HP <= 0) { Console.WriteLine(); Console.WriteLine($"{c2.Vards} zaudēja!"); beigas = true; Console.WriteLine($"{c1.Vards} uzvarēja!"); Console.WriteLine("Spēles beigas!"); Console.WriteLine ("Nospiežiet 1, lai sāktu spēlēt no jauna vai jebkuru citu skaitli, lai beigtu programmu:"); int Beigas = Convert.ToInt32(Console.ReadLine()); if (Beigas == 1) { System.Threading.Thread.Sleep(3000); Console.Clear(); Main(args); return; } else { System.Threading.Thread.Sleep(1000); Environment.Exit(0); } } } } } } } }