gf2:projekte:minecraft:2d1gruppe3

Dies ist eine alte Version des Dokuments!


Dokumentation

minecraft_projekt_kai_und_johannes.mcworld

Einführung:

Wir haben damit begonnen unsere persönlichen Ideen zu codieren. Eine Brücke und ein Tunnel, in welchem sich eine funktionierenden Eisenbahn befindet. Als wir beide es kodiert sowie gebaut haben, kamen wir auf die Idee ein Skigebiet zu produzieren.

Prozess:

Johannes Ich hatte von Grund auf die Idee eine Bahn zu programmieren. Das Biom zwang mich dann praktisch dazu über einen Tunnel nach zu denken. SO Kamm ich darauf einen „Redstonerail“ in einem Tunnel zu bauen. Durch die Unterstützung von Frau Marro und Mike Stämpfli erlernte ich auch ohne Agenten zu Programmieren. Nachdem die Endwicklung des Programms für den Tunnel, sowie dessen Bau abgeschlossen war, suchte ich nach neuen Ideen und ich kam wieder aufgrund des Biom's zu einer Neuen Idee: nämlich einen Skilift zu bauen und Kai griff diese Idee positiv auf. Ein Skilift schliesst natürlich auch eine Piste und ein Chalet ein…

Kai: Ich habe damit begonnen die Brücke von Hand zu bauen auf einer anderen Flachen Welt. Als ich die Brücke gebaut habe, begann ich mit dem Grundriss der Brücke. Es gab sehr viele Komplikationen am Anfang mit der Länge der Brücke, da es symmetrisch nicht aufging. Danach musste ich das Gelände codieren was sehr viele Probleme darstellte. Der 2-fache Repeat funktionierte nicht und die Länge des Geländes war nie genau richtig. Doch am Schluss gelang es mir das Gelände zu bauen, da es nur an einem kleinen Fehler lag. Nach der Fertigstellung des Grundrisses und des Geländes, konnte ich die Brücke somit vollfertigen. Dekorationen wie Laternen und Blumen wurden per Hand gebaut. Zuletzt speicherte ich den Code ab und ging auf die Projekt Welt, wo ich dann meine Brücke gebaut habe.

Johannes:

Bauarbeiten:

Als wir beide unsere Codes gebaut haben, haben wir angefangen die Welt zu dekorieren per Hand. Wir begannen mit einem Boden der aussieht wie ein echter Strassenboden. Danach haben wir beim Tunnel eine Zugstation gebaut, damit man mit dem Zug dort anhalten und abfahren kann. Danach haben wir einen Weg gebaut, welcher von der Brücke aus an einem Berg hoch verläuft. Oben angekommen, haben wir einen Skilift gebaut. Der Skilift beinhaltet auch einen Sessellift, in welchem man sich auch hineinsetzen kann in dem man right-click auf den Sessel drückt.

Codes:

Skilift Stationsplatform:

def platform(breite, laenge): #Befehl für den Bau einer Plattform mit den Variablen "Breite" und Länge"
    blocks.fill(STONE_BRICKS, pos(0, -1, laenge), pos(breite, -1, 0), FillOperation.REPLACE)
 
 
platform(5, 13)#Ausführung des Befehls "Platform" mit den Koordinaten 

Bahntunnel:

mat = [PLANKS_SPRUCE, POWERED_RAIL, REDSTONE_TORCH, BLUE_GLAZED_TERRACOTTA, CRYING_OBSIDIAN, SHROOMLIGHT] #Liste mit dem Material
x = -113
y = 150
z = 191
l = 94
 
def entfernen(): #Alles was sich im Areal befindet, das bebaut werden soll wird entfernt, damit man einen besseren Überblick über den Bau hat und auch um zu verhindern, dass es Probleme, etwa mit losen Blöcken gibt...
    for count in range(0, l):
        blocks.fill(AIR, world(x+2, y-2, z+count), world(x, y+2, z+count)) #hier wird entfernt
 
def bahn(): #Programm zum Bau der eigentlichen Eisenbahn
    for count in range(l):
        blocks.fill(mat[0], world(x, y, z+count), world(x+2, y-2, z+count)) #Baut Planken
        blocks.fill(mat[1], world(x+1, y+1, z+count), world(x+1, y+1, z+count)) #Baut das Gleis
        blocks.fill(mat[2], world(x+1, y-1, z+count), world(x+1, y-1, z+count),FillOperation.REPLACE)#Baut Torches in der Brücke und ersetzt den Brückenkern
 
