Majdnem kész

This commit is contained in:
István Priskin 2025-02-07 13:01:04 +01:00
parent 1e9d6a541a
commit 639b3bb44e
2 changed files with 42 additions and 4 deletions

View File

@ -10,7 +10,7 @@ namespace Torpedo
{
static void Main(string[] args)
{
TorpedoJatek jatek = new TorpedoJatek(18);
TorpedoJatek jatek = new TorpedoJatek(8);
jatek.Indul();
}
}

View File

@ -13,6 +13,8 @@ namespace Torpedo
public char[,] Jatekmezo { get; set; }
public int[] HajoHelye { get; set; }
private int Talalat;
public TorpedoJatek(int meret)
{
Meret = meret;
@ -45,16 +47,52 @@ namespace Torpedo
public void Indul()
{
while (true)
Talalat = 0;
while (Talalat<HajoMeret)
{
MezoRajzol();
Console.WriteLine("Lőjjél! pl.: F3");
Console.WriteLine("\nLőjjél! pl.: F3");
string loves = Console.ReadLine();
try
{
if (loves.Length < 2) throw new Exception("Túl rövid a lövés!");
char oszlop = loves[0];
int sor = int.Parse(loves.Substring(1));
if (oszlop < 'A' || oszlop > ('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(" ");