i

Übungen: Records


Aufgabe 1: Punkte im Koordinatensystem

Bestehende Datei - records.rkt

Koordinatensystem Ein Punkt in einem 2-dimensionalen kartesischen Koordinatensystem lässt sich über seine x- und y-Koordinaten definieren.

(a) Schreibe eine Record-Definition für einen 2-dimensionalen Punkt.

(b) Schreibe eine Funktion, die den Abstand zweier Punkte berechnet.

(c) Schreibe eine Funktion, die den Abstand eines Punktes zum Ursprung berechnet.

(d) Schreibe eine Funktion, die einen Punkt an der übergebenen Achse spiegelt.

(e) Setzte die Aufgaben (a) bis (d) für einen 3-dimensionalen-Punkt um.


Aufgabe 2: Tuxemon

Bestehende Datei - records.rkt

Im Spiel Tuxemon kann man Kreaturen verschiedener Typen sammeln und gegeneinander antreten lassen. Einen einfachen solchen Kampf möchten wir hier implementieren.

(a) Im unteren Bild siehst du drei Tuxemons sowie deren Namen. Die Tuxemons haben von links nach rechts die Typen: Feuer, Wasser und Gras. Implementiere einen geeigneten Record, um die Tuxemons abzubilden. Tuxemons


Je nach Typ sind die Tuxemon unterschiedlich effektiv gegeneinander. In der unteren Abbildung siehst du eine Tabelle, die dir anzeigt, gegen welchen anderen Typ ein Typ besonders effektiv (grün), neutral (grau) oder ineffektiv (rot) ist. Testbild (b) Schreibe eine Funktion, die für zwei Tuxemons überprüft, welcher als Gewinner hervorgeht. Bei einem Unentschieden soll ein Dummy-Tuxemon ohne Namen und Typ zurückgegeben werden.


Neben dem Typ besitzt jedes Tuxemon auch ein Level (1 bis 100). Beim Duell zweier Tuxemons kommt es also nicht nur auf den Typ, sondern auch auf das Level der Tuxemons an. Dabei gelten für unsere Implementierung die folgenden Regeln:

  1. Sind zwei Tuxemons vom selben Typ, gewinnt das Tuxemon mit dem höheren Level.
  2. Sind zwei Tuxemons von unterschiedlichem Typ und unterscheiden sich um weniger als 10 Level, gewinnt das Tuxemon, dessen Typ gemäß obiger Tabelle effektiv gegen den Gegner ist.
  3. Sind zwei Tuxemons von unterschiedlichem Typ und unterscheiden sich um mindestens 10 Level, gewinnt das Tuxemon mit höherem Level.

(c) Ergänze den Tuxemon-Record aus Aufgabenteil (a) und die Funktion aus Aufgabenteil (b) um die beschriebenen Eigenschaften.

Suche

v
100.137.2.3.1.3 Übungen: Records
Kopieren durch Anklicken

Rückmeldung geben