ef:minecraftauftraege

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
ef:minecraftauftraege [2024/09/10 14:44] lehmannref:minecraftauftraege [2024/09/10 15:39] (aktuell) lehmannr
Zeile 20: Zeile 20:
   * Schreibe eine Funktion linieListe(l), welcher man eine Liste übergeben kann mit Materialien, und dann wird eine Linie aus diesen Materialien gebaut.   * Schreibe eine Funktion linieListe(l), welcher man eine Liste übergeben kann mit Materialien, und dann wird eine Linie aus diesen Materialien gebaut.
   * Schreibe eine Funktion Parkett(m1, m2, n), der man zwei Materialien und eine Zahl übergeben kann. Danach wird ein Schachbrettmuster der Breite und Länge n gebaut aus den Materialien m1 und m2.   * Schreibe eine Funktion Parkett(m1, m2, n), der man zwei Materialien und eine Zahl übergeben kann. Danach wird ein Schachbrettmuster der Breite und Länge n gebaut aus den Materialien m1 und m2.
-</WRAP> 
  
 +**Auftrag 3**\\
 +Schreibe ein Programm, welches deinen Agenten dazu bringt, Diamanten einzusammeln und Knochen nicht einzusammeln (bzw. wieder wegzuwerfen)\\
 +Erstelle dazu eine flache Welt und kopiere den untenstehenden Code in deinen Codebuilder.  \\
 +  * Das Feld ist 30x30 gross (0,-60,0) bis (30,-60,30)
 +  * Ich werde zufällig Knochen und Diamanten platzieren
 +  * Dein Agent soll die Diamanten aufsammeln und die Knochen nicht
 +  * Mit dem Chatbefehl build_arena kannst du die Arena bauen
 +  * Mit dem Chatbefehl spread_items kannst du Knochen und Diamanten verteilen
 +  * Du sollts den Code start schreiben, dieser beginnt mit teleport_agent, welche den Agenten zufällig in die Arena teleportiert. Danach kommen die Zeilen time1 und while...
 +
 +</WRAP>
  
-<sxh python>+<sxh python highlight:[38-41]>
 def build_arena(): def build_arena():
     blocks.fill(SANDSTONE, world(0,-61,0),world(30,-61,30))     blocks.fill(SANDSTONE, world(0,-61,0),world(30,-61,30))
Zeile 56: Zeile 66:
 player.on_chat("spread_items", spread_items) player.on_chat("spread_items", spread_items)
  
 +def teleport_agent():
 +    a = randint(1, 29)
 +    b = randint(1,29)
 +    agent.teleport(world(a, -60, b), WEST)
  
 def start(): def start():
-    for i in range(20):+    teleport_agent() 
 +    time1 = gameplay.time_query(GAME_TIME) 
 +    while gameplay.time_query(GAME_TIME)-time1<2000:
         #agent.turn_left()         #agent.turn_left()
         u = randint(1,3)         u = randint(1,3)
Zeile 71: Zeile 87:
 player.on_chat("start", start) player.on_chat("start", start)
  
-agent.detect(AgentDetection.BLOCK, FORWARD)+#agent.detect(AgentDetection.BLOCK, FORWARD)
  
-agent.inspect(AgentInspection.BLOCK, FORWARD)+#agent.inspect(AgentInspection.BLOCK, FORWARD)
  
-agent.get_item_detail(1)+#agent.get_item_detail(1)
 </sxh> </sxh>
  • ef/minecraftauftraege.1725972255.txt.gz
  • Zuletzt geändert: 2024/09/10 14:44
  • von lehmannr