~~NOTOC~~ ====== Spielprogrammierung mit PyGame ====== def schreibe(s, x, y, farbe = "white", groesse = 32): font = pygame.font.Font(None, groesse) text = font.render(s, True, farbe, "black") text_rechteck = text.get_rect() text_rechteck.center = (x, y) fenster.blit(text, text_rechteck) ===== Fertig-programmierte Spiele ===== * Solo-Pong, 2eNP (nur wenige Zeilen haben gefehlt): {{ :lehrkraefte:snr:informatik:glf23:python:solo-pong-2enp.py |}} * Solo-Pong, 2pg (der Fehler war: Versehentlich ''ballrichtung'' statt ''ballgeschwindigkeit'' in Zeile 89 geschrieben (was eine neue, nicht weiter verwendete Variable kreiert hat); hier das funktionsfähige Programm mit "diagonal" fliegendem Ball: {{ :lehrkraefte:snr:informatik:glf23:python:pong-solo-2pg.py |}} ===== Bibliothek Pygame (python game library) installieren ===== Öffne die Anwendung/App "Eingabeaufforderung" (= "command prompt" = "Befehlszeile", auf manchen Schul-Windows-Rechnern muss man "cmd" suchen). Gib dort den Befehl ''pip install pygame'' ein, gefolgt von ''Enter'': (''pip'' ist ein Paketverwaltungsprogramm für Python; pip ist ein Akronym für "pip installs packages", vgl. [[https://de.wikipedia.org/wiki/Pip_(Python)|]]) {{:lehrkraefte:snr:informatik:glf22:python:install-pygame.png?800|}} Bei Problemen: Vielleicht klappt das Folgende (nicht getestet): Probiere es mit ''python -m pip install pygame''. Auf Apple-Rechnern im Terminal ''pip3 install pygame'' eingeben. Auf manchen Windows-Rechnern machten vermutlich mehrere Python-Versionen Probleme; jedenfalls hat die Deinstallation aller Python-Versionen und Neuinstallation von Python geholften. ===== Einführung am Beispiel: Solo-Pong vertikal ===== Gemeinsames angeleitetes Programmieren: Solo-Pong, Schritt für Schritt. Letzten Schritt eventuell nicht erkären, damit man das Denken nicht ganz verlernt. Vorlage für Lehrer, eigentlich benötigt man nur die ersten beiden Seiten: {{ :lehrkraefte:snr:informatik:glf23:python:latex-pong-solo-fuer-lektion.pdf |}} ===== Aufgabe: Pong für zwei Spieler ===== Schreibe "Pong für zwei Spieler", Paddles am linken und rechten Spielfeldrand, Spielstand anzeigen. Der linke Spieler steuert beispielsweise mit den Tasten "s" und "w" nach oben und unten, der rechte mit den entsprechenden Pfeiltasten. ===== Aufgabe: Eigenes Spiel schreiben ===== Schreibe ein eigenes Spiel (oder verbessere das gemeinsam programmierte Solo-Pong)! Vorschläge: * Bewege ein Quadrat mit Hilfe der Pfeiltasten in alle vier Richtungen; sammle dabei "Äpfel" auf, die an zufälligen Orten entstehen; wer Listen kennt, kann versuchen, Snake zu programmieren * Zwei Spieler, jeder bewegt ein Quadrat (mit wasd bzw. Pfeiltasten); der eine muss den anderen fangen * Solo-Pong erweitern: * variabler Flugwinkel des Balls, zum Beispiel beim Abprall am Rand des Paddle * zwei Bälle * Spielgeschwindigkeit steigt * Bonus-Leben, wenn man zufällig erzeugte Punkte trifft * Breakout (dazu sollte man Listen kennen) ===== Link zur Kursseite ===== [[lehrkraefte:snr:informatik:glf23|Zur Kursseite]]