Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| gf2:projekte:2024:minecraft:2d2gruppe3 [2025/04/13 22:19] – bluml | gf2: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 | ||
| - | |||
| # • " | # • " | ||
| - | |||
| # • " | # • " | ||
| - | |||
| # ------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------ | ||
| - | |||
| 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, | materials = [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, | return start_pos.add(positions.create(x, | ||
| - | | ||
| # 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:// | # Pseudozufallszahlengenerator https:// | ||
| - | |||
| def lcg(value=0): | def lcg(value=0): | ||
| - | |||
| global seed | global seed | ||
| - | | ||
| a, c, m = 1664525, 1013904223, 2**32 # Werte aus https:// | a, c, m = 1664525, 1013904223, 2**32 # Werte aus https:// | ||
| - | | ||
| 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], | blocks.fill(materials[0], | ||
| - | elif y == height - 1: | ||
| - | blocks.fill(AIR, | ||
| Zeile 349: | Zeile 313: | ||
| main(54, 18, 38, position(0, 0, 0)) | main(54, 18, 38, position(0, 0, 0)) | ||
| + | </ | ||