gf2:projekte:minecraft:2d1gruppe1

Dies ist eine alte Version des Dokuments!


X=0
Y=0
Z=150
zaehler=1
Teil2= False
Teil3= True
Hind1= True
Hind2=False
Hind3=False
Hind4=False
Hind4=False
zaehler2=1
 
def spielbediungen():
    gameplay.time_set(0)
    gameplay.set_difficulty(NORMAL)
    gameplay.set_game_mode(CREATIVE, mobs.target(ALL_PLAYERS))
    mobs.clear_effect(mobs.target(ALL_PLAYERS))
 
def raum1():
    player.execute("setworldspawn X Z Y")
    blocks.fill(BLACKSTONE, world(X-1,Z-1,Y-5), world(X+8,Z+11,Y+6))
    blocks.fill(AIR, world(X, Z, Y-4), world(X+7, Z+10, Y+5))
    blocks.fill(GLOWSTONE, world(X, Z-1, Y-1), world(X+7, Z-1, Y+1))
    blocks.fill(ANVIL, world(X+8, Z, Y-1), world(X+9, Z+2, Y+1))# anderer Block???
    blocks.fill(GLOWSTONE, world(X, Z-1, Y-1), world(X+7, Z-1, Y+1))
    raetselblock()
 
def raetselblock():# Blöcke fürs Rechnen(die Hinweis für den Zahlencode)
    blocks.fill(RESPAWN_ANCHOR, world(X, Z, Y-4), world(X+7, Z, Y-4),)
    blocks.fill(RESPAWN_ANCHOR, world(X, Z, Y+5), world(X+7, Z, Y+5),)
    blocks.fill(AIR, world(X+5, Z, Y-4), world(X+6, Z, Y-4),)
    blocks.place(AIR, world(X, Z, Y+5))
    blocks.place(AIR, world(X+4, Z, Y+5))
    # Decko hier hinzufügen
 
def dialog1(): # Text an Spieler einige Zeilen angenehmer zum Lesen
    player.say("Sei Gegrüsst Fremde*r")
    player.say("Der Weg zu den Schatzkammern der Magier ist dir verwehrt!")
    player.say("Zeige dich als Alchemist und gib nur die 3 Zahlen der Anordnung von Gold.")
    player.say("Für wackere Abenteurer*in gibt es 3 Tipps. Um sie zu erhalten schreibe «Tipp».")
 
def TippR1():# Für Tipps Durchgänge mit If+ Zähler
    global zaehler
    zaehler=zaehler+1
    if (zaehler==2):
        player.say("Tipp 1: In der Anordnung der Blöcke sind die Zahlen der Protonen, Elektronen, Neutronen versteckt")
 
    if (zaehler==3):
        player.say("Tipp 2: Die Protonen sind gleichviele wie die Elektronen.")
 
    if (zaehler==4):
        player.say("Tipp 3: Die Blöcke sind in zweimal in Modulo angeordnet von Süd nach Nord.")
 
    if (zaehler>4):
        player.say("Du hast leider schon alle Tipps aufgebraucht.")
 
def rantwort():
    blocks.fill(AIR, world (X+8, Z, Y-1), world(X+9, Z+2, Y+1))
    player.say("Tritt ein, doch sei gewarnt, denn nun eine Umkehr ist unmöglich. Eile nicht sonst bleibt dir der Weg verwehrt")
 
 
def on_travelled_walk():
    x = player.position().get_value(Axis.X)
    z = player.position().get_value(Axis.Y)
    y = player.position().get_value(Axis.Z)
 
    if (x==X+8) and (y==Y) and (z==z>Z+-2) and (z==z<2+Z):# Raum1 zu Raum 2 Türe zu
        blocks.fill(ANVIL, world (X+8, Z, Y-1), world(X+8, Z+2, Y+1))
 
        player.execute("spawnpoint @s 10, 151 0")
        mobs.apply_effect(LEVITATION, mobs.target(NEAREST_PLAYER), 10, 1)
        global Teil2
        Teil2 = True
    if (x==X+10):
        mobs.apply_effect(LEVITATION, mobs.target(NEAREST_PLAYER), 10, 1)
    if  (x==X+13) and (Z+14==z):
        player.execute("spawnpoint @s 18 163 0")
        player.say("gut gemacht")
    if ((X+21==x) or (x==X+22)) and ((Y+5==y) or (Y+6==y)) and (z==Z+14):
        global Hind1
        Hind1=False
        global Hind2
        Hind2= True
        player.say("gut gemacht noch ein Sprung")
        player.execute("spawnpoint @s 21 163 6")
    if (z==Z+10) and (X+23==x) or (X+24==x) and (y==Y+20) or (y==Y+21):
        global Hind2
        Hind2= False
        global Hind3
        Hind3= True
        player.say("sehr gut gemacht weiter so")
        player.execute("spawnpoint @s 23 160 21")
        if (zaehler2==1):
            global zaehler2
            zaehler2= zaehler2 +2
            mobs.give(mobs.target(NEAREST_PLAYER), ENDER_PEARL, 1)
    if ((X+15==x) or (X+14==x)) and (z==Z+16) and (y==Y+27) or (y==Y+28):
        global Hind3
        Hind3= False
        global Hind4
        Hind4= True
 
