08 Prüfungsvorbereitung

Einstieg in das Thema

Was braucht man an Vorwissen?

Das bisherige Wissen zu PyGame ist wichtig.

Worum geht es?

Die Prüfung steht an...

Wie bei processing auch geht es ja um Python, die Besonderheiten einer Umgebung lernt man schnell. Wie also prüft man Python in dieser Umegebung? Das wird jetzt gezeigt.

Was ist das Ziel?

Du sollst die Prüfung bestehen.

Erarbeitung

Theorie

Die Prüfungen sind bei algorithmischen Themen immer etwas anders, denn du sollst ja keine exotischen Befehle auswendig lernen. Es geht um Python, nicht um spezielle Umgebungen.

Du bekommst Aufgaben, bei denne du deine algorithmischen Fähigkeiten testen sollst. Zum einen sind da Aufgaben, bei denen Lücken zu füllen musst. Weiterhin gibt es Aufgaben, wo Code analysiert werden muss. Los gehts.

Ein wenig schwierigere Aufgaben

xs = [10, 30, 50, 70] for x in xs: pygame.draw.rect(screen, (255,255,0), (x, 20, 10, 10))
Aufgabe 1
Wie viele Rechtecke sind zu sehen? Wie groß sind diese?

Komplexere Aufgaben

breite = 100 hoehe = 1 for e in pygame.event.get(): if e.type == pygame.MOUSEBUTTONDOWN: .... pygame.draw.rect(screen, (255,255,255), (10, 10, ...., ....))
Aufgabe 2
Gegeben ist obiges Codefragment. breite und hoehe sind Breite und Höhe des Rechtecks. Vervollständige den Code so, dass das Rechteck bei jedem Klick 2 Pixel schmaler und höher wird.
Aufgabe 3
Zusatz: Bleibt der Flächeninhalt des Rechtecks immer gleich?
Aufgabe 4
Erstelle mit zwei Schleifen und Linienbefehlen ein Raster aus 10x10 Quadraten mit Kantenlänge 20. Linien von P1 nach P2 zeichnen kann man mit
pygame.draw.line(screen, (255,255,255), (x1, y1), (x2, y2), 3)

Aufgabenlösungen

In der Liste sind 4 Elemente, die Schleife geht durch alle Elemente. Somit hat man vier Rechtecke.

breite = 100 hoehe = 1 for e in pygame.event.get(): if e.type == pygame.MOUSEBUTTONDOWN: breite = breite - 2 hoehe = hoehe + 2 pygame.draw.rect(screen, (255,255,255), (10, 10, breite, hoehe))

Beide Variablen müssen bei Mausklick verändert werden. Nein, der Flächeninhalt bleibt nicht gleich. Er wird immer größer, bis m,an (fast) ein Quadrat hat und wird dann wieder kleiner.

for y in range(0, 11): pygame.draw.line(screen, (255,255,255), (0, y*20), (200, y*20), 3) for x in range(0, 11): pygame.draw.line(screen, (255,255,255), (x*20, 0), (x*20, 200), 3)

Man kommt am besten mit zwei Schleifen, die nacheinander ausgeführt werden hin. Jede zeichnet (Achtung!) 11 Linien, denn wir brauchen ja jeweils 10 Zwischenräume.

Zusammenfassung

Was muss man wissen / können?

Du hast nun hoffentlich ein Gefühl für die Aufgaben.

Wie geht es weiter?

Auf in die Prüfung!

Zurück
Weiter