faecher:informatik:oberstufe:modellierung:2018a:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:informatik:oberstufe:modellierung:2018a:start [16.12.2021 08:14] sbelfaecher:informatik:oberstufe:modellierung:2018a:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
-====== Schatzssuche ====== 
  
- 
-Im Folgenden sollen Teile eines Spiels implementiert werden, in dem zwei Schatzsucher auf 
-einem quadratischen Spielfeld, hier als „Welt“ bezeichnet, einen Schatz suchen. Die genauen 
-Spielregeln für die Schatzsuche selbst sind für die folgenden Aufgaben nicht relevant, es geht 
-lediglich darum, die Welt mit einem Schatz und den Suchern anzulegen und zu verwalten. 
- 
-{{ :faecher:informatik:oberstufe:modellierung:2018a:schatzkarte.drawio.png |}} 
- 
-In der Implementierung besitzt die Klasse ''Welt'' ein zweidimensionales Array zur Speicherung 
-des Spielfeldes. Das Attribut ''groesse'' gibt die Länge und Breite des Arrays an. Jedes Element 
-des Arrays entspricht einem Feld der Welt. Der Eintrag ''null''  im Array steht für ein 
-leeres Feld, andernfalls kann mit ''feld[i][j]'' die Figur in der ''i''-ten Zeile und ''j''-ten Spalte angesprochen werden. Eine Figur kann entweder ein Akteur oder ein Schatz sein. 
- 
-===== Teil 1 ===== 
- 
-{{:aufgabe.png?nolink  |}} 
-=== (T1A1) === 
- 
-Übertrage die UML-Klassendiagramme  -- ohne die Attribute und die Methoden -- auf dein Lösungsblatt und ergänze die Klassenbeziehungen, indem du die gerichteten Assoziationen und Vererbungen einzeichnest. 
- 
-{{ :faecher:informatik:oberstufe:modellierung:2018a:uml.png |}} 
- 
-**Anmerkung:** Für die folgenden Programmieraufgaben dürfen Methoden, die im obigen UML-Klassendigramm aufgeführt sind, auch benutzt werden, sofern in der konkreten Aufgabenstellung nichts anderes gefordert wird. Die Programmieraufgaben sind -- als Übung für die Abiturprüfung -- auf Papier zu lösen. 
----- 
-{{:aufgabe.png?nolink  |}} 
-=== (T1A2) === 
-Implementiere die Klasse ''Position'' aus dem UML-Klassendiagramm. 
- 
----- 
-{{:aufgabe.png?nolink  |}} 
-=== (T1A3) === 
- 
-Implementieren Sie einen Konstruktor ''Spiel(weltGroesse: int)'' so, dass eine 
-Welt der Größe ''weltGroesse'' mit zwei Schatzsuchern namens "Anton" und "Berta" 
-und einem Schatz im Wert von 50EUR erzeugt wird. Die Schatzsucher und der Schatz 
-sollen unter Verwendung der Methode ''figurZufaelligPlatzieren(figur: Figur)'' 
-aus der Klasse Welt eine zufällige Startposition erhalten. 
- 
-//Hinweis:// Sie dürfen davon ausgehen, dass die Methode ''figurZufaelligPlatzieren'' bereits implementiert ist. 
- 
- 
-----  
-{{:aufgabe.png?nolink  |}} 
-=== (T1A4) === 
- 
- 
-Implementiere Methode ''akteurNachLinks(akteur: Akteur): boolean'' 
-der Klasse Welt so, dass ein Akteur in der Welt um ein Feld nach links verschoben 
-wird, falls das entsprechend der Grenzen der Welt möglich ist und das Zielfeld nicht 
-bereits von einer anderen Figur besetzt ist.  
- 
-Die Methode soll ''true'' zurückgeben, falls die Verschiebung erfolgreich war, andernfalls ''false''. 
- 
-Die Information, wo sich eine Figur in der Welt befindet, ist an zwei Stellen gespeichert: Einerseits im Attribut ''position'' in der Klasse Figur, andererseits indirekt im Array ''feld'' der Klasse Welt. 
- 
- 
-----  
-{{:aufgabe.png?nolink  |}} 
-=== (T1A5) === 
- 
-Beschreibe wie die Methode ''akteurNachLinks'' jeweils abgeändert werden müsste, wenn man auf das Attribut ''position'' in der Klasse Figur bzw. das Array ''feld'' in der Klasse Welt verzichten würde. 
  • faecher/informatik/oberstufe/modellierung/2018a/start.1639638888.txt.gz
  • Zuletzt geändert: 16.12.2021 08:14
  • von sbel