Kezdőoldal » Számítástechnika » Programozás » C# programozási feladat?

C# programozási feladat?

Figyelt kérdés

Egy játéktábla mezői kétféle módon vannak megjelölve (pl. * és -). Kezdetben minden mező azonos jelölésű (-), kivéve a játéktábla közepén lévő mező, valamint annak négy közvetlen szomszédja.

A játék során a felhasználó megadja a játéktábla egy

koordinátáját. A kiválasztott koordinátájú mező, illetve annak négy szomszédja az addigival ellentétes jelölésűre változik.

A játék akkor ér véget, ha a felhasználó minden mezőt *-ra tudott változtatni.


A játéktábla aktuális állapotát egy kétdimenziós logikai tömbben tárolja el!

Megvalósítandó metódusok:

1. static bool[,] Init()

A játéktábla kezdeti állapotát előállító metódus

2. static string State(bool[,] game)

A játéktábla aktuális állapotát string formában megadó metódus

3. static bool[,] Shoot(bool[,] game, int x, int y)

Kiválasztott pontra „lövést” megvalósító metódus

4. static bool IsOver(bool[,] game)

A metódus vizsgálja, hogy minden mező *-gá vált-e.


Egydimenziós tömböket tudok feltölteni, meg függvényeket meghívni, viszont itt teljesen megakadtam, hogy hogy fogjak hozzá. (Feltölteni pl. egy 8x8-as mátrixot, és akkor ott egyáltalán mi számít középnek? a 4;4 vagy az 5;5 koordinátájú elem? Mondjuk egy páratlan*páratlan táblánál ugye egyértelmű lenne. Aztán, milyen feltételekkel, milyen ciklussal valósítsam meg, hogy pl. a 2,7 koordinátájú pont, és a mellette lévő 4 (1,7 3,7 2,6 2,8) pontok is ellentétesre változzanak?


Ha valaki ráér megírni a programkódot (szétkommentelve, mert meg szeretném érteni, hogy hasonló feladatot meg tudjak csinálni), vagy valahogy rávezetne, hogy hogy kezdjek egyáltalán neki, azt nagyon megköszönném. :))


2018. okt. 5. 20:46
 1/5 anonim ***** válasza:
51%
Na jó, de mi az árajánlat?
2018. okt. 5. 21:10
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

kezdeném azzal, hogy biztos nem írom meg helyetted

sokkal többet tanulsz, ha te magad csinálod meg


amúgy hol van írva, hogy 8x8-as a tábla? lehet akár 5x5-ös vagy 7x7-es nem?

de lehet pont ott a kulcs a megoldásban, ha páros a szám


a 4 mező amit váltanod kell ott nem muszáj ciklust használnod


a metódusokat sorban megvalósítva eljutsz a megoldáshoz


írtál már saját metódust?

2018. okt. 5. 21:11
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
Nem írja a feladat sehol, hogy páros vagy páratlan tábla, bár lehet, hogy egyszerűen valahogy úgy kéne a közepét megtalálni, hogy felhasználó megadja a tábla méretét (feltételezzük, hogy négyzet alakú, tehát csak egy paramétert ad meg), és akkor a közepe: Math.Round((a+1)/2, 1) és akkor ha mondjuk 4,5, mert 8-at adott meg például, akkor 5 lesz és csókolom :D
2018. okt. 5. 21:45
 4/5 anonim ***** válasza:

inkább lefele kerekíts :)


am lehet párosnál 2-t kell alapul venni


na, de visszatérve a saját kódra, meddig jutottál már?

2018. okt. 5. 21:49
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

[link]


nem én írtam fent van a neten én csak felraktam ide

2018. okt. 6. 02:04
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!