Projekt:2019/RoverArena: Unterschied zwischen den Versionen

K
keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
Zeile 2: Zeile 2:
[[Datei:RoverArena Spielfeld.jpeg|center]]
[[Datei:RoverArena Spielfeld.jpeg|center]]


Im [https://datei.ngb.schule/RoverArena.zip Greenfoot-Szenario '''RoverArena'''] sollt ihr einen möglichst autonomen Mars-Rover programmieren, der möglichst viele ''Gesteine'' analysiert und das enthaltene ''Wasser'' in ''Mineralien'' umwandelt. Doch jeder Rover hat nur einen begrenzte Batterie und jede Aktion auf dem Mars kostet wertvolle ''Energie''. Daher gilt es zu entscheiden, wieviel von dem Wasser in Mineralien, und wieviel in Energie konvertiert werden soll.
Im [https://datei.ngb.schule/RoverArena.zip Greenfoot-Szenario '''RoverArena'''] sollt ihr einen möglichst autonomen Mars-Rover programmieren, der möglichst viele ''Gesteine'' analysiert und das enthaltene ''Wasser'' in ''Mineralien'' umwandelt. Doch jeder Rover hat nur eine begrenzte Batterie und jede Aktion auf dem Mars kostet wertvolle ''Energie''. Daher gilt es zu entscheiden, wie viel von dem Wasser in ''Mineralien'', und wie viel in ''Energie'' konvertiert werden soll.


{{Hinweis|Download der RoverArena: [https://datei.ngb.schule/RoverArena.zip '''RoverArena.zip''' (Version vom 17.12.2019)]
{{Hinweis|Download der RoverArena: [https://datei.ngb.schule/RoverArena.zip '''RoverArena.zip''' (Version vom 17.12.2019)]


<small>''Um eure Version der RoverArena zu akualisieren macht ihr eine Sicherungskopie eurer Rover-Datei (z.B. <code>BoringRover.java</code>), entpackt die neue <code>RoverArena.zip</code> und kopiert die Rover-Datei in den neuen Projektordner.''</small>
<small>''Um eure Version der RoverArena zu aktualisieren macht ihr eine Sicherungskopie eurer Rover-Datei (z.B. <code>BoringRover.java</code>), entpackt die neue <code>RoverArena.zip</code> und kopiert die Rover-Datei in den neuen Projektordner.''</small>




Zeile 22: Zeile 22:
|-
|-
|<code>getEnergie()</code>
|<code>getEnergie()</code>
|Die verbleibende Energieladung in der Batterie des Rovers. Jede Aktion kostet ein wenig Energie. Ist die Batterie leer, kann der Rover nichts mehr machen. Daher sollte er versuchen vorher etwas ''Wasser'' in ''Energie'' zu konvertieren. Jeder Rover startet mit einer volen Ladung von 1000.
|Die verbleibende Energieladung in der Batterie des Rovers. Jede Aktion kostet ein wenig Energie. Ist die Batterie leer, kann der Rover nichts mehr machen. Daher sollte er versuchen, vorher etwas ''Wasser'' in ''Energie'' zu konvertieren. Jeder Rover startet mit einer vollen Ladung von 1000.
|-
|-
|<code>getMineralien()</code>
|<code>getMineralien()</code>
| Die Menge an Mineralien, die biher konvertiert wurde. Der Rover, der am Ende die meisten Mineralien gesammlet hat, gewinnt die Runde.
| Die Menge an Mineralien, die bisher konvertiert wurde. Der Rover, der am Ende die meisten Mineralien gesammelt hat, gewinnt die Runde.
|}
|}


Zeile 87: Zeile 87:
== Regeln ==
== Regeln ==


Ihr könnt euren Rover implementieren wie ihr möchtet und könnt. Jeder Rover in der RoverArena muss sich an die folgenden Regeln halten.
Ihr könnt euren Rover implementieren, wie ihr möchtet und könnt. Jeder Rover in der RoverArena muss sich an die folgenden Regeln halten.


# Jeder Rover wird in der <code>act()</code>-Methode implementiert.
# Jeder Rover wird in der <code>act()</code>-Methode implementiert.
Zeile 109: Zeile 109:
name = "Mark Watney";
name = "Mark Watney";
</syntaxhighlight>
</syntaxhighlight>
auf etwas eigenes um.
auf etwas Eigenes um.


Wenn ihr eurer Rover-Klasse den Bezeichner <code>SimonRabeaNiwaRover</code> und den Namen <code>"Ronald van Rover"</code> gegeben hättet, dann müsste eure Rover-Klasse jetzt zum Beispiel so aussehen:
Wenn ihr eurer Rover-Klasse den Bezeichner <code>SimonRabeaNiwaRover</code> und den Namen <code>"Ronald van Rover"</code> gegeben hättet, dann müsste eure Rover-Klasse jetzt zum Beispiel so aussehen:
Zeile 128: Zeile 128:


== Den Rover programmieren ==
== Den Rover programmieren ==
Ihr programmiert das Verhalten eures Rovers in der <code>act()</code>-Methode. Wie ihr das macht, das ist euch überlassen, solange die Regeln oben eingehalten werden. Im Spiel gibt es einen Siedsrichter (Klasse <code>Referee</code>), der darauf aufpasst, dass euer Rover nicht mogelt.
Ihr programmiert das Verhalten eures Rovers in der <code>act()</code>-Methode. Wie ihr das macht, das ist euch überlassen, solange die Regeln oben eingehalten werden. Im Spiel gibt es einen Schiedsrichter (Klasse <code>Referee</code>), der darauf aufpasst, dass euer Rover nicht mogelt.


Ein Beispiel für einen Rover findet ihr in der Klasse <code>BoringRover</code>. Das Verhalten des dieses Rovers ist recht ... langweilig. Aber immerhin bewegt er sich und führt Aktionen aus. Es ist aber leicht möglich, einen deutlich effizienteren Rover zu erstellen.
Ein Beispiel für einen Rover findet ihr in der Klasse <code>BoringRover</code>. Das Verhalten des dieses Rovers ist recht ... langweilig. Aber immerhin bewegt er sich und führt Aktionen aus. Es ist aber leicht möglich, einen deutlich effizienteren Rover zu erstellen.
8.581

Bearbeitungen