def raum2():
     blocks.fill(OBSIDIAN, world(X+9,Z-150,Y-2), world(X+13,Z+21,Y+2))# anderer Block???
     blocks.fill(AIR, world(X+10, Z-150, Y-1), world(X+12, Z+20, Y+1))
     blocks.fill(GLOWSTONE, world(X+10, Z-1, Y-1), world(X+12, Z-1, Y+1))
     blocks.fill(SEA_LANTERN, world(X+10, Z+13, Y-1), world(X+12, Z+13, Y+1))
     blocks.fill(SEA_LANTERN, world(X+10, Z+4, Y-1), world(X+11, Z+4, Y+0))
     blocks.fill(SEA_LANTERN, world(X+11, Z+9, Y), world(X+12, Z+9, Y+1))
     blocks.fill(GLOWSTONE, world(X+10, Z-150, Y-4), world(X+13, Z-150, Y+6))
     blocks.fill(SEA_LANTERN, world(X+10, Z+13, Y-1), world(X+12, Z+13, Y+1))
     blocks.fill(SEA_LANTERN, world(X+10, Z+18, Y-1), world(X+12, Z+18, Y))
     blocks.place(AIR, world(X+11, Z+13,Y))
     blocks.place(OBSIDIAN, world(10+X,Z-1,Y))
 
def blöckebewegen (M,x,z,y,x2,z2,y2,richx,richy,richz,länge,intervalldauer):# sie ist nich so schön fliessend jedoch meist besser geeignet
    running = True
    intervall=1
    gurke = gameplay.time_query(GAME_TIME)
    blocks.fill(M,world(x, z, y),world(x2, z2, y2)) # Block an erster Position bauen
    while gameplay.time_query(GAME_TIME) < gurke + länge: #zähler der ticks
        if gameplay.time_query(GAME_TIME) > gurke + intervall * intervalldauer: # immer weiter, wenn mindestens 10 Ticks vergangen sind...
                            blocks.fill(M,world(x + richx, z+richz, y+richy), world(x2 + richx, z2+richz, y2+richy)) # Block an neuer Position bauen
                            blocks.fill(AIR, world(x, z, y), world(x2, z2, y2)) # Block löschen
                            x = x + richx # Position anpassen
                            x2= x2+richx
                            y= y+richy
                            y2=y2+richy
                            z= z+richz
                            z2=z2+richz
                            intervall= intervall + 1
 
def blöckebewegen2 (M,x,z,y,x2,z2,y2,richx,richy,richz,länge,intervalldauer):# sie ist nich so schön fliessend jedoch meist besser geeignet
    running = True
    intervall=1
    gurke = gameplay.time_query(GAME_TIME)
    blocks.fill(M,world(x, z, y),world(x2, z2, y2)) # Block an erster Position bauen
    while gameplay.time_query(GAME_TIME) < gurke + länge: #zähler der ticks
        if gameplay.time_query(GAME_TIME) > gurke + intervall * intervalldauer: # immer weiter, wenn mindestens 10 Ticks vergangen sind...
                            blocks.fill(AIR, world(x, z, y), world(x2, z2, y2)) # Block löschen
                            blocks.fill(M,world(x + richx, z+richz, y+richy), world(x2 + richx, z2+richz, y2+richy)) # Block an neuer Position bauen
                            x = x + richx # Position anpassen
                            x2= x2+richx
                            y= y+richy
                            y2=y2+richy
                            z= z+richz
                            z2=z2+richz
                            intervall= intervall + 1
 
