Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| gf2:projekte:minecraft:2d1gruppe1 [2023/02/05 16:40] – emmeneggerm | gf2:projekte:minecraft:2d1gruppe1 [2023/02/26 07:31] (aktuell) – marroc | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | <code python> | + | <code python |
| X=0 | X=0 | ||
| Y=0 | Y=0 | ||
| Zeile 10: | Zeile 10: | ||
| Hind3=False | Hind3=False | ||
| Hind4=False | Hind4=False | ||
| - | Hind5=False | + | Hind5=False |
| Hind6=False | Hind6=False | ||
| zaehler2=1 | zaehler2=1 | ||
| Zeile 38: | Zeile 38: | ||
| blocks.place(AIR, | blocks.place(AIR, | ||
| blocks.place(AIR, | blocks.place(AIR, | ||
| - | | + | |
| def dialog1(): # Text an Spieler einige Zeilen angenehmer zum Lesen | def dialog1(): # Text an Spieler einige Zeilen angenehmer zum Lesen | ||
| player.say(" | player.say(" | ||
| Zeile 56: | Zeile 56: | ||
| if (zaehler==4): | if (zaehler==4): | ||
| player.say(" | player.say(" | ||
| + | |||
| if (zaehler==5): | if (zaehler==5): | ||
| player.say(" | player.say(" | ||
| Zeile 68: | Zeile 68: | ||
| - | def on_travelled_walk(): | + | def on_travelled_walk(): |
| - | x = player.position().get_value(Axis.X) | + | x = player.position().get_value(Axis.X) |
| z = player.position().get_value(Axis.Y) | z = player.position().get_value(Axis.Y) | ||
| y = player.position().get_value(Axis.Z) | y = player.position().get_value(Axis.Z) | ||
| Zeile 79: | Zeile 79: | ||
| global Teil2 | global Teil2 | ||
| Teil2 = True | Teil2 = True | ||
| - | if (x==X+10) and (z>Z-1): | + | if (x==X+10) and (z>Z-1):# Raum 2 schweben |
| mobs.apply_effect(LEVITATION, | mobs.apply_effect(LEVITATION, | ||
| - | if (x==X+13) and (Z+14==z): | + | if (x==X+13) and (Z+14==z): |
| player.execute(" | player.execute(" | ||
| - | if ((X+21==x) or (x==X+22)) and ((Y+5==y) or (Y+6==y)) and (z==Z+14): | + | if ((X+21==x) or (x==X+22)) and ((Y+5==y) or (Y+6==y)) and (z==Z+14):# Ab hier, die bewegenden |
| - | global Hind1 | + | global Hind1 |
| - | Hind1=False | + | Hind1=False |
| - | global Hind2 | + | global Hind2 |
| - | Hind2= True | + | Hind2= True # die neue Funktion wird aktiviert |
| - | player.execute(" | + | player.execute(" |
| if (z==Z+10) and (X+23==x) or (X+24==x) and (y==Y+20) or (y==Y+21): | if (z==Z+10) and (X+23==x) or (X+24==x) and (y==Y+20) or (y==Y+21): | ||
| global Hind2 | global Hind2 | ||
| Zeile 95: | Zeile 95: | ||
| Hind3= True | Hind3= True | ||
| player.execute(" | player.execute(" | ||
| - | if (zaehler2==1): | + | if (zaehler2==1): |
| global zaehler2 | global zaehler2 | ||
| zaehler2= zaehler2 +2 | zaehler2= zaehler2 +2 | ||
| Zeile 131: | Zeile 131: | ||
| | | ||
| - | def blöckebewegen (M, | + | def blöckebewegen (M, |
| running = True | running = True | ||
| intervall=1 | intervall=1 | ||
| Zeile 148: | Zeile 148: | ||
| intervall= intervall + 1 | intervall= intervall + 1 | ||
| - | def blöckebewegen2 (M, | + | def blöckebewegen2 (M, |
| running = True | running = True | ||
| intervall=1 | intervall=1 | ||
| Zeile 164: | Zeile 164: | ||
| z2=z2+richz | z2=z2+richz | ||
| intervall= intervall + 1 | intervall= intervall + 1 | ||
| + | |||
| def blöckebewegen3 (M, | def blöckebewegen3 (M, | ||
| running = True | running = True | ||
| Zeile 189: | Zeile 189: | ||
| blocks.fill(STONE, | blocks.fill(STONE, | ||
| blocks.place(OBSIDIAN, | blocks.place(OBSIDIAN, | ||
| - | while Hind1: | + | while Hind1: |
| blöckebewegen(STONE_BRICKS, | blöckebewegen(STONE_BRICKS, | ||
| while Hind2: | while Hind2: | ||
| Zeile 209: | Zeile 209: | ||
| player.say(" | player.say(" | ||
| player.say(" | player.say(" | ||
| - | player.say(" | + | player.say(" |
| player.say(" | player.say(" | ||
| - | player.say(" | + | player.say(" |
| - | + | ||
| - | def antworttod(): | + | def antworttod(): |
| player.teleport(world(X+11, | player.teleport(world(X+11, | ||
| player.execute(" | player.execute(" | ||
| player.say(" | player.say(" | ||
| player.say(" | player.say(" | ||
| - | player.say(" | + | player.say(" |
| - | player.say(" | + | player.say(" |
| mobs.apply_effect(HUNGER, | mobs.apply_effect(HUNGER, | ||
| mobs.apply_effect(FIRE_DAMAGE, | mobs.apply_effect(FIRE_DAMAGE, | ||
| Zeile 227: | Zeile 227: | ||
| mobs.give(mobs.target(NEAREST_PLAYER), | mobs.give(mobs.target(NEAREST_PLAYER), | ||
| n=n+1 | n=n+1 | ||
| - | | + | |
| - | def antwortend(): | + | def antwortend(): |
| - | player.say(" | + | player.say(" |
| player.teleport(positions.ground_position(pos(0, | player.teleport(positions.ground_position(pos(0, | ||
| - | | + | |
| spielbediungen() | spielbediungen() | ||
| raum1() | raum1() | ||
| Zeile 251: | Zeile 251: | ||
| **Ideen für das Projekt** | **Ideen für das Projekt** | ||
| + | |||
| Unser ursprünglicher Gedanke war eine Schatzsuche in einer mittelalterlichen Burg und oder die Entschärfung einer Bombe. | Unser ursprünglicher Gedanke war eine Schatzsuche in einer mittelalterlichen Burg und oder die Entschärfung einer Bombe. | ||
| Dabei muss man sich durch verschiedene Räume kämpfen. | Dabei muss man sich durch verschiedene Räume kämpfen. | ||
| Zeile 263: | Zeile 264: | ||
| **Ergebnisse aus den Ideen** | **Ergebnisse aus den Ideen** | ||
| + | |||
| Bei der aktuellen Version muss man sich durch drei Räume durchkämpfen. Wenn man das jeweilige Rätsel gelöst hat, öffnet sich der nächste Raum. Dabei wird man durch den Chat angeleitet. Bei ersten muss man sich einem Rätsel stellen. Beim Zweiten fliegt man hoch und muss Blöcken ausweichen. Beim Dritten ist es erforderlich sich über einen Lavasee zu bewegen. Am Schluss muss man sich entscheiden, | Bei der aktuellen Version muss man sich durch drei Räume durchkämpfen. Wenn man das jeweilige Rätsel gelöst hat, öffnet sich der nächste Raum. Dabei wird man durch den Chat angeleitet. Bei ersten muss man sich einem Rätsel stellen. Beim Zweiten fliegt man hoch und muss Blöcken ausweichen. Beim Dritten ist es erforderlich sich über einen Lavasee zu bewegen. Am Schluss muss man sich entscheiden, | ||
| Zeile 269: | Zeile 271: | ||
| **Blöcke Bewegen:** | **Blöcke Bewegen:** | ||
| + | |||
| Das Problem bestand darin, die Blöcke in verschiedenen Geschwindigkeiten zu bewegen. Dabei sollen sie nur eine bestimmte Bewegung vollführen und nicht unbegrenzt auf einer Achse weglaufen. | Das Problem bestand darin, die Blöcke in verschiedenen Geschwindigkeiten zu bewegen. Dabei sollen sie nur eine bestimmte Bewegung vollführen und nicht unbegrenzt auf einer Achse weglaufen. | ||
| Zeile 274: | Zeile 277: | ||
| **Fehlende Blöcke:** | **Fehlende Blöcke:** | ||
| + | |||
| Einige Blöcke, die im Inventar und auch in den Chatbefehlen vorhanden sind, stehen beim Programmieren nicht zur Verfügung. Das ist ärgerlich. | Einige Blöcke, die im Inventar und auch in den Chatbefehlen vorhanden sind, stehen beim Programmieren nicht zur Verfügung. Das ist ärgerlich. | ||
| **Absolute und relative Koordinaten: | **Absolute und relative Koordinaten: | ||
| + | |||
| Zuerst haben wir relative Koordinaten verwendet, was auch kein Problem war. Als wir aber Blöcke durch eine Interaktion ersetzen wollten, mussten wir auf absolute Koordinaten zurückgreifen. Sonst erscheinen die Blöcke nicht am gewünschten Ort, sondern an verschiedenen Orten, je nach der Position der Spielerfigur. | Zuerst haben wir relative Koordinaten verwendet, was auch kein Problem war. Als wir aber Blöcke durch eine Interaktion ersetzen wollten, mussten wir auf absolute Koordinaten zurückgreifen. Sonst erscheinen die Blöcke nicht am gewünschten Ort, sondern an verschiedenen Orten, je nach der Position der Spielerfigur. | ||
| **Programm Fehler:** | **Programm Fehler:** | ||
| + | |||
| Wir haben den Code kopiert und in verschiedenen Welten ausgeführt. Es zeigte sich, dass die Spawnpoints, | Wir haben den Code kopiert und in verschiedenen Welten ausgeführt. Es zeigte sich, dass die Spawnpoints, | ||
| + | |||
| + | ===== Presentation ===== | ||
| + | https:// | ||
| + | |||