Hindernisrennen

Hindernisrennen

Eine Funktion, die einen Kreis zeichnet.

kreis = (farbe, größe=8) ->
  fülle farbe
  wiederhole 10, ->
    vor größe
    links 36

Vorbereitungen

bildschirmleer()
geschwindigkeit 60

Zeichne den großen roten Kreis. Wir benennen den Kreis mit dem neuerpfad-Befehl, um später testen zu können, ob der Igel den Kreis berührt.

neuerpfad "rot"
stifthoch()
vor würfel [-200, -100, 0, 100, 200]
links würfel [90, -90]
vor würfel [-200, -100, 0, 100, 200]
stiftrunter()
kreis rot, 20

Nun beginnen wir einen neuen "Pfad", damit wir separat prüfen können, ob der Igel einen der blauen Kreise berührt.

neuerpfad "blau"
für i in [-3..3]
  für j in [-3..3]
    wenn i == j == 0 dann fortsetzen
    stifthoch()
    nachhause()
    vor 70*i
    links 90
    vor 70*j
    stiftrunter()
    kreis blau
stifthoch()
nachhause()

Tastenbedienung einrichten

taste 'k', -> vor 20
taste 'o', -> links 10

Eine kurze Anleitung ausgeben

nachricht "Benutze die Tasten 'k' und 'o', um den Igel zu
bewegen. Berührt der Igel den roten Kreis, dann hast Du
gewonnen. Berührt der Igel einen blauen Kreis, oder ist
die Zeit abgelaufen, dann hast Du verloren."

Jetzt starten wir den Countdown. Er läuft 15 Sekunden. Wenn er nicht vorher unterbrochen wird, dann wird die Funktion ausgeführt, die dem Befehl übergeben wird.

countdown_start 15, ->
  nachricht "Die Zeit ist abgelaufen!"
  stopskript()

Zum Schluss lassen wir "immer", also nach jedem Igelbefehl, testen, ob der rote oder einer der blauen Kreise berührt wird.

aktualisiere "immer", ->
  wenn berührt "rot"
    nachricht "Gewonnen!"
    stopskript()
  wenn berührt "blau"
    nachricht "Verloren!"
    stopskript()