} //OK static void ZaistiZaidima(List <Zodis> likeTemosZodiai, string zaidejas, IVadybintiKartuviuDb vadybintiKartuviuDb) { int sansai = 0; string spejamasZodis = ZodzioGeneravimas(likeTemosZodiai, out int zodzioId); //sugeneruojam zodi is Zodziu duombazes Console.WriteLine(kartuves[0]); //isvedam pradini kartuviu vaizda Console.WriteLine("------------------------------------------------------------"); do { SpejamoZodzioVizualizacija(spejamasZodis, zaidejas, vadybintiKartuviuDb, sansai, zodzioId); // zodzio "uzkodavimas" arba kitaip pradine vizualizacija if (bandytosRaides.Count != 0) { Console.WriteLine($"Jūs jau bandėte spėti šias raides: {String.Join(" ", bandytosRaides)}"); //parašome kokias raides zaidejas jau bande } else { Console.WriteLine("Kolkas nebandėte nei vienos raidės"); } bandytosRaides.Add(RaidesArbaZodzioSpejimas(spejamasZodis, zaidejas, vadybintiKartuviuDb, sansai, zodzioId).ToUpper()); //iskvieciam spejimo metoda (ten pasitikrinam ar spejamas visas zodis) ir jeigu spejama raide, ja prisidedam prie bandytu saraso sansai += ZaidziamRaide(bandytosRaides[bandytosRaides.Count - 1], spejamasZodis, zaidejas, vadybintiKartuviuDb, sansai, zodzioId); //iskvieciam raides suzaidimo metoda, kuriame patirkinam ar raide yra jei yra perpiesiam vizualizacija, jei nera padidinam sansu kieki Console.WriteLine(kartuves[sansai]); Console.WriteLine("------------------------------------------------------------"); } while (sansai < 7); if (sansai == 7) { Pralaimejimas(zaidejas, vadybintiKartuviuDb, sansai, zodzioId); } } //OK
} //OK private static void Laimejimas(string zaidejas, IVadybintiKartuviuDb vadybintiKartuviuDb, int sansai, int zodzioId) { Console.WriteLine(); Console.WriteLine("--------------------------------------------------------"); Console.WriteLine(" Sveikiname, Jūs atspėjote žodį ir laimėjote šį žaidimą!"); Console.WriteLine("--------------------------------------------------------"); var arAtspejo = true; vadybintiKartuviuDb.PapildytiStatistika(zaidejas, sansai, arAtspejo, zodzioId); ArZaisiteDarKarta(); } //OK
} //OK private static void Pralaimejimas(string zaidejas, IVadybintiKartuviuDb vadybintiKartuviuDb, int sansai, int zodzioId) { Console.WriteLine(); Console.WriteLine(kartuves[7]); Console.WriteLine("----------------------------------"); Console.WriteLine("Deje, Jūs pralaimėjote šį žaidimą!"); Console.WriteLine("----------------------------------"); var arAtspejo = false; vadybintiKartuviuDb.PapildytiStatistika(zaidejas, sansai, arAtspejo, zodzioId); ArZaisiteDarKarta(); } //OK
public StatistikosIsvedimas(IVadybintiKartuviuDb vadybintiKartuviuDb) { _vadybintiKartuviuDb = vadybintiKartuviuDb; }
} //OK static void SpejamoZodzioVizualizacija(string spejamasZodis, string zaidejas, IVadybintiKartuviuDb vadybintiKartuviuDb, int sansai, int zodzioId) { Console.WriteLine($"Spėkite žodį iš {spejamasZodis.Length} raidžių"); Console.Write("("); int visuRaidziuAtspejimoPatikrinimas = 0; foreach (var raide in spejamasZodis) { if (bandytosRaides.Contains(raide.ToString().ToUpper())) { Console.Write($" {raide}"); visuRaidziuAtspejimoPatikrinimas += 1; } else { Console.Write(" _"); } } Console.Write(" )"); if (spejamasZodis.Length == visuRaidziuAtspejimoPatikrinimas) { Laimejimas(zaidejas, vadybintiKartuviuDb, sansai, zodzioId); } Console.WriteLine(); } //OK
} //OK static string RaidesArbaZodzioSpejimas(string spejamasZodis, string zaidejas, IVadybintiKartuviuDb vadybintiKartuviuDb, int sansai, int zodzioId) { string spejimas = string.Empty; Console.WriteLine("spėkite raidę arba visą žodį"); int x = 0; while (x != 1) { spejimas = Console.ReadLine(); if (!bandytosRaides.Contains(spejimas.ToUpper())) { if (!ArRaides(spejimas)) { Console.WriteLine("Neteisinga įvesti, prašome įvesti raidę arba visą žodį"); } else if (spejimas.Length > 1) { if (spejimas.Length != spejamasZodis.Length) { Console.WriteLine($"Jūs bandote spėti žodį, tam reikia parašyti {spejamasZodis.Length} raides, o jūs parašėte {spejimas.Length} "); } else if (spejimas.ToUpper() == spejamasZodis.ToUpper()) { Laimejimas(zaidejas, vadybintiKartuviuDb, sansai, zodzioId); } else { Pralaimejimas(zaidejas, vadybintiKartuviuDb, sansai, zodzioId); } } else { x = 1; } } else { Console.WriteLine($"Jūs jau badėte spėti {spejimas}"); } } return(spejimas); } //OK
} //OK static int ZaidziamRaide(string spejimas, string spejamasZodis, string zaidejas, IVadybintiKartuviuDb vadybintiKartuviuDb, int sansai, int zodzioId) { if (spejamasZodis.ToUpper().Contains(spejimas.ToUpper())) { SpejamoZodzioVizualizacija(spejamasZodis, zaidejas, vadybintiKartuviuDb, sansai, zodzioId); return(0); } else { Console.WriteLine($"Raidės {spejimas}, šiame žodyje nėra"); SpejamoZodzioVizualizacija(spejamasZodis, zaidejas, vadybintiKartuviuDb, sansai, zodzioId); return(1); } } //OK
public DuomenuApdorojimas(IVadybintiKartuviuDb vadybintiKartuviuDb) { _vadybintiKartuviuDb = vadybintiKartuviuDb; }