Dies ist eine alte Version des Dokuments!
Die Stadt
Was wir bauen: Eine Stadt. Sie beinhaltet eine Strasse, Häuser und evtl. ein Garten.
Aufteilung:
- Livia und Kristin bauen das Haus
- Alessia baut die Straße
- Meteo versucht mit Details zu helfen
Livia und Kristin
Dokumentation:
22.11 Als wir mit unserem Projekt begonnen haben, wussten wir sehr wenig über das Programmieren. Wir haben deshalb mit den Basics angefangen. Unser erstes Ziel: Ein Block mit der länge, Breite und Höhe 10. Schon hier bei wurden wir mit vielen Dingen Konfrontiert. Bspw.: wo finden wir den Richtigen Code, wie können wir eine Definition machen mit(x, y, z),…
Schlussendlich haben wir es geschafft mit diesem Code:
def haus1(laenge, hoehe, breite):
blocks.fill(WHITE_CONCRETE, pos(1, 0, 1), pos(10,10,10), FillOperation.HOLLOW)
Wir haben anschließend noch ein großes Glasfenster hinzugefügt.
blocks.fill(GLASS, pos(2, 1, 1), pos(9,9,1), FillOperation.REPLACE
-
24.11 Mit der Hilfe von Frau Marro haben wir es geschafft ein großes Glas-Dachfenster zu programmieren, mit dem angefügten Code.
def haus1(laenge, hoehe, breite):
blocks.fill(WHITE_CONCRETE, pos(1, 0, 1), pos(10,10,10), FillOperation.HOLLOW) blocks.fill(GLASS, pos(2, 1, 1), pos(9,9,1), FillOperation.REPLACE) blocks.fill(GLASS, pos(2,10,2), pos(9,10,9), FillOperation.REPLACE)
-
01.12 Unser nächstes Ziel war, ein Zweites Stockwerk zu bauen. daher versuchten wir vieles aus, bis wir diesen Code anfügen konnten:
def haus1(laenge, hoehe, breite):
blocks.fill(WHITE_CONCRETE, pos(1, 0, 1), pos(10,10,10), FillOperation.HOLLOW) blocks.fill(GLASS, pos(2, 1, 1), pos(9,9,1), FillOperation.REPLACE) blocks.fill(GLASS, pos(2,10,2), pos(9,10,9), FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, pos(2, 6, 2), pos(9, 6, 9), FillOperation.REPLACE) blocks.fill(AIR, pos(6,6,9), pos(9,6,8), FillOperation.REPLACE)
Wir haben außerdem ein Loch freigelassen um später unsere Treppe bauen zu können.
-
06.12- 08.12 Als wir begonnen haben mit den Treppen hatten wir viele Schwierigkeiten. Die Treppen die wir programmiert haben zeigten in die Falsche Richtung. Nach Recherchen haben wir einen Befehl gefunden, der unser Problem gelöst hat. Wir erhielten diesen Code:
def haus1(laenge, hoehe, breite):
blocks.fill(WHITE_CONCRETE, pos(1, 0, 1), pos(10,10,10), FillOperation.HOLLOW) blocks.fill(GLASS, pos(2, 1, 1), pos(9,9,1), FillOperation.REPLACE) blocks.fill(GLASS, pos(2,10,2), pos(9,10,9), FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, pos(2, 6, 2), pos(9, 6, 9), FillOperation.REPLACE) blocks.fill(AIR, pos(6,6,9), pos(9,6,8), FillOperation.REPLACE), blocks.fill(OAK_DOOR, pos(8,1,10), pos(8,2,10), FillOperation.REPLACE) blocks.fill(BRICK_STAIRS, pos(4,1,9), pos(4,1,8), FillOperation.REPLACE) blocks.fill(BRICK_STAIRS, pos(5,2,9), pos(5,2,8), FillOperation.REPLACE) blocks.fill(BRICK_STAIRS, pos(6,3,9), pos(6,3,8), FillOperation.REPLACE) blocks.fill(BRICK_STAIRS, pos(7,4,9), pos(7,4,8), FillOperation.REPLACE) blocks.fill(BRICK_STAIRS, pos(8,5,9), pos(8,5,8), FillOperation.REPLACE) blocks.fill(BRICK_STAIRS, pos(9,6,9), pos(9,6,8), FillOperation.REPLACE) blocks.fill(GLASS, pos(1,3,4), pos(1,3,7), FillOperation.REPLACE)
Zusätzlich haben wir eine Türe eingebaut und noch einige Fenster.
-
13.12-15.12 leider hat unser Haus in die Falsche Richtung gezeigt, in Bezug auf die Straße. wir suchten nach einer simplen Lösung, haben jedoch keine gefunden. Nach einigen Tipps schrieben wir die Koordinaten noch einmal neu und haben es schlussendlich nach einigen Problemen geschafft.(Der oben stehende Code beinhaltet schon die Korrigierten Koordinaten)
-
20.12-22.12 Der Unterricht ist ausgefallen
-
10.01 Wir haben festgestellt das wir das Haus bisher in Bezug auf den Spieler gebaut haben. So war es uns nicht möglich die Straße und das Haus mit einem Klick zu bauen. Außerdem war es uns so nicht möglich mehrere Häuser auf einmal zu bauen. Also haben wir uns entschieden unsere Koordinaten mit den World Koordinaten zu ersetzen. Es gab einige Komplikationen beim Umschreiben.
-
17.01 Das neue Koordinatensystem konnte erfolgreich übertragen werden. Hier das fertige Haus:
def haus1(x, z, y):
blocks.fill(WHITE_CONCRETE, world(x,z,y), world(x+10,z+10,y+9), FillOperation.HOLLOW) blocks.fill(GLASS, world(x+10,z+1,y+1), world(x+10,z+9,y+8), FillOperation.REPLACE) blocks.fill(GLASS, world(x+9,z+10,y+8), world(x+1,z+10,y+1), FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, world(x+1,z+6, y+9), world(x+9, z+6, y+1), FillOperation.REPLACE) blocks.fill(AIR, world(x+1,z+6,y+9), world(x+2,z+6,y+5), FillOperation.REPLACE), blocks.fill(OAK_DOOR, world(x,z+1,y+8), world(x,z+2,y+8), FillOperation.REPLACE) blocks.fill(blocks.block_with_data(BRICK_STAIRS,2), world(x+1,z+1,y+3), world(x+2,z+1,y+3), FillOperation.REPLACE) blocks.fill(blocks.block_with_data(BRICK_STAIRS,2), world(x+1,z+2,y+4), world(x+2,z+2,y+4), FillOperation.REPLACE) blocks.fill(blocks.block_with_data(BRICK_STAIRS,2), world(x+1,z+3,y+5), world(x+2,z+3,y+5), FillOperation.REPLACE) blocks.fill(blocks.block_with_data(BRICK_STAIRS,2), world(x+1,z+4,y+6), world(x+2,z+4,y+6), FillOperation.REPLACE) blocks.fill(blocks.block_with_data(BRICK_STAIRS,2), world(x+1,z+5,y+7), world(x+2,z+5,y+7), FillOperation.REPLACE) blocks.fill(blocks.block_with_data(BRICK_STAIRS,2), world(x+1,z+6,y+8), world(x+2,z+6,y+8), FillOperation.REPLACE) blocks.fill(GLASS, world(x+209,z+3,y+140), world(x+209,z+3,y+137), FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, world(x+1,z+6, y+9), world(x+2, z+6, y+9), FillOperation.REPLACE) blocks.fill(GLASS, world(x+3,z+3,y), world(x+7,z+3,y), FillOperation.REPLACE)
haus1(-216,-60,149)
Individuelle Schwierigkeiten:Wir fanden es sehr anspruchsvoll diesen Code zu programmieren. Uns war nicht klar wo wir beginnen sollen und wie. Außerdem fanden wir es Knifflig die Fehler aus einem geschriebenen Code zu finden. die Richtigen Zahlen in die Koordinaten zu setzten viel uns teilweise ebenfalls schwer.
im Allgemeinen finden wir aber: je länger wir an dem Projekt gearbeitet haben, desto leichter fiel es uns zu Programmieren
Alessia
Dokumentation: Am 22. 11.2023, als wir mit dem Programmieren angefangen haben, habe ich zuerst darüber nachgedacht, wie die Strasse aussehen soll. Ich habe also verschiedene Materialien ausgesucht und miteinander verglichen, um zu bestimmen welche am besten aussehen. Am 1.12.2023 Habe ich dann den Code für die Strasse allein(ohne Strassenlampen) fertiggestellt: def strasse(laenge):
blocks.fill(BLACK_WOOL, world(-225,-61,start), world(-221,-61,laenge),FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, world(-223,-61,start), world(-223,-61,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-227,-60,start), world(-226,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-228,-60,start), world(-228, -60, laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-220,-60,start), world(-219,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-218,-60,start), world(-218, -60, laenge),FillOperation.REPLACE)
Am 6.12.2023 Habe ich dann mit den Strassenlampen begonnen. Ich habe mir überlegt wie diese aussehen sollen und wo ich sie platzieren will: def strassenlampe(laenge):
for i in range(1,a):
if ((i%10)==0):
blocks.place(REDSTONE_LAMP, world(-229, 59,start+i))
blocks.place(REDSTONE_LAMP, world(-217, 59,start+i))
else:
pass
Am 20.12.2023 Habe ich an dem Bewegungssensor für die Strassenlampen gearbeitet. Ich habe also zuerst dafür gesorgt, dass ich unter den Redstone-Lampen ein/en Redstonefackel/-block. Deshalb habe ich die Strasse ein wenig abgeändert, damit ich die Lampen um einen Block nach aussen verschoben und musste deshalb eine neue Reihe Blöcke auf beiden Seiten der Strassen hinzufügen. Jedoch dürfen direkt unter den Lampen keine Blöcke sein da dort die Redstonfackeln/-blöcke platziert werden.
def grau(laenge):
for i in range(1,a):
if ((i%10)==0):
blocks.place(AIR, world(-217,-60,start+i))
blocks.place(AIR, world(-229,-60,start+i))
else:
blocks.place(LIGHT_GRAY_CONCRETE_POWDER, world(-217,-60, laenge))
blocks.place(LIGHT_GRAY_CONCRETE_POWDER, world(-229,-60, laenge))
Danach hatte ich noch ein wenig Zeit um schon mit der Funktion für den Bewegungssensor zu arbeiten.
-
Am 10.1.2024 arbeitete ich also an der Funktion für den Bewegungssensor. Ich passte die Koordinaten an und verbesserte gewisse Sachen an der Funktion. Jedoch funktionierte dir Funktion nicht obwohl ich keinen Fehler erkennen konnte.
-
Am 17.1.2024 arbeitet ich weiter an der Funktion und versuchte das Problem herauszufinden und zu beheben, jedoch ohne Erfolg. Die Funktion funktionierte immer noch nicht. Deshalb arbeitete ich zuhause noch weiter
Individuelle Schwierigkeiten: Die grössten Schwierigkeiten hatte ich bei den Bewegungssensoren, da ich davon noch nicht viel Ahnung hatte und ich deshalb fast alles neu lernen musste. Dazu kam auch noch, dass die Funktion nie wirklich funktionierte. Ich konnte aber nicht herausfinden woran es lag und auch im Internet fand man so gut wie nichts dazu.
Mateo
Dokumentation:
Individuelle Schwierigkeiten:
Fertiger Code:
Allgemeine Schwierigkeiten: Es War sehr schwierig in unserer Gruppe, dass alle mithelfen. Kristine, Alessia und ich hatten zu beginn noch sehr begrenztes Wissen über das Programmieren. Wir konnten Mateo, der noch nie programmiert hat, nicht wirklich helfen und er wusste nicht wo mit zu helfen. Wir haben außerdem mehr Zeit benötig als wir geplant haben. Unser Ziel haben wir aber erreicht.
Was wir mitnehmen:Wir haben sehr viel gelernt und uns sehr verbessert im Programmieren. Wir verstehen nun sehr gut das Prinzip vom Code schreiben und können es selbst anwenden. Es hat sehr viel spaß gemacht und wir hatten einige Erfolgserlebnisse.
start=139 x=200
def strasse(laenge):
blocks.fill(BLACK_WOOL, world(-225,-61,139 ), world(-221,-61,laenge),FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, world(-223,-61,139), world(-223,-61,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-227,-60,139), world(-226,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-228,-60,139), world(-228, -60, laenge),FillOperation.REPLACE) blocks.fill(LIGHT_GRAY_CONCRETE_POWDER,world(-229,-60,139), world(-229, -60, laenge), FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-220,-60,139), world(-219,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-218,-60,139), world(-218, -60, laenge),FillOperation.REPLACE) blocks.fill(LIGHT_GRAY_CONCRETE_POWDER,world(-217,-60,139), world(-217, -60, laenge) , FillOperation.REPLACE)
def strassenlampe(laenge):
for i in range(1,x):
if ((i%10)==0):
blocks.place(REDSTONE_LAMP, world(-229,-59,start+i))
else:
pass
for i in range(1,x):
if ((i%10)==0):
blocks.place(REDSTONE_LAMP, world(-217,-59,start+i))
else:
pass
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)
if (-226<x<-220) and (y==-60) and (z==pos(10, 0, 10)):
blocks.place(REDSTONE_TORCH,
blocks.place(REDSTONE_TORCH,
player.on_travelled(WALK, on_travelled_walk)
#strasse (139+200) #strassenlampe (139+220)
start=139 x=200 laenge=start+220
def strasse(laenge):
blocks.fill(BLACK_WOOL, world(-225,-61,139 ), world(-221,-61,laenge),FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, world(-223,-61,139), world(-223,-61,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-227,-60,139), world(-226,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-228,-60,139), world(-228, -60, laenge),FillOperation.REPLACE) blocks.fill(LIGHT_GRAY_CONCRETE_POWDER,world(-229,-60,139), world(-229, -60, laenge), FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-220,-60,139), world(-219,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-218,-60,139), world(-218, -60, laenge),FillOperation.REPLACE) blocks.fill(LIGHT_GRAY_CONCRETE_POWDER,world(-217,-60,139), world(-217, -60, laenge) , FillOperation.REPLACE)
def strassenlampe(laenge):
for i in range(1,x):
if ((i%10)==0):
blocks.place(REDSTONE_LAMP, world(-229,-59,start+i))
else:
pass
for i in range(1,x):
if ((i%10)==0):
blocks.place(REDSTONE_LAMP, world(-217,-59,start+i))
else:
pass
def grau(laenge):
for i in range(1,x):
if ((i%10)==0):
pass
else:
blocks.place(LIGHT_GRAY_CONCRETE_POWDER, world(-217,-60, laenge))
for i in range(1,x):
if ((i%10)==0):
pass
else:
blocks.place(LIGHT_GRAY_CONCRETE_POWDER, world(-229,-60, laenge))
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)
if (-226<x<-220) and (y==-60) and (z==139<x<laenge):
for i in range(1,x):
if ((i%10)==0):
blocks.place(REDSTONE_TORCH, world (-217,-60, start+i))
else:
pass
for i in range(1,x):
if ((i%10)==0):
blocks.place(REDSTONE_TORCH, world (-229,-60, start+i))
else:
pass
#strasse (laenge) #strassenlampe (laenge) #grau(laenge)
17.1.24, strasse
start=139 a=200 laenge=start+a
def strasse(laenge):
blocks.fill(BLACK_WOOL, world(-225,-61,start), world(-221,-61,laenge),FillOperation.REPLACE) blocks.fill(WHITE_CONCRETE, world(-223,-61,start), world(-223,-61,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-227,-60,start), world(-226,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-228,-60,start), world(-228, -60, laenge),FillOperation.REPLACE) blocks.fill(LIGHT_GRAY_CONCRETE_POWDER,world(-229,-60,start), world(-229, -60, laenge), FillOperation.REPLACE) blocks.fill(STONE_BRICKS_SLAB, world(-220,-60,start), world(-219,-60,laenge),FillOperation.REPLACE) blocks.fill(STONE_BRICKS, world(-218,-60,start), world(-218, -60, laenge),FillOperation.REPLACE) blocks.fill(LIGHT_GRAY_CONCRETE_POWDER,world(-217,-60,start), world(-217, -60, laenge) , FillOperation.REPLACE)
def strassenlampe(laenge):
for i in range(1,a):
if ((i%10)==0):
blocks.place(REDSTONE_LAMP, world(-229,-59,start+i))
blocks.place(REDSTONE_LAMP, world(-217,-59,start+i))
else:
pass
def grau(laenge):
for i in range(1,a):
if ((i%10)==0):
pass
else:
blocks.place(LIGHT_GRAY_CONCRETE_POWDER, world(-217,-60, laenge))
blocks.place(LIGHT_GRAY_CONCRETE_POWDER, world(-229,-60, laenge))
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)
if (-220<x<-230) and (-58<y<-60) and (start<z<laenge):
for i in range(1,a):
if ((i%10)==0):
blocks.place(REDSTONE_TORCH, world(-217,-60, start+i))
blocks.place(REDSTONE_TORCH, world (-229,-60, start+i))
else:
pass
strasse (laenge) strassenlampe (laenge) grau(laenge) player.on_travelled(WALK,on_travelled_walk)