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) static void Main(string[] args)
{ {
TorpedoJatek jatek = new TorpedoJatek(18); TorpedoJatek jatek = new TorpedoJatek(8);
jatek.Indul(); jatek.Indul();
} }
} }

View File

@ -13,6 +13,8 @@ namespace Torpedo
public char[,] Jatekmezo { get; set; } public char[,] Jatekmezo { get; set; }
public int[] HajoHelye { get; set; } public int[] HajoHelye { get; set; }
private int Talalat;
public TorpedoJatek(int meret) public TorpedoJatek(int meret)
{ {
Meret = meret; Meret = meret;
@ -45,14 +47,50 @@ namespace Torpedo
public void Indul() public void Indul()
{ {
while (true) Talalat = 0;
while (Talalat<HajoMeret)
{ {
MezoRajzol(); MezoRajzol();
Console.WriteLine("Lőjjél! pl.: F3"); Console.WriteLine("\nLőjjél! pl.: F3");
string loves = Console.ReadLine(); 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() private void MezoRajzol()