gf2:projekte:2024:minecraft:2d2gruppe3

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
gf2:projekte:2024:minecraft:2d2gruppe3 [2025/04/13 22:19] blumlgf2:projekte:2024:minecraft:2d2gruppe3 [2025/04/15 11:03] (aktuell) marroc
Zeile 1: Zeile 1:
 Gruppe 3 Gruppe 3
 +
 Idee: Eine Burg mit Türmchen; siehe Bild in Teamschat Idee: Eine Burg mit Türmchen; siehe Bild in Teamschat
 +
 Ziel: Den versteckten Schatz finden, welcher in der Burg versteckt ist.  Ziel: Den versteckten Schatz finden, welcher in der Burg versteckt ist. 
 +
 - Verwinkelte Räume (Labyrinth)  - Verwinkelte Räume (Labyrinth) 
  
  
 +<code python>
 **Code** **Code**
  
 # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
- 
 #  Nutzung #  Nutzung
- 
 #   In der Burg ist ein Schatz versteckt, den es zu finden gilt! #   In der Burg ist ein Schatz versteckt, den es zu finden gilt!
- 
 # #
- 
 #  Befehle #  Befehle
- 
 #   • "Sesam, öffne dich!" #   • "Sesam, öffne dich!"
- 
 #   • "Sesam, schliesse dich!" #   • "Sesam, schliesse dich!"
- 
 # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
- 
  
 MIN_PADDING = 3         # Mindestabstand zwischen Räumen und Aussenwand MIN_PADDING = 3         # Mindestabstand zwischen Räumen und Aussenwand
- 
 SIMPLIFY = 0            # Burg vereinfachen um sie schneller zu generieren SIMPLIFY = 0            # Burg vereinfachen um sie schneller zu generieren
- 
 TOWERS = True           # Türme generieren TOWERS = True           # Türme generieren
- 
 T_RADIUS = 3            # Radius der Türme T_RADIUS = 3            # Radius der Türme
- 
 seed = 54321            # Startwert für Pseudozufallszahlen seed = 54321            # Startwert für Pseudozufallszahlen
- 
  
 # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
- 
 # Die Koordinaten im Code folgen der Einteilung von Minecraft, nach der y die # Die Koordinaten im Code folgen der Einteilung von Minecraft, nach der y die
- 
 # Höhe ist. # Höhe ist.
- 
 # Bei blocks.fill wurde FillOperation.REPLACE zwecks Leserlichkeit weggelassen, # Bei blocks.fill wurde FillOperation.REPLACE zwecks Leserlichkeit weggelassen,
- 
 # da es sich um den Standartwert handelt. # da es sich um den Standartwert handelt.
- 
 # ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
- 
  
 CHUNK_HEIGHT = 6 # Festgelegt durch Höhe der Burgsegmente CHUNK_HEIGHT = 6 # Festgelegt durch Höhe der Burgsegmente
- 
 L = 0 L = 0
- 
 materials = [STONE_BRICKS, MOSSY_STONE_BRICKS, STONE_BRICK_STAIRS, STONE_BRICKS_SLAB, OXIDIZED_COPPER, CRACKED_STONE_BRICKS] materials = [STONE_BRICKS, MOSSY_STONE_BRICKS, STONE_BRICK_STAIRS, STONE_BRICKS_SLAB, OXIDIZED_COPPER, CRACKED_STONE_BRICKS]
- 
 start_pos = player.position() start_pos = player.position()
- 
  
 #----------------- #-----------------
- 
 # Hilfsfunktionen # Hilfsfunktionen
- 
 #----------------- #-----------------
- 
  
 # Relative Koordinaten unabhängig von der Bewegung des Spielers während der Ausführung # Relative Koordinaten unabhängig von der Bewegung des Spielers während der Ausführung
- 
 def position(x, y, z): def position(x, y, z):
- 
     return start_pos.add(positions.create(x, y, z))     return start_pos.add(positions.create(x, y, z))
-     
  
 # Funktion um Wert eine Position zu erhalten (da die Funktion position() mit .get_value() sonst nur Weltkoordinaten ausgibt) # Funktion um Wert eine Position zu erhalten (da die Funktion position() mit .get_value() sonst nur Weltkoordinaten ausgibt)
- 
 def get(pos: Position, axis): def get(pos: Position, axis):
- 
     return pos.to_world().get_value(axis) - start_pos.get_value(axis)     return pos.to_world().get_value(axis) - start_pos.get_value(axis)
-     
  
 # Pseudozufallszahlengenerator https://de.wikipedia.org/wiki/Kongruenzgenerator#Linearer_Kongruenzgenerator # Pseudozufallszahlengenerator https://de.wikipedia.org/wiki/Kongruenzgenerator#Linearer_Kongruenzgenerator
- 
 def lcg(value=0): def lcg(value=0):
- 
     global seed     global seed
-     
     a, c, m = 1664525, 1013904223, 2**32 # Werte aus https://www.columbia.edu/~ks20/4106-18-Fall/Simulation-LCG.pdf     a, c, m = 1664525, 1013904223, 2**32 # Werte aus https://www.columbia.edu/~ks20/4106-18-Fall/Simulation-LCG.pdf
-     
  
     if value == 0:     if value == 0:
-     
         seed = (seed * a + c) % m         seed = (seed * a + c) % m
         return seed / m         return seed / m
Zeile 213: Zeile 179:
                     if y == 0:                     if y == 0:
                         blocks.fill(materials[0], position(x_now, y_now, z_now), position(x_now + 16, y_now, z_now + 16)) # Öffnung zum Boden schliessen                         blocks.fill(materials[0], position(x_now, y_now, z_now), position(x_now + 16, y_now, z_now + 16)) # Öffnung zum Boden schliessen
-                    elif y == height - 1: 
-                        blocks.fill(AIR, position(x_now + 3, y_now + CHUNK_HEIGHT, z_now + 3), position(x_now + 13, y_now + CHUNK_HEIGHT, z_now + 13)) # Ausgang in Richtung Dach erzeugen 
  
  
Zeile 349: Zeile 313:
  
 main(54, 18, 38, position(0, 0, 0)) main(54, 18, 38, position(0, 0, 0))
 +</code>
  • gf2/projekte/2024/minecraft/2d2gruppe3.1744575553.txt.gz
  • Zuletzt geändert: 2025/04/13 22:19
  • von bluml