2022-02-21: Pygame Tetris ========================= .. sectnum:: Introductie ^^^^^^^^^^^ Vandaag implementeren we Tetris. De GIT-repository is te vinden op: https://github.com/takis-mosa/prog4-exercises/tree/main/src Zorg dat de testen in `test_t2_tetris.py` werken. Hiervoor dien je onder andere de methods van een class "Board" te implementeren. Als je deze class geimplementeerd hebt, dien je een tweede class af te werken: "PygameBoard". Deze erft van "Board" maar voegt de draw en draw_shape methods toe om respectievelijk het bord en de huidige blok te tekenen. .. literalinclude:: ./examples/pygame-tetris/pygametetris01.py :language: python :linenos: Hier zie je de voorstelling van een leeg bord: .. literalinclude:: ./examples/pygame-tetris/pygametetris-board_empty.py :language: python :linenos: Hier zie je de voorstelling van een bord met 2 geplaatste blokken, linksonder een vierkante blok in kleur 4, en uiterst rechts een rechthoekige blok van 4 blokken hoog met kleur 2: .. literalinclude:: ./examples/pygame-tetris/pygametetris-board.py :language: python :linenos: Vormen ^^^^^^ In het bestand `t2_tetris_shapes.py` vind je de voorstellingen van alle Tetris blokken, inclusief alle rotaties van de blokken. Hier zie je hoe de O vorm (vierkante blok) voorgesteld wordt: .. literalinclude:: ./examples/pygame-tetris/pygametetris02.py :language: python :linenos: Deze blok heeft slechts 1 rotatie. Hier zie je hoe de I vorm (lange rechthoekige blok) voorgesteld wordt: .. literalinclude:: ./examples/pygame-tetris/pygametetris03.py :language: python :linenos: Deze blok heeft 2 rotaties. Kleuren ^^^^^^^ In het bestand `t2_tetris_colors.py` vind je de kleuren die voor de blokken gebruikt kunnen worden. .. literalinclude:: ./examples/pygame-tetris/pygametetris-colors.py :language: python :linenos: Spel ^^^^ In het bestand `t2_testris_game.py` wordt het spel zelf met behulp van pygame geimplementeerd.