def raum3():
    blocks.fill(OBSIDIAN, world(X+13, Z+5, Y-2), world(X+25,Z+21,Y+50))
    blocks.fill(AIR, world(X+14, Z+6, Y-1), world(X+24, Z+20, Y+49))
    blocks.fill(LAVA, world(X+14, Z+6,Y-1), world (X+24, Z+8, Y+49))
    blocks.fill(AIR, world(X+13,Z+14,Y-1), world(X+13,Z+15,Y))
    blocks.fill(STONE, world(X+14,Z+13,Y-1), world(X+24,Z+13,Y))
    blocks.fill(STONE, world(X+21,Z+13,Y+5), world(X+22,Z+13,Y+6))
    while Hind1:
        blöckebewegen(STONE_BRICKS,X+14,Z+13,Y+2,X+13,Z+13,Y+3,2,0,0,35,5)
    while Hind2:
        blöckebewegen2(STONE_BRICKS, X+23, Z+10, Y+1, X+24, Z+10, Y+2, 0, 1, 0, 200,10)
    while Hind3:
        blöckebewegen (STONE_SLAB,X+22, Z+10, Y+21, X+21, Z+10, Y+20, -1, 1, 1, 160, 20)
    while Hind4:
        blöckebewegen (BRICKS,X+12, Z+13, Y+31, X+13, Z+13, Y+31, 2, 0, 0, 60, 30)
        blocks.fill(AIR, world(X+14,Z+13,Y+31), world(X+15,Z+13,Y+31))
 
 
spielbediungen()
raum1()
#player.teleport(world(X, Z, Y))
player.on_travelled(WALK, on_travelled_walk)
dialog1()
player.on_chat("Tipp", TippR1)
player.on_chat("79 79 118", rantwort)#mögliche Erweiterung mit Elementconstructor
raum2()
raum3()

Notizen für das Projekt

Beschreibung Ein Abenteuer-Rätselspiel Von Raum zu Raum durchkämpfen Sekundär eine mittelalterliche Burg als Dekohülle falls genug Zeit

Ziel Mehrere Rätsel und Aufgaben lösen, alle Räume abschliessen Schatz suchen/ stehlen und oder ein Geheimnis lüften …

Story (wird sich noch sicherlich noch ändern) Man ist ein wackerer Abenteuer und man möchte in die Schatzkammern/ Verliesse der Magier eindringen. Jedoch gibt es verschiedene Abwehrmassnahmen die man überwinden muss. Man möchte den Schatz und oder ein Geheimnis erbeuten.

Ablauf Man muss in verschiedene Räume Dort muss man jeweils die Aufgabe lösen. Alle gelöst, öffnet/führt zu einem Geheimgang und man muss ein letztes Rätsel lösen. Anweisungen durch den Chat

Am Schluss hat man die Wahl den Schatz zu nehmen oder etwas anderes (?) Wenn man den Schatz nimmt, löst sich der Boden auf und man fällt in die tiefe und alles Explodiert ,aber man stirbt nicht daran. Man kann dann aber auch nichts mehr machen. Eine letzte gehässige Nachricht erscheint, dabei bekommt der Spieler den Effekt Hunger, die Nachricht besagt: «iss dein Gold». Und man Verhungert.

Wenn man sich für das Andere entscheidet, wird der Boden zum Ender_Portal man fällt durch. Auf der anderen Seite wird man sofort über dem Portal tp. In dieser Zeit wir der Enterdrache getötet, das Portal wird aktiviert man fällt durch und es kommt der Spielabspann, den man nutzen könnte.

Hindernisse Ideen

Mehrere mögliche Möglichkeiten, je nach Schwierigkeit/Zeit können noch andere Aufgaben auftauchen.

1.Einen Block den man an der richtigen Stelle setzen muss (Geometrie Rätsel) 2.Knöpfe drücken, welche verschiedene Funktionen ausführen, richtige Reihenfolge ergibt den Weg. 3.Mit Effekten hochschweben und Blöcke(Fallen, Mobs… ausweichen. 4.«Chemie» Rätsel 5.Labyrinth 6.Wer hat Angst vor dem Einhorn, ich nicht… 7.« vielleicht ein paar Mobs zum bekämpfen».

Es gibt einmal noch die Möglichkeit direkt z u gewinnen aber auch zu verlieren.

  • gf2/projekte/minecraft/2d1gruppe1.1673253382.txt.gz
  • Zuletzt geändert: 2023/01/09 09:36
  • von aebischera