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.

  1. Gartenhäuschen (5:6) (Mariel)
  2. Gartenzaun um gesamtes Feld (Mariel)
  3. Bänke (Konstantina)
  4. Blumen (Mariel)
  5. Erlebnis Weg (Konstantina)
  6. Tiergehege (Konstantina)

- Ein Teich mit Enten

- Lianenwand am Haus

- Mehr Ereignisse

-Im Haus Pflanzen, Blumen

Wichtig

Als erstes Feld Code laufen lassen!

-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

  • 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
  1. Zuerst haben wir das Haus, als Grundlage, codiert. Uns war wichtig mit etwas zu beginnen, was wir schon kannten und konnten. 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.
  2. Das zweitwichtigste Element, nach dem Haus, war das Feld. Das Feld hat einen Zaun darum, damit es etwas übersichtlicher aussieht. Wir haben zuerst das Feld eher klein gebaut und am Schluss dann angepasst.
  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 mit Tieren und schlussendlich seeeeehr viele Blumen.
  • 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
  • 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.
  • gf2/projekte/minecraft/2d1gruppe7.1674850628.txt.gz
  • Zuletzt geändert: 2023/01/27 21:17
  • von buntschum