Dies ist eine alte Version des Dokuments!
Garten der Wünsche
Projekt von Konstantina und Mariel
Projektplan
Unser Projekt beinhaltet ein Garten, welchen wir aus einem Feld von 10:10 (kann nach Zeitverfügung vergrössert werden). So viel Felder wie möglich werden durch einen Code besetzt oder dekoriert. Unser Ziel ist es ein gemütlich, dekorativer, ästhetischer Rückzugsort zu erzeugen.
Garten beinhaltet:
- Gartenhäuschen (5:6) (Mariel)
- Gartenzaun um gesamtes Feld (Mariel)
- Bänke (Konstantina)
- Blumen (Mariel)
- Erlebnis Weg (Konstantina)
- Tiergehege (Konstantina)
Erweiterungen
- Ein Teich mit Enten
- Lianenwand am Haus
- Mehr Ereignisse
-Im Haus Pflanzen, Blumen
Wichtig
Als erstes Feld Code laufen lassen!
Unsere Codes:
-Feld Code
def Feld(x,y,z,länge, breite, material): blocks.fill(material, world(x-1, y, z-1), world(x+länge, y, z+breite), FillOperation.REPLACE)#Feld Zaun blocks.fill(SANDSTONE, world(x-1, y-1, z-1), world(x+länge, y-1, z+breite), FillOperation.REPLACE)#Feld Boden blocks.fill(AIR, world(x, y, z), world(x+länge-1, y, z+breite-1), FillOperation.REPLACE)#Feld Luft zum füllen blocks.place(BIRCH_FENCE_GATE, world(x, y, z-1))#Tor Feld(-31,-60,-48,20,15, BIRCH_FENCE)
-Bänkli Code
def baenkli(x: number, y: number, z: any, anzahl: number, material: number): for i in range(anzahl + 1): blocks.place(material, world(x, y, z + i)) baenkli(581, -60, -300, 2, OAK_WOOD_STAIRS)
-Haus Code:
def MeinHaus(x,y,z,länge, breite, höhe, material): blocks.fill(material, world(x, y-1, z), world(x+länge, y+höhe, z+breite), FillOperation.HOLLOW)#Hausgrundriss blocks.fill(GLASS_PANE, world(x+4,y+2,breite-2), world(x+5,y+3, z))#VorderesFenster blocks.fill(GLASS_PANE, world(x,y+1,z+1), world (x, y+höhe-1, z+breite-1), FillOperation.DESTROY)#Linkesfenster blocks.fill(GLASS_PANE, world(x+länge,y+1,z+1), world (x+länge, y+höhe-1, z+breite-1), FillOperation.DESTROY)#rechtesfenster blocks.fill(GLASS_PANE, world(x+1,y+1,z+breite), world (x+länge-1, y+höhe-1, z+breite), FillOperation.DESTROY)#hinteresfenster blocks.fill(GLASS_PANE, world(x+1,y+höhe,z+1), world (x+länge-1, y+höhe, z+breite-1), FillOperation.DESTROY)#Dachfenster blocks.place(IRON_DOOR,world(x+2, y, z))#Türe blocks.place(blocks.lever(BLOCK_SIDE_FACING_NORTH), world(x+1,y,z-1))#hebel blocks.place(BIRCH_PRESSURE_PLATE, world(x+2,y,z+1))#Boden für licht blocks.place(REDSTONE_LAMP, world(x+2,y,z+breite-1))#redstone lampe blocks.fill(REDSTONE_WIRE, world(x+2,y,z+2), world(x+2,y,z+breite-2))#kabel für licht blocks.place(FLOWER_POT, world(x+1, y, z+3))#blumentopf mobs.spawn(SUNFLOWER, world(x+1, y+1, z+3))#Sonnenblume? MeinHaus(0,-60,3,6,5,4, SANDSTONE)
-Blumen Code
def on_travelled_walk(): blocks.place(YELLOW_FLOWER, world(2, -60, -7)) player.on_travelled(WALK, on_travelled_walk)
-Blumencode mit Weg
def Weg(x,y,z,länge): for i in range(0,länge,1):#i=1, bis i=länge, im einer Schritt if (i%3)==0:#Modulo auf 3, wenn es null ergiebt blocks.place(PURPUR_BLOCK, world(x-i, y-1, z+i)) elif (i%3)==1:#Modulo auf 3, wenn es eins ergiebt blocks.place(ENDSTONE, world(x-i, y-1, z+i)) else: blocks.place(LIGHT_BLUE_WOOL, world(x-i, y-1, z+i)) Weg(0,-60,0,15) def Blumenweg(x,y,z,länge): x=x-1 for i in range(0,länge,1):#i=1, bis i=länge, im einer Schritt if (i%3)==0:#Modulo auf 3, wenn es null ergiebt blocks.place(POPPY, world(x+i, y, z+i)) elif (i%3)==1:#Modulo auf 3, wenn es eins ergiebt blocks.place(ALLIUM, world(x+i, y, z+i)) else: blocks.place(LILAC, world(x+i, y, z+i)) Blumenweg(0,-60,0,15)
-Auf dem Weg passiert etwas (funktioniert nicht)
def on_travelled_walk(): x = player.position().get_value(Axis.X) y = player.position().get_value(Axis.Y) z = player.position().get_value(Axis.Z) player.say("x:"+str(x)+" y:"+str(y)+" z:"+str(z)) if (10<x<20) and (y==4) and (z==15): blocks.place(GLASS,pos(4,0,0)) player.on_travelled(WALK, on_travelled_walk)
-Pool
def pool(x, y, z, material): blocks.fill(material, world(x, y, z), world(x + 6, y + 3, z + 4), FillOperation.HOLLOW) pool(-26, -64, -48, WATER)
-Feld, Haus, Bänkli, Weg, Blumenweg und Pool ortsgerecht Code
def Feld(x,y,z,länge, breite, material): blocks.fill(material, world(x-1, y, z-1), world(x+länge, y, z+breite), FillOperation.REPLACE)#Feld Zaun blocks.fill(SANDSTONE, world(x-1, y-1, z-1), world(x+länge, y-1, z+breite), FillOperation.REPLACE)#Feld Boden blocks.fill(AIR, world(x, y, z), world(x+länge-1, y, z+breite-1), FillOperation.REPLACE)#Feld Luft zum füllen blocks.place(BIRCH_FENCE_GATE, world(x, y, z-1))#Tor def MeinHaus(x,y,z,länge, breite, höhe, material): z=z+10 x=x-1 blocks.fill(material, world(x, y-1, z), world(x+länge, y+höhe, z+breite), FillOperation.HOLLOW)#Hausgrundriss blocks.fill(GLASS_PANE, world(x+4,y+2,z), world(x+5,y+3, z), FillOperation.DESTROY)#VorderesFenster falsch blocks.fill(GLASS_PANE, world(x,y+1,z+1), world (x, y+höhe-1, z+breite-1), FillOperation.DESTROY)#Linkesfenster blocks.fill(GLASS_PANE, world(x+länge,y+1,z+1), world (x+länge, y+höhe-1, z+breite-1), FillOperation.DESTROY)#rechtesfenster blocks.fill(GLASS_PANE, world(x+1,y+1,z+breite), world (x+länge-1, y+höhe-1, z+breite), FillOperation.DESTROY)#hinteresfenster blocks.fill(GLASS_PANE, world(x+1,y+höhe,z+1), world (x+länge-1, y+höhe, z+breite-1), FillOperation.DESTROY)#Dachfenster blocks.place(IRON_DOOR,world(x+2, y, z))#Türe blocks.place(blocks.lever(BLOCK_SIDE_FACING_NORTH), world(x+1,y,z-1))#hebel blocks.place(BIRCH_PRESSURE_PLATE, world(x+2,y,z+1))#Boden für licht blocks.place(REDSTONE_LAMP, world(x+2,y,z+breite-1))#redstone lampe blocks.fill(REDSTONE_WIRE, world(x+2,y,z+2), world(x+2,y,z+breite-2))#kabel für licht blocks.place(FLOWER_POT, world(x+1, y, z+3))#blumentopf blocks.place(GRASS, world(x+1, y-1, z+2))#Grass unter Blume blocks.place(YELLOW_FLOWER, world(x+1, y, z+2))#Blume blocks.place(GRASS, world(x+1, y-1, z+3))#Grass unter Blume blocks.place(OXEYE_DAISY, world(x+1, y+1, z+3))#BlumeoberTopf blocks.place(GRASS, world(x+1,y-1, z+4))#Grass unter Blume blocks.place(POPPY, world(x+1,y, z+4))#Blume blocks.place(GRASS, world(x+5,y-1, z+4))#Grass unter Blume blocks.place(POPPY, world(x+5,y, z+4))#Blume blocks.place(GRASS, world(x+4,y-1, z+3)#Grass unter Blume blocks.place(LILAC, world(x+4,y, z+3))#Blume def baenkli(x: number, y: number, z: any, anzahl: number, material: number): for i in range(anzahl + 1): blocks.place(blocks.block_with_data(material, 1), world(x-1, y, z+6 +i))#Bänkli welches nach rechts gedreht ist Baenkli(-31, -60, -48, 2, OAK_WOOD_STAIRS) def Weg(x,y,z,länge): for i in range(0,länge,1):#i=1, bis i=länge, im einer Schritt if (i%3)==0:#Modulo auf 3, wenn es null ergiebt blocks.place(PURPUR_BLOCK, world(x+i, y-1, z+i)) elif (i%3)==1:#Modulo auf 3, wenn es eins ergiebt blocks.place(ENDSTONE, world(x+i, y-1, z+i)) else: blocks.place(LIGHT_BLUE_WOOL, world(x+i, y-1, z+i)) def Blumenweg(x,y,z,laenge): x=x-1 for i in range(0,laenge,1):#i=1, bis i=länge, im einer Schritt if (i%3)==0:#Modulo auf 3, wenn es null ergiebt blocks.place(GRASS, world(x+i, y-1, z+i)) blocks.place(POPPY, world(x+i, y, z+i)) elif (i%3)==1:#Modulo auf 3, wenn es eins ergiebt blocks.place(GRASS, world(x+i, y-1, z+i)) blocks.place(ALLIUM, world(x+i, y, z+i)) else: blocks.place(GRASS, world(x+i, y-1, z+i)) blocks.place(LILAC, world(x+i, y, z+i)) def Pool(x, y, z, material): blocks.fill(material, world(x, y, z), world(x + 6, y + 3, z + 4), FillOperation.HOLLOW) #Ausführen: Feld(-31,-60,-48,20,15, BIRCH_FENCE) MeinHaus(-31,-60,-48,6,5,4, SANDSTONE) Baenkli(-31, -60, -48, 2, OAK_WOOD_STAIRS) Weg(-31,-60,-48,15) Blumenweg(-30,-60,-47,14)#-30, -47 weil blumen ein eingerückt sind! Pool(-26, -64, -48, WATER)
Reflektion
Tipps beim Bauen
- Weg Code muss als erstes ablaufen
- Blumen müssen auf Grassboden sein, damit sie bleiben
- Für Licht mit Kabel braucht es eine REDSTONE_LAMP und REDSTONE_WIRE. Sie müssen verbunden sein
- Für bessere Übersicht Code am Schluss aufrufen (Koordinaten richtig einsetzten)
- Für Blumenweg andere Koordinate -1 bei der x und z Koordinate
Wie sind wir vorgegangen?
- 1. Zuerst musste das Feld, als Grundlage, codiert werden. Damit es etwas einheitlicher aussieht, haben wir einen Zaun hinzugefügt.
- 2. Das zweitwichtigste Element, nach dem Feld, war das Haus. Das Haus hat einen angenehmen Innenraum, eine Tür, welch sich mit einem Hebel öffnen lässt und natürlich grosse Fenster, damit man den Garten auch von Innen betrachten kann.
- 3. Das Bänkli wollten wir unbedingt in unserem Garten, da es passend ist und ästhetisch dazu passt.
- 4. Nun brauchten wir einen Weg durch unseren Garten. Hierfür haben wir uns für verschiedene bunte Blöcke entschieden. Der Weg hat das Haus perfekt ergänzt. Ausserdem haben wir auch noch einen Blumenweg dekorativ dazu codiert.
- 5. Nun hat nur noch etwas gefehlt… ein erfrischender Pool! Der Code für den Pool ist sehr simpel, macht jedoch viel her.
- 6. Danach sind wir ans Werk gegangen, unseren Garten zu füllen mit Elementen, welche von Hand gebaut worden sind, wie zum Beispiel: Das riesige Baumhaus mit den Lianen, eine Ausruhmöglichkeit im Schatten des Baumhauses, ein Tiergehege (da wir es nicht geschafft haben zu codieren) mit Tieren und schlussendlich seeeeehr viele Blumen.
Unsere Schwierigkeiten
- -Der Anfang: mit was ist es am schlausten zu beginnen?
- -Zeiteinteilung: Wie lange kann man sich mit einem Element beschäftigen?
- -Licht einfügen
- -Grundwissen von den Blöcken (Blumen kann man nur auf Grass pflanzen)
- -Codeverkürzung
- -Code alle zusammenfügen (alles am richtigen Platz)
- -Der letzte Code (etwas passiert auf einem Block) ist uns nicht gelungen
Was wir gelernt haben
- Am Anfang einen Plan zu erstellen ist sehr wichtig.
- -Sich Aufgaben einzuteilen ist hilfreich.
- -Nicht gleich Aufgeben, wenn etwas nicht funktioniert.
- -Sich gegenseitig helfen oder von anderen Hilfe annehmen.
- -Am Schluss nicht alles sofort zusammenfügen, sondern Schritt für Schritt vorgehen.
- -Sich anfangs nicht zu viel vorzunehmen, sondern später erst erweitern.