Kezdőoldal » Számítástechnika » Programozás » 2 hete kezdtem el Pythonozni...

2 hete kezdtem el Pythonozni és megakadtam egy programban?

Figyelt kérdés

Szóval egy kezdő torpedó játékot akarok készíteni.


[link]


Az a problémám, hogy a függvényben hogyan oldom meg, hogy a gép tudja, hogy melyik játékos jön és annak a listájába pakolja be a változókat?


ui: Elnézést ha nagyon gagyi a kódom :D



2019. máj. 15. 15:30
1 2 3
 21/24 tabaki ***** válasza:
Van még egy rejtett hiba: Találatkor nem törlöd a hajót. Ha a hülye játékos nem tartja magát a kiírt lehetőségekhez, és újra beírja az előbbit, a program még megtalálja a hajók között, tehát találatnak fogja fel, ezért ismét törölni akarja a koordinátáját, csakhogy az már nincs ott, ergo elszáll a program.
2019. máj. 18. 00:28
Hasznos számodra ez a válasz?
 22/24 tabaki ***** válasza:
És megint nem jól értettem meg valamit, ezúttal a while-nál: Úgy látom, az életek elfogyását csak a ciklus fordulásakor érzékeli, ha tehát Első kilövi Második összes hajóját, az attól még kap egy esélyt az ellenlövésre. Ezt vagy ki kell küszöbölni egy belső ellenőrzéssel, vagy úgy értelmezni, hogy tulajdonképpen egyszerre lőnek, ekkor viszont értékeléskor a döntetlen lehetőségét is be kell iktatni.
2019. máj. 18. 01:13
Hasznos számodra ez a válasz?
 23/24 anonim ***** válasza:
100%

Szóval ez 1x10 méretű táblán játszódik. Ok.


Ha megengeded, akkor kifejteném a konstruktív véleményem a megoldásodról. Remélem a segítségedre lesz. A komment végén van működő és reményeim szerint hibamentes kód.


A program jelenleg megengedi, hogy többször lőj ugyan oda.


Az iteratívan növekvő számsort én nem gépelném be. Pont ezt tudja csinálni az numpy.arange(1,11).


A lay_ship metódusban a random.randint(1,10) gond nélkül adhat egymás után két egyforma értéket ami azt eredményezheti, hogy két hajód egymáson hever. Néha hibásan futhat a kódod néha meg jól. Mielőtt appendelnéd le kell csekkolni, hogy benne van e már az az érték. Ha igen akkor újra sorsolsz.


A game fv.ben mindkét játékos lép mielőtt e végeredményt vizsgálnád. -> Ha az első játékos nyer a második még fölöslegesen lép egyet.


Elég sok minden duplán szerepel. A shoot_first illetve a shoot_second függvények majdhogynem ugyan azt csinálják. Az ilyen copy paste megoldásokat nagyon ajánlatos kerülni. Ha módosítani kell a kódot, akkor több helyen kell átírnod -> könnyű elcseszni és órákat tölthetsz a hibakereséssel.


Hibakereséshez és a program vizualizációjához tudod használni ezt: [link] vagy bármely hasonló eszközt.


És végül a kód:

[link]

2019. máj. 18. 01:28
Hasznos számodra ez a válasz?
 24/24 tabaki ***** válasza:

#23:

Hát, az én kódom bizony nem lett ilyen tisztességes, de azért én is bemutatom, hátha annak is van valami tanulsága:

[link]

Döntetlen-lehetőséggel:

[link]


Köszönöm a vizualizálós linket, hasznos.

2019. máj. 18. 08:39
Hasznos számodra ez a válasz?
1 2 3

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!