Idee
Unsere Idee ist auf dem Prinzip eines Labyrinthes aufgebaut. Da wir das ganze etwas spannender gestallten wollten, haben wir uns entschieden das Labyrinth in einem Schloss zu machen. Der interaktive Teil besteht darin, Schlüssel zu sammeln und den Weg aus dem Labyrinth zu einer Tür zu finden. Beim Labyrinth haben wir uns von Harry Potter inspirieren lassen. Genau gleich wie im Film, sollen die Treppen ein Hindernis darstellen. Allerdings sind sie nicht beweglich. Der ganze Raum wird aus Treppen bestehen, welche schlussendlich das Labyrinth bilden. Wir haben vor mit Python ein Schlüssel-Schloss Prinzip zu programmieren. Die Spieler sollen mit den gesammelten Objekten eine Tür öffnen können und damit das Spiel gewinnen. Das Schloss wird von Hand auf Minecraft gebaut.
Schloss-Labyrinth
Das Schloss ist die Grundlage für das Spiel. Das Gebäude wurde von Hand in Minecraft gebaut. Es ist geprägt von seiner enormen Grösse und verwirrendem Innenausbau, was den Effekt eines Labyrinthes verstärkt. Da das Labyrinth jeden Spieler fordern soll und man nicht von aussen auf den Weg sehen sollte, ist das integrierte Labyrinth in einem geschlossenen Gebäude für uns die optimalste Lösung.
Interaktives Spiel
Das Ziel des Spieles ist es zwei spezielle Objekte zu finden, was Bedingung ist um den Weg zu dem Schatz zu finden und somit zu gewinnen. Der ganze Ablauf ist in drei Teile unterteilt.
Programmieren
Um die Spieler und Spielerinnen durch das Spiel zu leiten, wurden Schilder programmiert, die zu gewissen Zeitpunkten erscheinen sollen.
Schlüssel-Schloss-Prinzip: Im ersten Teil des Spiels findet man einen Apfel, mit dem interagiert werden muss. Um das zweite spezielle Objekt, eine Honigflasche, zu finden muss das Öffnen einer Eisentüren gewährleistet sein. Der Spieler geht zu den verschiedenen Eisentüren, doch mit dem goldenen Apfel lässt sich nur eine einzige Eisentür öffnen. Programmiert wurde es folgender Weis: Bei der Eisentür wurde ein unterirdisches Konstrukt von Hand gebaut, das durch das Platzieren von Luft anstelle einer „Red-Stone-Fackel“ die Eisentür öffnen lässt. Während dem Spiel wird die Position kontrolliert. Steht der Spieler vor der vorgesehenen Eisentür wird an dieser Position kontrolliert, ob mit dem Apfel interagiert wurde. Dies geschieht durch einen programmierten Counter. Beim Vorhanden sein des goldenen Apfels wird ein Block in das unterirdische Konstrukt platziert. So lässt sich die Tür schlussendlich öffnen.
Unterirdisches Konstrukt:
Hat man die Honigflasche gefunden, müssen sich alle Türen öffnen lassen. Hierfür wurde das gleiche Prinzip angewendet wie beim Apfel. Allerdings wurde ein zweiter Counter programmiert. Jetzt ist der Weg durch das ganze Schloss offen und es muss nur noch der Schatz gefunden werden.
Überraschung: Als Zeichen, dass die Spieler gewonnen haben, sind Pferde programmiert worden, die erscheinen.
Link zur Welt: melanie_mia_leandra.mcworld
counter1 = 0
counter2 = 0
def on_forever():
x = player.position().get_value(Axis.X)
y = player.position().get_value(Axis.Y)
z = player.position().get_value(Axis.Z)
if (x==36) and (y==4) and (z==-69):
blocks.clone(world(60, 1, -71), world(60, 2, -71), world(36, 3, -71), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==61) and (y==4) and (z==-64):
blocks.clone(world(60, 1, -72), world(60, 2, -72), world(60, 3, -64), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==23) and (y==4) and (z==-68):
blocks.clone(world(60, 1, -73), world(60, 2, -73), world(24, 3, -66), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==25) and (y==11) and (z==-62):
blocks.clone(world(60, 1, -74), world(60, 2, -74), world(25, 10, -63), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==61) and (y==4) and (z==-65):
blocks.clone(world(60, 1, -75), world(60, 2, -75), world(61, 3, -66), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==25) and (y==11) and (z==-62):
blocks.clone(world(60, 1, -76), world(60, 2, -76), world(24, 10, -63), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==25) and (y==11) and (z==-62):
blocks.clone(world(60, 1, -77), world(60, 2, -77), world(25, 10, -60), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==53) and (y==27) and (z==-76):
blocks.clone(world(60, 1, -78), world(60, 2, -78), world(55, 26, -79), CloneMask.REPLACE, CloneMode.NORMAL)
if (x==22) and (y==4) and (z==-68):
if (counter1 == 1):
blocks.place(AIR, world(23, 2, -64))
if (x==18) and (y==4) and (z==-68):
if (counter2 == 2):
blocks.place(AIR, world(14, 2, -66))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==25) and (y==4) and (z==-71):
if (counter2 == 2):
blocks.place(AIR, world(26, 2, -71))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==44) and (y==4) and (z==-71):
if (counter2 == 2):
blocks.place(AIR, world(47,2,-71))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==48) and (y==4) and (z==-68):
if (counter2 == 2):
blocks.place(AIR, world(48, 2, -64))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==54) and (y==4) and (z==-65):
if (counter2 == 2):
blocks.place(AIR, world(58,2,-66))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==43) and (y==4) and (z==-77):
if (counter2 == 2):
blocks.place(AIR, world(48,2,-76))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==28) and (y==4) and (z==-78):
if (counter2 == 2):
blocks.place(AIR, world(24,2,-80))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==32) and (y==4) and (z==-82):
if (counter2 == 2):
blocks.place(AIR, world(38,2,-83))
else:
player.say ("Türe lässt sich nicht öffnen")
if (x==53) and (y==34) and (z==-81):
for i in range (10):
mobs.spawn(HORSE, pos(0, 0, 0))
def on_item_interacted():
global counter1
counter1 = 1
def in_item_interacted():
global counter2
counter2 = 2
player.on_item_interacted(GOLDEN_APPLE, on_item_interacted)
player.on_item_interacted(HONEY_BOTTLE, in_item_interacted)
player.on_travelled(WALK, on_forever)