using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Torpedo { internal class TorpedoJatek { public int Meret { get; set; } public int HajoMeret { get; set; } public char[,] Jatekmezo { get; set; } public int[] HajoHelye { get; set; } private int Talalat; public TorpedoJatek(int meret) { Meret = meret; Jatekmezo = new char[meret, meret]; MezotGeneral(); HajoMeret = 3; KifutAHajo(); } private void KifutAHajo() { Random rd = new Random(); int sor = rd.Next(Meret); int oszlop = rd.Next(Meret-HajoMeret+1); HajoHelye = new int[2]; HajoHelye[0] = sor; HajoHelye[1] = oszlop; } private void MezotGeneral() { for (int sor = 0; sor < Meret; sor++) { for (int oszlop = 0; oszlop < Meret; oszlop++) { Jatekmezo[sor, oszlop] = '~'; } } } public void Indul() { Console.WriteLine("TORPEDÓ JÁTÉK"); Talalat = 0; while (Talalat ('A' + Meret - 1)) throw new Exception("Érvénytelen oszlop!"); if (sor < 1 || sor > Meret) throw new Exception("Érvénytelen sor"); Console.Clear(); LovesKezeles(oszlop, sor - 1); } catch (Exception hiba) { Console.Clear(); Console.WriteLine(hiba.Message); continue; } } Console.Clear(); Console.WriteLine("Vége a játéknak! Gratulálok!"); MezoRajzol(); Console.ReadKey(); } private void LovesKezeles(char oszlop, int sor) { int oszlopSzam = oszlop-'A'; if (Jatekmezo[sor,oszlopSzam]!='~') { Console.WriteLine("Ez már volt!"); } else { if(sor == HajoHelye[0] && (oszlopSzam >= HajoHelye[1] && oszlopSzam <= HajoHelye[1]+HajoMeret-1)) { Jatekmezo[sor, oszlopSzam] = 'x'; Talalat++; Console.WriteLine("Találat!"); } else { Jatekmezo[sor, oszlopSzam] = '*'; Console.WriteLine("Nem talált!"); } } } private void MezoRajzol() { Console.Write("\n "); for(int o = 0; o