i

Zufallszahlen

In diesem Abschnitt lernst Du, wie man in einem Programm bestimmte Eigenschaften zufällige Werte annehmen lassen kann. Viele Spiele leben davon, dass bestimmte Dinge zufällig passieren, so dass der Spieler sie nicht voraussehen kann.

Programm zum Ausprobieren

Teste das folgende Programm, wobei Du es mindestens fünf mal starten solltest.

from random import *

WIDTH = 800    
HEIGHT = 600
TITLE = "Zufall"

raumschiff = Actor("raumschiff_gruen.png")

raumschiff.x = randrange(0,WIDTH)
raumschiff.y = randrange(0,HEIGHT)


def draw():
    screen.blit("sterne.png",(0,0))
    raumschiff.draw()
        

Erklärung

Die drei hervorgehobenen Zeilen sind neu; wir betrachten sie nacheinander:

from random import *

Um Zufallszahlen zu erzeugen, benötigt man Befehle, die nicht standardmäßig in der Programmiersprache Python eingebaut sind. Um diese Befehle zu benutzen, muss eine Befehlssammlung, eine so genannte Bibliothek, importiert werden. Die Bibliothek für Zufallszahlen heißt random (engl. random: Zufall). Wörtlich bedeutet die Zeile: „Aus der Bibliothek random importiere alle Befehle.“ Der Stern steht dabei für „alle Befehle“.

raumschiff.x = randrange(0,WIDTH)
raumschiff.y = randrange(0,HEIGHT)

weisen den Eigenschaften x und y des Objekts raumschiff zufällige Werte zu. Diese Werte liegen jeweils im Bereich (engl. range) zwischen dem ersten und dem zweiten Wert in der Klammer (wobei der zweite selbst nicht mehr vorkommen kann). Im ersten Fall kann z.B. die Eigenschaft x danach Werte zwischen 0 und 799 annehmen (weil WIDTH den Wert 800 hat).

Aufgabe 1: Zufällige Position auf der linken Bildschirmhälfte

Ändere das Programm so ab, dass das Raumschiff nur in der linken Hälfte des Bildschirms zufällig positioniert wird.

Aufgabe 2: Zufällige Position auf der unteren Bildschirmhälfte

Ändere das Programm so ab, dass das Raumschiff nur in der unteren Hälfte des Bildschirms zufällig positioniert wird.

Aufgabe 3: Zufälliger Winkel

Ergänze eines der Programme so, dass auch der Winkel einen zufälligen Wert zwischen 0 und 360° hat.

Aufgabe 4: Zufälliger Winkel "irgendwie nach oben"

Ändere das Programm so ab, dass das Raumschiff zwar einen zufälligen Winkel hat, aber trotzdem eine Richtung "irgendwie nach oben" hat.

Aufgabe 5: Reparierte Raumschiffe

Ändere das Programm aus dem Abschnitt "Verzögerte, einmalige Aktionen" so ab, dass eine Sekunde nach einem Treffer des Lasers das Raumschiff (natürlich repariert) wieder an oberen Fensterrand gesetzt wird. Die x-Koordinaten soll allerdings zufällig gewählt werden.

Suche

v
2.8.7.1
www.inf-schule.de/programmierung/spiele-python/zahlen-zufall/zufallszahlen

Rückmeldung geben