1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Dr. Scheme Problem

    • Frage
  • retrogamer2k6
  • 21. Juni 2006 um 18:05
  • Unerledigt
  • retrogamer2k6
    2
    retrogamer2k6
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 21. Juni 2006 um 18:05
    • #1

    Ich hab jetzt folgendes geschrieben;


    (turtles)
    (define (turn1)
    (turn 270))
    (turn 90)
    (draw 100)
    (turn1)
    (draw 100)
    (turn1)
    (draw 100)
    (turn1)
    (draw 95)
    (turn1)
    (draw 95)
    (turn1)
    (draw 90)
    (turn1)
    (draw 90)
    (turn1)
    (draw 85)
    (turn1)
    (draw 85)
    (turn1)
    (draw 80)
    (turn1)
    (draw 80)
    (turn1)
    (draw 75)
    (turn1)
    (draw 75)
    (turn1)
    (draw 70)
    (turn1)
    (draw 70)
    (turn1)
    (draw 65)
    (turn1)
    (draw 65)
    (turn1)
    (draw 60)
    (turn1)
    (draw 60)
    (turn1)
    (draw 55)
    (turn1)
    (draw 55)
    (turn1)
    (draw 50)
    (turn1)
    (draw 50)
    (turn1)
    (draw 45)
    (turn1)
    (draw 45)
    (turn1)
    (draw 40)
    (turn1)
    (draw 40)
    (turn1)
    (draw 35)
    (turn1)
    (draw 35)
    (turn1)
    (draw 30)
    (turn1)
    (draw 30)
    (turn1)
    (draw 25)
    (turn1)
    (draw 25)
    (turn1)
    (draw 20)
    (turn1)
    (draw 20)
    (turn1)
    (draw 15)
    (turn1)
    (draw 15)
    (turn1)
    (draw 10)
    (turn1)
    (draw 10)
    (turn1)
    (draw 5)
    (turn1)
    (draw 5)
    (turn1)

    Das ist sone Art Schnecke, die nach innen geht, nur ist es eben rechteckig. Also Strecke 100 Pixel, 90° Drehung, wieder 100 Pixel, 90° Drehung, Jetzt aber nur noch 95 pixel, wieder 90° Drehung,...

    Die Strecke nimmt dabei immer um 5 pixel ab.

    Wie kann ich das jetzt zusammenfassen mit <cond> <else> <let> oder was weis sich, denn so will mein Lehrer das sicher nicht sehen.

    Hiiiiiiiiilfe! :winking_face:

  • clemensp
    7
    clemensp
    Mitglied
    Reaktionen
    2
    Punkte
    462
    Beiträge
    82
    • 21. Juni 2006 um 18:22
    • #2

    lol gibts da keine schleifen ? :winking_face:

    play go
    http://www.goverband.at

  • pchris
    8
    pchris
    Mitglied
    Reaktionen
    1
    Punkte
    571
    Beiträge
    110
    • 21. Juni 2006 um 18:28
    • #3

    Is das LOGO ?

    Edit: Doch nicht ... Aber was is es dann ?

    "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end."

  • Spockman
    5
    Spockman
    Mitglied
    Punkte
    210
    Beiträge
    41
    • 21. Juni 2006 um 19:49
    • #4
    Zitat von retrogamer2k6

    Ich hab jetzt folgendes geschrieben;

    Den Grostzeil dieses Codes kannst Du mal wie folgt generieren:

    Code
    (defun make-seq (n sofar)
      (if (> n 100)
          sofar
        (make-seq (+ n 5) `((draw ,n) (turn1)
                            (draw ,n) (turn1)
                            (draw ,n) (turn1)
                            ,@sofar))))

    (ist Emacs-Lisp, sehr aehnlich Scheme) (make-seq 5 nil) liefert jetzt:

    ((draw 100) (turn1) (draw 100) (turn1) (draw 100) (turn1) (draw 95) (turn1) (draw 95) (turn1) (draw 95) (turn1) (draw 90) (turn1) (draw 90) (turn1) (draw 90) (turn1) (draw 85) (turn1) (draw 85) (turn1) (draw 85) (turn1) (draw 80) (turn1) (draw 80) (turn1) (draw 80) (turn1) (draw 75) (turn1) (draw 75) (turn1) (draw 75) (turn1) (draw 70) (turn1) (draw 70) (turn1) (draw 70) (turn1) (draw 65) (turn1) (draw 65) (turn1) (draw 65) (turn1) (draw 60) (turn1) (draw 60) (turn1) (draw 60) (turn1) (draw 55) (turn1) (draw 55) (turn1) (draw 55) (turn1) (draw 50) (turn1) (draw 50) (turn1) (draw 50) (turn1) (draw 45) (turn1) (draw 45) (turn1) (draw 45) (turn1) (draw 40) (turn1) (draw 40) (turn1) (draw 40) (turn1) (draw 35) (turn1) (draw 35) (turn1) (draw 35) (turn1) (draw 30) (turn1) (draw 30) (turn1) (draw 30) (turn1) (draw 25) (turn1) (draw 25) (turn1) (draw 25) (turn1) (draw 20) (turn1) (draw 20) (turn1) (draw 20) (turn1) (draw 15) (turn1) (draw 15) (turn1) (draw 15) (turn1) (draw 10) (turn1) (draw 10) (turn1) (draw 10) (turn1) (draw 5) (turn1) (draw 5) (turn1) (draw 5) (turn1))

    Ein bisschen musst Du jetzt noch dazubauen. Es ist wohl auch klar, wie Du von dieser Erzeugung zur Ausfuehrung kommst. Entweder ueber Makro, eval, oder anstatt den Code (symbolisch) aufzubauen direkt die entsprechenden Funktionen aufrufen.

  • retrogamer2k6
    2
    retrogamer2k6
    Mitglied
    Punkte
    15
    Beiträge
    2
    • 21. Juni 2006 um 19:49
    • #5

    Ich hab´s jetzt (mit Hilfe einiger kollegen) herausgefunden:

    (turtles)
    (define (Pyramide seite)
    (cond ((< seite 5))
    (else(draw seite)
    (turn 90)
    (Pyramide (- seite 5)))))

    Das ist das obere zusammengefasst :)

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung