======Projekt======
{{ :gf2:projekte:minecraft:minecraftwinterlandschaft.pptx |Praesentation}}
====Ideensammlung====
__**Ideen Bauten**__
- Haus
- Garten
- Tiere
- Feuerstelle
- Freizeitpark
- **Weihnachtslandschaft (Schnee, Weihnachtsbaum, Schneemann, Beleuchtungen ect.)**
- **Santa**
- **Renntiere**
- Brunnen
----
__**Ideen Interaktionen:**__
- (Baum- oder Blumenalee blüht bei vorbeilaufen auf)
- Türe öffnet sich automatisch
- wenn dunkel und/oder schlechtes Wetter-> Vorhänge schliessen
- **wenn es dunkel wird beginnt Beleuchtung an zu leuchten**
- Weihnachtsmusik bei betreten des Dorfs
- schneien
=====KONZEPT=====
__Grundidee:__
- Winterlandschaft
- Bau eines grossen Hauses von Hand
- kleinere Häuser programmieren (alle gleich)
- Weihnachtsbaum programmieren (wenn möglich), sonst bauen
- Eislaufbahn programmieren (wenn möglich) mit Zaun rundherum
__Interaktionen:__
- schneien
- wenn es dunkel wird geht die Beleuchtung an
- Weihnachtsmusik (wenn möglich)
- Aufbau der Landschaft (was programmiert wurde) erfolgt durch Eintritt durch ein grosses Tor
//__Kommentar:__ voraussichtlich keine flache Welt, weil es so mit dem Schnee einfacher ist//
- **Wenn man die Eislaufbahn betritt geht das Licht rundherum an**
----
//__Falls noch Zeit:__//
//- Santa programmieren/bauen//
//- Geschenke programmieren/bauen//
//- Renntiere programmieren/bauen//
//- Zuckerstangen programmieren/bauen//
//- Laternen programmieren/bauen//
----
__Wer macht was?__
**Aline:**
- kleine Häuser mit Hilfe von Alina und Lya
- alles in eine Welt einfügen und noch von Hand "verschönern"
- Mithilfe bei Eislaufbahn
**Lya:**
- grosses Haus von Hand bauen
- Zuckerstangen bauen
- Mitgeholfen bei kleinen Häuser
- Powerpoint für Präsentation
**Alina:**
- Eislaufbahn mit Hilfe von Aline
- Interaktion für Licht auf Eislaufbahn, wenn diese betreten wird
- Weihnachtsbaum von Hand bauen
- Mitgeholfen bei kleinen Häuser
=====CODES=====
def haus(x, y, z, laenge, breite, hoehe):
blocks.fill(SPRUCE_WOOD_SLAB, world(x, y, z), world(laenge+x, hoehe+y, breite+z), FillOperation.REPLACE)#Haus aussen(Holz)
blocks.fill(GLASS, world(x+1, y+1, z+1), world(laenge+x-1, hoehe+y-1, breite+z-1), FillOperation.HOLLOW)#Glas innen(Hohl mit Luft)
haus(-94, -61, 33, 10, 10, 5)
haus(-94, -61, 46, 10, 10, 5)
haus(-94, -61, 59, 10, 10, 5)
haus(-81, -61, 72, 10, 10, 5)
haus(-68, -61, 72, 10, 10, 5)
haus(-55, -61, 72, 10, 10, 5)
haus(-42, -61, 59, 10, 10, 5)
haus(-42, -61, 46, 10, 10, 5)
haus(-42, -61, 33, 10, 10, 5) # Häuser wurden gebaut an den gewünschten Stellen
def eislaufbahn(x, y, z, r):
shapes.circle(BLUE_ICE, world(x, y, z), r, Axis.Y, ShapeOperation.REPLACE) #ein Kreis für die Eislaufbahn als Abrundung
blocks.fill(BLUE_ICE, world(x, y, z-5), world(x+10, y, z+5), FillOperation.REPLACE)#Ein Rechteck als "Verbindungsstück der zwei Abrundungen"
shapes.circle(BLUE_ICE, world(x+10, y, z), 5, Axis.Y, ShapeOperation.REPLACE) #ein Kreis für die Eislaufbahn als Abrundung
shapes.circle(CONCRETE, world(x, y+1, z), r+1, Axis.Y, ShapeOperation.HOLLOW) #umrandung des ersten Kreises mit Concrete
shapes.circle(CONCRETE, world(x+10, y+1, z), r+1, Axis.Y, ShapeOperation.HOLLOW) #umrandung des zweiten Kreises mit Concrete
blocks.fill(AIR, world(x, y+1, z-5), world(x+10, y+1, z+5), FillOperation.REPLACE) # in Mitte wird ein Rechteck mit Luft gefüllt
blocks.fill(CONCRETE, world(x, y+1, z-6), world(x+10, y+1, z-6), FillOperation.REPLACE) # 1tes Verbindungsstück der beiden Halbkreisen
blocks.fill(CONCRETE, world(x, y, z+6), world(x+10, y, z+6), FillOperation.REPLACE) # 2tes Verbindungsstück der beiden Halbkreisen im Boden als Eingang
blocks.fill(REDSTONE_WIRE, world(x+17, y+1, z-7), world(x-7, y+1, z-7), FillOperation.HOLLOW) # 1.Seite des Rechtecks mit Stromkabel
blocks.fill(REDSTONE_WIRE, world(x-7, y+1, z-7), world(x-7, y+1, z+7), FillOperation.HOLLOW) # 2.Seite des Rechtecks mit Stromkabel
blocks.fill(REDSTONE_WIRE, world(x-7, y+1, z+7), world(x+17, y+1, z+7), FillOperation.HOLLOW) # 3.Seite des Rechtecks mit Stromkabel
blocks.fill(REDSTONE_WIRE, world(x+17, y+1, z+7), world(x+17, y+1, z-7), FillOperation.HOLLOW) # 4.Seite des Rechtecks mit Stromkabel
blocks.place(REDSTONE_LAMP, world(x+17, y+1, z-7)) # Platzierung der ersten Lampe (1.Ecke)
blocks.place(REDSTONE_LAMP, world(x-7, y+1, z-7)) # Platzierung der zweiten Lampe (2.Ecke)
blocks.place(REDSTONE_LAMP, world(x-7, y+1, z+7)) # Platzierung der dritten Lampe (3.Ecke)
blocks.place(REDSTONE_LAMP, world(x+17, y+1, z+7)) # Platzierung der vierten Lampe (4.Ecke)
def on_travelled_walk(x, y, z):
while True:
xp = player.position().get_value(Axis.X)
yp = player.position().get_value(Axis.Y)
zp = player.position().get_value(Axis.Z) # es überprüft nach jeder Bewegung die Koordinaten
if (-67 Eislaufbahn mit Lampen und Stromkabel wird gebaut
player.on_travelled(WALK, on_travelled_walk(-68,-61,49)) # Die Interaktion, dass bei betreten von der Eislaufbahn die Fackeln gebaut und somit die Lampen leuchten werden, wird durchgeführt
=====Welt Winterlandschaft=====
{{ :gf2:projekte:minecraft:informatikprojekt_winterlandschaft_alina_aline_lya_.mcworld |}}
Leider funktioniert die Interaktion, dass die Fackeln gebaut und somit die Lampen leuchten, sobald der Spieler die Eislaufbahn betritt, in dieser Welt nicht, obwohl wir (nach uns) die Koordinaten richtig angegeben haben. Deshalb haben wir hier noch einen zweiten Link, der zu einer Welt führt, bei welcher nur die Eislaufbahn mit der Interaktion drinnen ist. Der Code (mit den angepassten Koordinaten) finden Sie gleich unterhalb des Links.
{{ :gf2:projekte:minecraft:interaktion_eislaufbahn_alina_alina_lya_.mcworld |}}
def eislaufbahn(x, y, z, r):
shapes.circle(BLUE_ICE, world(x, y, z), r, Axis.Y, ShapeOperation.REPLACE) #ein Kreis für die Eislaufbahn als Abrundung
blocks.fill(BLUE_ICE, world(x, y, z-5), world(x+10, y, z+5), FillOperation.REPLACE)#Ein Rechteck als "Verbindungsstück der zwei Abrundungen"
shapes.circle(BLUE_ICE, world(x+10, y, z), 5, Axis.Y, ShapeOperation.REPLACE) #ein Kreis für die Eislaufbahn als Abrundung
shapes.circle(CONCRETE, world(x, y+1, z), r+1, Axis.Y, ShapeOperation.HOLLOW) #umrandung des ersten Kreises mit Concrete
shapes.circle(CONCRETE, world(x+10, y+1, z), r+1, Axis.Y, ShapeOperation.HOLLOW) #umrandung des zweiten Kreises mit Concrete
blocks.fill(AIR, world(x, y+1, z-5), world(x+10, y+1, z+5), FillOperation.REPLACE) # in Mitte wird ein Rechteck mit Luft gefüllt
blocks.fill(CONCRETE, world(x, y+1, z-6), world(x+10, y+1, z-6), FillOperation.REPLACE) # 1tes Verbindungsstück der beiden Halbkreisen
blocks.fill(CONCRETE, world(x, y, z+6), world(x+10, y, z+6), FillOperation.REPLACE) # 2tes Verbindungsstück der beiden Halbkreisen im Boden als Eingang
blocks.fill(REDSTONE_WIRE, world(x+17, y+1, z-7), world(x-7, y+1, z-7), FillOperation.HOLLOW) # 1.Seite des Rechtecks mit Stromkabel
blocks.fill(REDSTONE_WIRE, world(x-7, y+1, z-7), world(x-7, y+1, z+7), FillOperation.HOLLOW) # 2.Seite des Rechtecks mit Stromkabel
blocks.fill(REDSTONE_WIRE, world(x-7, y+1, z+7), world(x+17, y+1, z+7), FillOperation.HOLLOW) # 3.Seite des Rechtecks mit Stromkabel
blocks.fill(REDSTONE_WIRE, world(x+17, y+1, z+7), world(x+17, y+1, z-7), FillOperation.HOLLOW) # 4.Seite des Rechtecks mit Stromkabel
blocks.place(REDSTONE_LAMP, world(x+17, y+1, z-7)) # Platzierung der ersten Lampe (1.Ecke)
blocks.place(REDSTONE_LAMP, world(x-7, y+1, z-7)) # Platzierung der zweiten Lampe (2.Ecke)
blocks.place(REDSTONE_LAMP, world(x-7, y+1, z+7)) # Platzierung der dritten Lampe (3.Ecke)
blocks.place(REDSTONE_LAMP, world(x+17, y+1, z+7)) # Platzierung der vierten Lampe (4.Ecke)
def on_travelled_walk(x, y, z):
while True:
xp = player.position().get_value(Axis.X)
yp = player.position().get_value(Axis.Y)
zp = player.position().get_value(Axis.Z) # es überprüft nach jeder Bewegung die Koordinaten
if (1 Eislaufbahn mit Lampen und Stromkabel wird gebaut
player.on_travelled(WALK, on_travelled_walk(0,-61,0)) # Die Interaktion, dass bei betreten von der Eislaufbahn die Fackeln gebaut und somit die Lampen leuchten werden, wird durchgeführt