def tunnel():
    for count in range(l):
        blocks.fill(mat[4], world(x+3, y+1, z+count), world(x-1, y+3, z+count))#Tunnel wird auf Bahndammhöhe gebaut zum Schutz und Dekoration der Bahn Aus Obsidian.
    for i in range(l):
        if (i%20==0): #hier wird Periodisch gebaut um zu umgehen, dass der Bau bei grösseren Distanzen gelegentlich abbricht
            blocks.place(mat[5], world(x+3, y+2, z+i+2))
            blocks.place(mat[5], world(x-1, y+2, z+i+2))
    entfernen()
    bahn()
 
tunnel()

Brücke:

#Hier sind die Agent settings, bedeutet soviel wie die Anfangseinstellungen des Agents
agent.set_item(LOG_SPRUCE, 1, 1) 
agent.set_item(PLANKS_SPRUCE, 1, 2)
agent.set_item(CHAIN, 1, 4)
agent.set_item(SPRUCE_FENCE, 1, 5)
agent.set_item(SPRUCE_FENCE_GATE, 1, 6)
agent.set_item(SPRUCE_WOOD_STAIRS, 1, 7)
agent.set_assist(PLACE_ON_MOVE, True)
 
 
def BrückeSprucePlanks(): #Das Grundgerüst wird hier gebaut, bedeutet nur den Weg der Brücke
    agent.set_slot(2)
    for i in range(2):
        agent.move(FORWARD, 15)
        agent.move(DOWN, 1)
    agent.move(FORWARD, 20)
    agent.move(UP, 1)
    for i in range(2):
        agent.move(FORWARD, 15)
        agent.move(UP, 1)
    for k in range(2):
        agent.turn(LEFT)
 
def SpruceGelände(): #Das Brückengelände, bedeutet das Gelände wird mit dem Grundgerüst zusammengesetzt
        agent.set_slot(1)
        agent.place(RIGHT)
        agent.place(LEFT)
        agent.set_slot(6)
        for l in range(14):
            agent.set_assist(PLACE_ON_MOVE, False)
            agent.move(FORWARD, 1)
            agent.set_assist(PLACE_ON_MOVE, True)
            agent.turn(TurnDirection.LEFT)
            agent.place(FORWARD)
            agent.turn(TurnDirection.RIGHT)
            agent.turn(TurnDirection.RIGHT)
            agent.place(FORWARD)
            agent.turn(TurnDirection.LEFT)
        agent.set_assist(PLACE_ON_MOVE, False)
        agent.move(FORWARD, 1)
        agent.set_assist(PLACE_ON_MOVE, True)
        agent.set_slot(1)
        agent.place(RIGHT)
        agent.place(LEFT)
        agent.set_assist(PLACE_ON_MOVE, False)
 
def brückeMitte(): #Das hier wäre die Mitte der Brücke, vereinfacht uns den Code
    agent.set_slot(1)
    agent.set_assist(PLACE_ON_MOVE, False)
    agent.move(DOWN, 1)
    agent.set_assist(PLACE_ON_MOVE, True)
    agent.place(RIGHT)
    agent.place(LEFT)
    for l in range(17): #Hier wird der ganze Abschnitt *16 gemacht, weil die Fence Gates ein Problem darstellten und das wäre, dass sie nicht richtig gedreht waren und darum wir jede Ausführung Wiederholen müssen
        agent.set_slot(6)
        agent.set_assist(PLACE_ON_MOVE, False)
        agent.move(FORWARD, 1)
        agent.set_assist(PLACE_ON_MOVE, True)
        agent.turn(TurnDirection.LEFT)
        agent.place(FORWARD)
        agent.turn(TurnDirection.RIGHT)
        agent.turn(TurnDirection.RIGHT)
        agent.place(FORWARD)
        agent.turn(TurnDirection.LEFT)
    agent.set_assist(PLACE_ON_MOVE, False)
    agent.move(FORWARD, 1)
    agent.set_assist(PLACE_ON_MOVE, True)
    agent.set_slot(1)
    agent.place(RIGHT)
    agent.place(LEFT)
    agent.set_assist(PLACE_ON_MOVE, False)
    agent.move(UP, 1)
    agent.set_assist(PLACE_ON_MOVE, False)
 
def brückeTotal(): #Zusammensetzung aller Definitions
    BrückeSprucePlanks()
    SpruceGelände()
    agent.move(FORWARD, 1)
    agent.move(DOWN, 1)
    SpruceGelände()
    brückeMitte()
    SpruceGelände()
    agent.move(UP, 1)
    agent.move(FORWARD, 1)
    SpruceGelände()
#Ausführung      
agent.teleport_to_player() 
brückeTotal()
  • gf2/projekte/minecraft/2d1gruppe3.1675606610.txt.gz
  • Zuletzt geändert: 2023/02/05 15:16
  • von guglerk