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() { Talalat = 0; while (Talalat ('A' + Meret - 1)) throw new Exception("Érvénytelen oszlop!"); if (sor < 1 || sor > Meret) throw new Exception("Érvénytelen sor"); LovesKezeles(oszlop, sor-1); } catch (Exception hiba) { Console.WriteLine(hiba.Message); continue; } } MezoRajzol(); Console.WriteLine("Vége a játéknak! Gratulálok!"); } 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++; } else { Jatekmezo[sor, oszlopSzam] = '.'; } } } private void MezoRajzol() { Console.Write(" "); for(int o = 0; o