Flaschendrehen als Computerspiel - Programmieren mit Python
Inzwischen gibt es unzählige Programmiersprachen auf der Welt. Bestimmt hast du schon von HTML, Java, C++ und Python gehört. Beherrscht man eine oder mehrere dieser Sprachen, kann man unzählige spannende Projekte umsetzen. Im folgenden Experiment lernst du die Programmiersprache Python etwas besser kennen, denn Python ist leicht zu bedienen und sehr Anfängerfreundlich. Außerdem ist die Anwendung auf vielen Laptops und Computern schon vorinstalliert. Ob das bei dir auch der Fall ist, kannst du ganz einfach testen. Hast du Windows als Betriebssystem, drücke dazu die Windowstaste + R, bei Mac und Linux öffnest du die Kommandozeile mit CMD + Leertaste. Hast du CMD.exe geöffnet, kannst du abfragen, ob auf deinem Gerät Python installiert ist. Dazu gibst du entweder python --version oder py --version ein und drückst die Entertaste. Nun zeigt die das Programm an, welche Python Version du installiert hast. Möchtest du wissen, wo genau du diese auf deinem Gerät findest, wiederhole die Abfrage mit where, wie hier im Bild zu sehen. Erhältst du eine Fehlermeldung ist Python noch nicht installiert.
Foto: eigene Darstellung/Ilka Müller
Um Flaschendrehen zu programmieren brauchst du nun noch eine Art Erweiterung für Python. Diese nennt sich Pygame. Wie du beides sehr einfach installieren kannst, lernst du in folgendem Video:
Video: https://www.youtube.com/watch?v=EKjALzLLgVs&t=556s
Super! Der schwierigste Teil ist geschafft und du kannst mit dem Programmieren loslegen. Öffne dazu IDLE (Python), Klicke in der Kopfzeile auf File und dann auf New File. Dies ist das Dokument in dem du programmierst. Das Ziel ist es eine Art Zufallsgenerator zu entwerfen, mit dem du und deine Freund*innen Flaschendrehen spielen könnten. Der fertige Code dazu könnte so aussehen:
Hier kommt die Erklärung, was die einzelnen Zeilen des Codes bedeuten :
# -*- coding: cp1252 -*- ist dafür da, dass in deinem Text später auch die Umlaute ä, ö und ü dargestellt werden können und muss dafür in der ersten oder zweiten Zeile deines Codes stehen. Python ist für Anfänger*innen sehr leicht zu bedienen. Damit du nicht durcheinanderkommst, hast du die Möglichkeit dir mit Hilfe von # Notizen in deinem Code zu machen, die später einfach nicht mit angezeigt werden. # Importieren der Module ist also nur eine Notiz dafür, welche Schritte im folgenden stattfinden. Es werden die Module pygame (Spieloberfläche), random (Zufallsgenerator) und sys (Anwendung schließen) benötigt. Deshalb musst du zuerst import pygame, import random, import sys eingeben. Um das Spiel zu starten, musst du go = True eingeben und pygame initiieren indem du pygame.init() eingibst.
Nun kannst du schon damit beginnen das Spiel zu designen. Dazu brauchst du zunächst ein Fenster, welches du frei gestalten kannst.
- Die Größe des Fensters bestimmst du mit screen = pygame.display.set_mode([width,height]) . Gibst du Zahlen für width (breite und height (höhe) ein, wird dein Fenster unterschiedlich groß.
- Für den Hintergrund suchst du dir ein beliebiges Stockfoto im Internet. Recherchiere dazu einfach auf Pexel oder Pixaby. Speichere das Foto als JPG im selben Ordner wie dein Programm. Gib nun Hintergrund = pygame.image.load("Name deines Bildes.JPG") ein. Achtung: Texte müssen für Python immer in Anführungszeichen geschrieben werden, damit diese auch als Text erkannt werden. Deshalb steht der Name deines Bildes in Anführungszeichen. Das gilt auch für die Namen deiner Freund*innen, die du später im Code noch eintragen kannst.
- Als nächstes Folgen die Befehle screen.blit(hintergrund,(0,0)), pygame.display.set_caption("Titel deines Spiels") und pygame.display.flip(), wobei du mit dem Befehl pygame.display.set_caption () einen Titel für dein Spiel aussuchen kannst. Achtung: Auch hier musst du wieder an die Anführungszeichen denken.
- Da Pygame zum Glück schon eine eigene Schriftart enthält, kannst du diese deshalb nutzen und im Befehl font = pygame.font.SysFont(Schriftart, Schriftgröße) als Schriftart None eingeben, außerdem kannst du eine Schriftgröße eingeben, die dir gefällt. also zum Beispiel 25.
- Nun musst du die folgenden Zeilen Code eingeben, damit eure Namen später auch auf dem Hintergrundbild deiner Spieloberfläche angezeigt werden: def textSchreiben(ausgabetext,farbe): , text = font.render(ausgabetext,True,farbe), size_rect = text.get_rect(center = (300/2,450/2)), screen.blit(text,size_rect), pygame.display.flip(). Wobei du mit size_rect = text.get_rect(center = (300/2,450/2)) bestimmen kannst wo genau in deinem Fenster später der Text angezeigt wird. Im Aktuellen Beispiel steht der Text auf halber Höhe 300/2 und halber Breite 450/2 deines Bildschirmes. Probiere hier gerne verschiedene Variationen aus.
- Der Code unter #Fenster schließen ist wichtig, da er dir später ermöglicht dein Spiel wieder zu schließen. (Ja auch das muss man als Programmierer*in bedenken :D) Das Modul sys, welches du zu Anfang importiert hast hilft dir dabei.
- Im letzten Teil programmierst du dann die zufällige Auswahl deiner Mitspielenden. if event.type == pygame.KEYDOWN: bedeutet, dass zufällig ein neuer Name gewählt wird, sobald du eine Taste deines Laptops oder Computers drückst. Du könntest diese Zeile auch ganz leicht verändern, sodass du dein Spiel mit der Maus steuerst. Gib dazu anstatt KEYDOWN einmal MOUSEBUTTONDOWN ein.
- x = random.randint(1,3) gibt an aus wie vielen Mitspielenden dein Zufallsgenerator wählt. In diesem Fall gibt es die Mitspielenden 1-3. Du kannst die Anzahl beliebig erweitern. if x == 1: textSchreiben ("Name_1", (0,0,0)) sagt deinem Zufallsgenerator welchen Namen er anzeigen soll, wenn er sich für Person 1 entschieden hat. Anstatt Name_1 gibst du deinen Namen oder den deiner Freund*innen ein. Die drei 0,0,0 codieren die Farbe deines Ausgabetextes. Hier kannst du richtig kreativ werden und die drei Werte beliebig verändern. So verfährst du für jede weitere Person. Nutze anstatt if jedoch elif.
#Informatik