Python - 10 - PONG játék OOP-vel Pythonban
A PONG játékot fogjuk OOP-re átírni. A tanfolyam célja megmutatni, hogy bár az OOP "stílus" nem kötelező, de erősen ajánlott... Ha nem értetted soha, hogy miért erőltetik mások az objektumokat, most talán egy lépéssel közelebb kerülhetsz.
Az OOP csak ránézésre nehéz
Ha viszont végigcsinálod az OOP-s tanfolyamot, a végére már profi leszel :)
Kezdőként nagy fába vágjuk a fejszénket. Megírjuk első OOP-s alkalmazásunkat. Nem lesz könnyű, mint ahogyan az OOP-t is nehéz elsőre befogadni. De a végére minden össze fog állni és mi magunk is remekül fogunk zsonglőrködni osztályokkal és példányokkal...
- A tanfolyam erősen épít a Python útvonal korábbi részeire.
- Azoknak a kezdő programozóknak ajánljuk akik csak most ismerkednek az OOP-val.
- A tanfolyam végére magabiztosan tudsz létrehozni saját osztályokat és lesz egy kialakult véleményed arról, mikor érdemes OOP-t használni.
- 1. Fájl létrehozása eredeti Turtle megnyitása
- 2. Specifikáció - több labda, több játékos
- 3. Osztályok megtervezése - persze nem véglegesen, de valahol el kell kezdeni
- 4. Osztályok létrehozása
- 5. Ablak osztály
- 6. Uto osztály definiálása
- 7. Labda osztály létrehozása
- 8. Pontszám az Uto osztályba
- 9. Pontszám, mint privát property
- 10. Pontszám kiírasa, statikus metódus
- 11. Uto osztály átnevezése Jatekosra
- 12. Játékos mozgatása felfelé
- 13. Játékos mozgatása lefelé
- 14. Billentyű megadása irányításhoz
- 15. Ablak billentyűfigyelése
- 16. Main program, ablak osztály példányosítása
- 17. Labda.mozogj()
- 18. Példány létrehozása cikulson kívül
- 19. Labda szabályrendszere a mozogj metódusba
- 20. Labda visszapattanása
- 21. Bal és jobb pontszám, osztályszíntű változó
- 22. Labda visszapatanásának átírása, szenvedéssel és sok hibával :)
- 23. Hibajavítás szekció elkezdődik
- 24. Pontszám osztályszíntű, hivatkozzunk rá osztályszintűként
- 25. Irányítás javítása
- 26. Viszapattanás debug
- 27. Visszapattan mindenhonnan
- 28. Pontszám kiírása
- 29. Kiírás frissítése
- 30. 2 labda létrehozása
- 31. Bal oldali játékosok, Jobb oldali játékosok csoportosítása
- 32. Játékosok lista
- 33. Labdák visszapattannak a játékosokról
- 34. Turtle paraméter a labdánál
- 35. Öröklés a gyakorlatban, Turtle test.py
- 36. turtle.py source code
- 37. Osztályok hívása
- 38. Értelmezzük a példány és az osztály szintaktikáját
- 39. Turtle osztály
- 40. Screenel probléma van
- 41. A Screen privát
- 42. A Screen singleton
- 43. from turtle import *, nem importálja a privátokat
- 44. Ablak egy függvény legyen inkább
- 45. Jatekos végre egy Turtle
- 46. A Játékos egy Turtle és meghívja a szülő__init__() függvényét
- 47. A labda is Turtle
- 48. Dokumentáció
- 49. if __name__ == "__main__"
- 50. 10 labda létrehozása
- 51. Még egy játékos
- 52. Zárszó
Vélemények
PONG OOP
Végül az i-re is feltehetjük a PONG-ot, ill. a pontot. :-) Ez a tanfolyam is szuper volt! Visszajeleznék, hogy a szándékos hibák debug-olása látványos. Ugyanis általában a hibákból is tanul az emberek többsége. Régebben ezért is voltak jók a hosszú Classic tanfolyamok, viszont hátrányként rengeteg időbe teltek.
PONG játék OOP-vel Pythonban
Már nagyon várom a folytatást!
Az oktatóról
Anyatejjel szívtam magamba az informatikát, Basic, Pascal, Delphi, .NET C#, Smalltalk után Pythonban élem az életem, a C mindig jó barát volt, a JavaScriptől ódzkodom, a HTML-hez kontár módon értek. A hálózatok mindig is érdekeltek, a Doom-ot még IPX/SPX-szel játszottuk hálóban. Mindig is vonzott a hackelés, jó móka volt az ARP poisoning, sokszor debuggolok Wiresharkkal meg Burppel, bár saját, élesben bevetett exploitot még nem írtam. Az SQL mindig ott volt mint jó társ, ma pedig körülöttem, és ahogyan világ körül is, az AI lebeg. Értem, hogy egyenlőre még nincs mesterséges intelligencia, nem kell félni! Hogy holnap mi lesz? Azt csak a NetAcademia tudja :P