======Big city life======
//Projekt von Julia, Samira und Alina//
==== Unsere Idee ====
Wir möchten eine Stadt bauen, welche keine Grenzen kennt. Eine Stadt mit Hochhäusern, Strassen bei der die Natur mit kleinen Parks nicht zu kurz kommt. Wie cool wäre es wenn man Häuser auf Knopfdruck bauen kann. Wir möchte eine Stadt erstellen in der man selber auch gerne wohnen würde.Eine Stadt in der sich jeder wohl fühlt.
==== Einteilung ====
Julia S: Konstruktion der Häuser mit Fenstern, Schornsteinen usw, Basketballplatz, kleine Gehwege, Parkplatz, Spar.
Alina: Bau der Strassen, Hinzufügen der Häuser, Fluss, Pflanzung von Bäumen und Pflanzen, Spar Wiki.
Samira: Bäume bauen, Gärten konstruieren, Autos bauen, Menschen hinein bauen.
==== Die Stadt von allen Seiten ====
{{:group:gf:2d2:capture_d_ecran_2022-01-24_a_12.14.07.png?400|}}
Unserer kleiner Laden
{{ :group:gf:2d2:capture_d_ecran_2022-01-24_a_12.07.31.png?400|}}
{{:group:gf:2d2:capture_d_ecran_2022-01-24_a_12.09.48.png?400|}}
Blickwinkel
==== Vorgehensweise ====
Zuerst haben wir die Strassen gebaut:
strasse_X(0,3,5,200)
strasse_X(0,3,105,200)
strasse_Z(100,3,-95,200)
Strasse_Z(200,3,-95,200)
strasse_Z(0,3,-95,200)
strasse_X(0,3,52,200)
Diese haben ein Grundmuster gegeben um die verschiednen Häuser durch Programmierung einzusetzen.
Danach haben wir die Häuser eingefügt, welche Julia programmiert hat.
- Haus 1
- Haus 2
- Haus 3
Diesen Vorgang haben wir so oft wiederholt bis alle Strassen mit Häusern gefüllt waren. Die jeweiligen Häuser haben wir zur Abwechslung mit verschiedenen Steinen gebaut, und auch ein bisschen experimentiert.
Nach einiger Zeit hatten wir das Problem, dass die Häuser nicht auf alle Strassen Seiten gepasst haben, da wir sie nicht drehen können. Samira hat dann eine Lösung gefunden, in dem sie die Tür auf der anderen Seite hin programmiert hat.
Julia und Alina haben einen Spar gebaut, welcher nicht programmiert ist. Mit einem dazugehörigen Parkplatz, und ein paar Autos.
Samira hat einen Park programmiert mit Blumen und Bäumen welcher am Stadtrand eingesetzt wurde.
Zum Schluss wurden noch kleine Verschönerungen vorgenommen. Alina hat eine Fluss gebaut und zig Bäume gepflanzt. Julia hat einen Basketballplatz gebaut und Samira hat Ampeln eingefügt und die Autos auf die Strassen gesetzt.
==== Programmiert oder nicht? ====
Programmiert ist:
* Häuser
* Strassen
* Park
* Bäume der Alee
Gebaut ist:
* Autos
* Bäume
* Blumen, etc.
* Basketballplatz
* Fluss
* Seen
* Menschen
* Spar
* Parkplatz
==== Unsere Codes ====
**Haus Nummer 1 **
def fenster(x,y,z):
blocks.place(AIR,world(x,y,z))
blocks.place(GLASS,world(x,y,z))
def Schornstein(x,y,z):
blocks.place(BRICKS,world(x,y,z))
blocks.place(BRICKS,world(x+1,y,z))
blocks.place(COBWEB,world(x,y+1,z))
blocks.place(AIR,world(x,y+2,z))
blocks.place(COBWEB,world(x,y+3,z))
blocks.place(COBWEB,world(x+1,y+4,z))
def Blumenbeet(x,y,z):
blocks.place(COARSE_DIRT,world(x,y,z))
blocks.place(LILAC,world(x,y+1,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,3),world(x,y,z-1))
blocks.place(DARK_OAK_TRAPDOOR,world(x+1,y,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,1),world(x-1,y,z))
def house_number1(xpos,ypos,zpos,breite, hoehe):
blocks.fill(BRICKS,world(xpos,ypos,zpos),world(xpos+breite,ypos+hoehe, zpos+breite))
blocks.fill(AIR, world(xpos+1,ypos,zpos+1),world(xpos+breite-1,ypos+hoehe-1, zpos+breite-1))
#Tuere
blocks.fill(AIR,world(xpos+4,ypos,zpos),world(xpos+4,ypos+1,zpos))
blocks.place(BIRCH_DOOR,world(xpos+4,ypos,zpos))
#Etage
for dy in range(-1,17,3):
blocks.fill(STRIPPED_SPRUCE_WOOD,world(xpos+1,ypos+dy,zpos+1),world(xpos+9,ypos+dy,zpos+9))
for dy in range(2,17,3):
blocks.place(AIR,world(xpos+9,ypos+dy,zpos+2))
for dy in range(0,17,1):
blocks.place(blocks.block_with_data(LADDER, 4),world(xpos+9,ypos+dy,zpos+2))
for dy in range(3,17,6):
blocks.place(TORCH,world(xpos+3,ypos+dy,zpos+5))
#Dach
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(BRICK_STAIRS, 2),world(xpos+dx,ypos+18,zpos-1))
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(BRICK_STAIRS, 3),world(xpos+dx,ypos+18,zpos+11))
for dz in range(-1,11,1):
blocks.place(BRICK_STAIRS,world(xpos-1,ypos+18,zpos+dz))
for dz in range(-1,11,1):
blocks.place(blocks.block_with_data(BRICK_STAIRS, 1),world(xpos+11,ypos+18,zpos+dz))
Schornstein(xpos+3,ypos+19,zpos+6)
Blumenbeet(xpos+2,ypos,zpos-1)
Blumenbeet(xpos+6,ypos,zpos-1)
for dy in range(1,17,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
for dy in range(1,17,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(1,17,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
for dy in range(1,17,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
house_number1(94,4,-90,10,18)
**Haus Nummer 2**
def fenster(x,y,z):
blocks.place(AIR,world(x,y,z))
blocks.place(GLASS,world(x,y,z))
def Schornstein(x,y,z):
blocks.place(BLOCK_OF_QUARTZ,world(x,y,z))
blocks.place(BLOCK_OF_QUARTZ,world(x+1,y,z))
blocks.place(COBWEB,world(x,y+1,z))
blocks.place(AIR,world(x,y+2,z))
blocks.place(COBWEB,world(x,y+3,z))
blocks.place(COBWEB,world(x+1,y+4,z))
def Blumenbeet(x,y,z):
blocks.place(COARSE_DIRT,world(x,y,z))
blocks.place(LILAC,world(x,y+1,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,3),world(x,y,z-1))
blocks.place(DARK_OAK_TRAPDOOR,world(x+1,y,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,1),world(x-1,y,z))
def house_number2(xpos,ypos,zpos,breite, hoehe):
blocks.fill(BLOCK_OF_QUARTZ,world(xpos,ypos,zpos),world(xpos+breite,ypos+hoehe, zpos+breite))
blocks.fill(AIR, world(xpos+1,ypos,zpos+1),world(xpos+breite-1,ypos+hoehe-1, zpos+breite-1))
#Tuere
blocks.fill(AIR,world(xpos+4,ypos,zpos),world(xpos+4,ypos+1,zpos))
blocks.place(DARK_OAK_DOOR,world(xpos+4,ypos,zpos))
#Etage
for dy in range(-1,29,3):
blocks.fill(STRIPPED_SPRUCE_WOOD,world(xpos+1,ypos+dy,zpos+1),world(xpos+9,ypos+dy,zpos+9))
for dy in range(2,29,3):
blocks.place(AIR,world(xpos+9,ypos+dy,zpos+2))
for dy in range(0,29,1):
blocks.place(blocks.block_with_data(LADDER, 4),world(xpos+9,ypos+dy,zpos+2))
for dy in range(3,29,6):
blocks.place(TORCH,world(xpos+3,ypos+dy,zpos+5))
Schornstein(xpos+3,ypos+31,zpos+6)
Blumenbeet(xpos+2,ypos,zpos-1)
Blumenbeet(xpos+6,ypos,zpos-1)
#Fenster Vorderseite
for dy in range(1,29,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
for dy in range(0,29,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
#fenster Nebenseiten
for dy in range(1,29,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(0,29,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(1,29,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
for dy in range(0,29,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
#Fenster Rückseite
for dy in range(1,29,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
for dy in range(0,29,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
house_number2(74,4,-90,10,30)
**Haus Nummer 3**
def fenster(x,y,z):
blocks.place(AIR,world(x,y,z))
blocks.place(GLASS,world(x,y,z))
def Schornstein(x,y,z):
blocks.place(LIGHT_BLUE_TERRACOTTA,world(x,y,z))
blocks.place(LIGHT_BLUE_TERRACOTTA,world(x+1,y,z))
blocks.place(COBWEB,world(x,y+1,z))
blocks.place(AIR,world(x,y+2,z))
blocks.place(COBWEB,world(x,y+3,z))
blocks.place(COBWEB,world(x+1,y+4,z))
def Blumenbeet(x,y,z):
blocks.place(COARSE_DIRT,world(x,y,z))
blocks.place(ROSE_BUSH,world(x,y+1,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,3),world(x,y,z-1))
blocks.place(DARK_OAK_TRAPDOOR,world(x+1,y,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,1),world(x-1,y,z))
def house_number3(xpos,ypos,zpos,breite, hoehe):
blocks.fill(LIGHT_BLUE_TERRACOTTA,world(xpos,ypos,zpos),world(xpos+breite,ypos+hoehe, zpos+breite))
blocks.fill(AIR, world(xpos+1,ypos,zpos+1),world(xpos+breite-1,ypos+hoehe-1, zpos+breite-1))
#Tuere
blocks.fill(AIR,world(xpos+4,ypos,zpos),world(xpos+4,ypos+1,zpos))
blocks.place(BIRCH_DOOR,world(xpos+4,ypos,zpos))
#Etage
for dy in range(-1,8,3):
blocks.fill(STRIPPED_SPRUCE_WOOD,world(xpos+1,ypos+dy,zpos+1),world(xpos+9,ypos+dy,zpos+9))
for dy in range(2,8,3):
blocks.place(AIR,world(xpos+9,ypos+dy,zpos+2))
for dy in range(0,8,1):
blocks.place(blocks.block_with_data(LADDER, 4),world(xpos+9,ypos+dy,zpos+2))
for dy in range(3,8,6):
blocks.place(TORCH,world(xpos+3,ypos+dy,zpos+5))
#Dach
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 2),world(xpos+dx,ypos+9,zpos-1))
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 3),world(xpos+dx,ypos+9,zpos+11))
for dz in range(-1,11,1):
blocks.place(DARK_OAK_WOOD_STAIRS,world(xpos-1,ypos+9,zpos+dz))
for dz in range(-1,12,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 1),world(xpos+11,ypos+9,zpos+dz))
for dx in range(0,10,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 2),world(xpos+dx,ypos+10,zpos))
for dx in range(0,10,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 3),world(xpos+dx,ypos+10,zpos+10))
for dz in range(0,10,1):
blocks.place(DARK_OAK_WOOD_STAIRS,world(xpos,ypos+10,zpos+dz))
for dz in range(0,11,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 1),world(xpos+10,ypos+10,zpos+dz))
for dx in range(+1,9,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 2),world(xpos+dx,ypos+11,zpos+1))
for dx in range(+1,9,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 3),world(xpos+dx,ypos+11,zpos+9))
for dz in range(+1,9,1):
blocks.place(DARK_OAK_WOOD_STAIRS,world(xpos+1,ypos+11,zpos+dz))
for dz in range(+1,10,1):
blocks.place(blocks.block_with_data(DARK_OAK_WOOD_STAIRS, 1),world(xpos+9,ypos+11,zpos+dz))
Schornstein(xpos+3,ypos+12,zpos+6)
Blumenbeet(xpos+2,ypos,zpos-1)
Blumenbeet(xpos+6,ypos,zpos-1)
for dy in range(1,8,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
for dy in range(1,8,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(1,8,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
for dy in range(1,8,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
house_number3(174,4,-90,10,9)
**Haus Nummer 4**
def fenster(x,y,z):
blocks.place(AIR,world(x,y,z))
blocks.place(GLASS,world(x,y,z))
def Schornstein(x,y,z):
blocks.place(GREEN_TERRACOTTA,world(x,y,z))
blocks.place(GREEN_TERRACOTTA,world(x+1,y,z))
blocks.place(COBWEB,world(x,y+1,z))
blocks.place(AIR,world(x,y+2,z))
blocks.place(COBWEB,world(x,y+3,z))
blocks.place(COBWEB,world(x+1,y+4,z))
def Blumenbeet(x,y,z):
blocks.place(COARSE_DIRT,world(x,y,z))
blocks.place(ROSE_BUSH,world(x,y+1,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,3),world(x,y,z-1))
blocks.place(DARK_OAK_TRAPDOOR,world(x+1,y,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,1),world(x-1,y,z))
def house_number4(xpos,ypos,zpos,breite, hoehe):
blocks.fill(GREEN_TERRACOTTA,world(xpos,ypos,zpos),world(xpos+breite,ypos+hoehe, zpos+breite))
blocks.fill(AIR, world(xpos+1,ypos,zpos+1),world(xpos+breite-1,ypos+hoehe-1, zpos+breite-1))
#Tuere
blocks.fill(AIR,world(xpos+4,ypos,zpos),world(xpos+4,ypos+1,zpos))
blocks.place(BIRCH_DOOR,world(xpos+4,ypos,zpos))
#Etage
for dy in range(-1,8,3):
blocks.fill(STRIPPED_SPRUCE_WOOD,world(xpos+1,ypos+dy,zpos+1),world(xpos+9,ypos+dy,zpos+9))
for dy in range(2,8,3):
blocks.place(AIR,world(xpos+9,ypos+dy,zpos+2))
for dy in range(0,8,1):
blocks.place(blocks.block_with_data(LADDER, 4),world(xpos+9,ypos+dy,zpos+2))
for dy in range(3,8,6):
blocks.place(TORCH,world(xpos+3,ypos+dy,zpos+5))
#Dach
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 2),world(xpos+dx,ypos+9,zpos-1))
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 3),world(xpos+dx,ypos+9,zpos+11))
for dz in range(-1,11,1):
blocks.place(BIRCH_WOOD_STAIRS,world(xpos-1,ypos+9,zpos+dz))
for dz in range(-1,12,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 1),world(xpos+11,ypos+9,zpos+dz))
for dx in range(0,10,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 2),world(xpos+dx,ypos+10,zpos))
for dx in range(0,10,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 3),world(xpos+dx,ypos+10,zpos+10))
for dz in range(0,10,1):
blocks.place(BIRCH_WOOD_STAIRS,world(xpos,ypos+10,zpos+dz))
for dz in range(0,11,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 1),world(xpos+10,ypos+10,zpos+dz))
for dx in range(+1,9,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 2),world(xpos+dx,ypos+11,zpos+1))
for dx in range(+1,9,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 3),world(xpos+dx,ypos+11,zpos+9))
for dz in range(+1,9,1):
blocks.place(BIRCH_WOOD_STAIRS,world(xpos+1,ypos+11,zpos+dz))
for dz in range(+1,10,1):
blocks.place(blocks.block_with_data(BIRCH_WOOD_STAIRS, 1),world(xpos+9,ypos+11,zpos+dz))
Schornstein(xpos+3,ypos+12,zpos+6)
Blumenbeet(xpos+2,ypos,zpos-1)
Blumenbeet(xpos+6,ypos,zpos-1)
for dy in range(1,8,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
for dy in range(1,8,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(1,8,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
for dy in range(1,8,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
house_number4(204,4,-90,10,9)
**Haus Nummer 5**
def fenster(x,y,z):
blocks.place(AIR,world(x,y,z))
blocks.place(GLASS,world(x,y,z))
def Schornstein(x,y,z):
blocks.place(BLUE_TERRACOTTA,world(x,y,z))
blocks.place(BLUE_TERRACOTTA,world(x+1,y,z))
blocks.place(COBWEB,world(x,y+1,z))
blocks.place(AIR,world(x,y+2,z))
blocks.place(COBWEB,world(x,y+3,z))
blocks.place(COBWEB,world(x+1,y+4,z))
def Blumenbeet(x,y,z):
blocks.place(COARSE_DIRT,world(x,y,z))
blocks.place(AZURE_BLUET,world(x,y+1,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,3),world(x,y,z-1))
blocks.place(DARK_OAK_TRAPDOOR,world(x+1,y,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,1),world(x-1,y,z))
def house_number5(xpos,ypos,zpos,breite, hoehe):
blocks.fill(BLUE_TERRACOTTA,world(xpos,ypos,zpos),world(xpos+breite,ypos+hoehe, zpos+breite))
blocks.fill(AIR, world(xpos+1,ypos,zpos+1),world(xpos+breite-1,ypos+hoehe-1, zpos+breite-1))
#Tuere
blocks.fill(AIR,world(xpos+4,ypos,zpos),world(xpos+4,ypos+1,zpos))
blocks.place(BIRCH_DOOR,world(xpos+4,ypos,zpos))
#Etage
for dy in range(-1,8,3):
blocks.fill(STRIPPED_SPRUCE_WOOD,world(xpos+1,ypos+dy,zpos+1),world(xpos+9,ypos+dy,zpos+9))
for dy in range(2,8,3):
blocks.place(AIR,world(xpos+9,ypos+dy,zpos+2))
for dy in range(0,8,1):
blocks.place(blocks.block_with_data(LADDER, 4),world(xpos+9,ypos+dy,zpos+2))
for dy in range(3,8,6):
blocks.place(TORCH,world(xpos+3,ypos+dy,zpos+5))
#Dach
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 2),world(xpos+dx,ypos+9,zpos-1))
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 3),world(xpos+dx,ypos+9,zpos+11))
for dz in range(-1,11,1):
blocks.place(JUNGLE_WOOD_STAIRS,world(xpos-1,ypos+9,zpos+dz))
for dz in range(-1,12,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 1),world(xpos+11,ypos+9,zpos+dz))
for dx in range(0,10,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 2),world(xpos+dx,ypos+10,zpos))
for dx in range(0,10,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 3),world(xpos+dx,ypos+10,zpos+10))
for dz in range(0,10,1):
blocks.place(JUNGLE_WOOD_STAIRS,world(xpos,ypos+10,zpos+dz))
for dz in range(0,11,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 1),world(xpos+10,ypos+10,zpos+dz))
for dx in range(+1,9,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 2),world(xpos+dx,ypos+11,zpos+1))
for dx in range(+1,9,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 3),world(xpos+dx,ypos+11,zpos+9))
for dz in range(+1,9,1):
blocks.place(JUNGLE_WOOD_STAIRS,world(xpos+1,ypos+11,zpos+dz))
for dz in range(+1,10,1):
blocks.place(blocks.block_with_data(JUNGLE_WOOD_STAIRS, 1),world(xpos+9,ypos+11,zpos+dz))
Schornstein(xpos+3,ypos+12,zpos+6)
Blumenbeet(xpos+2,ypos,zpos-1)
Blumenbeet(xpos+6,ypos,zpos-1)
for dy in range(1,8,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
for dy in range(1,8,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(1,8,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
for dy in range(1,8,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
house_number5(148,4,115,10,9)
**Haus umgedreht um 180°**
def fenster(x,y,z):
blocks.place(AIR,world(x,y,z))
blocks.place(GLASS,world(x,y,z))
def Schornstein(x,y,z):
blocks.place(BRICKS,world(x,y,z))
blocks.place(BRICKS,world(x+1,y,z))
blocks.place(COBWEB,world(x,y+1,z))
blocks.place(AIR,world(x,y+2,z))
blocks.place(COBWEB,world(x,y+3,z))
blocks.place(COBWEB,world(x+1,y+4,z))
def Blumenbeet(x,y,z):
blocks.place(COARSE_DIRT,world(x,y,z))
blocks.place(LILAC,world(x,y+1,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,3),world(x,y,z+1))
blocks.place(DARK_OAK_TRAPDOOR,world(x+1,y,z))
blocks.place(blocks.block_with_data(DARK_OAK_TRAPDOOR,1),world(x-1,y,z))
def house_number1(xpos,ypos,zpos,breite, hoehe):
blocks.fill(BRICKS,world(xpos,ypos,zpos),world(xpos+breite,ypos+hoehe, zpos+breite))
blocks.fill(AIR, world(xpos+1,ypos,zpos+1),world(xpos+breite-1,ypos+hoehe-1, zpos+breite-1))
#Tuere
blocks.fill(AIR,world(xpos+4,ypos,zpos+breite),world(xpos+4,ypos+1,zpos+breite))
blocks.place(BIRCH_DOOR,world(xpos+4,ypos,zpos+breite))
#Etage
for dy in range(-1,17,3):
blocks.fill(STRIPPED_SPRUCE_WOOD,world(xpos+1,ypos+dy,zpos+1),world(xpos+9,ypos+dy,zpos+9))
for dy in range(2,17,3):
blocks.place(AIR,world(xpos+9,ypos+dy,zpos+2))
for dy in range(0,17,1):
blocks.place(blocks.block_with_data(LADDER, 4),world(xpos+9,ypos+dy,zpos+2))
for dy in range(3,17,6):
blocks.place(TORCH,world(xpos+3,ypos+dy,zpos+5))
#Dach
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(BRICK_STAIRS, 2),world(xpos+dx,ypos+18,zpos-1))
for dx in range(-1,11,1):
blocks.place(blocks.block_with_data(BRICK_STAIRS, 3),world(xpos+dx,ypos+18,zpos+11))
for dz in range(-1,11,1):
blocks.place(BRICK_STAIRS,world(xpos-1,ypos+18,zpos+dz))
for dz in range(-1,11,1):
blocks.place(blocks.block_with_data(BRICK_STAIRS, 1),world(xpos+11,ypos+18,zpos+dz))
Schornstein(xpos+3,ypos+19,zpos+6)
Blumenbeet(xpos+2,ypos,zpos+breite+1)
Blumenbeet(xpos+6,ypos,zpos+breite+1)
for dy in range(1,17,3):
fenster(xpos+7,ypos+dy,zpos)
fenster(xpos+8,ypos+dy,zpos)
fenster(xpos+2,ypos+dy,zpos)
for dy in range(1,17,3):
fenster(xpos+10,ypos+dy,zpos+5)
fenster(xpos+10,ypos+dy,zpos+6)
for dy in range(1,17,3):
fenster(xpos,ypos+dy,zpos+5)
fenster(xpos,ypos+dy,zpos+6)
for dy in range(1,17,3):
fenster(xpos+7,ypos+dy,zpos+10)
fenster(xpos+8,ypos+dy,zpos+10)
fenster(xpos+2,ypos+dy,zpos+10)
house_number1(250,4,-150,10,18)
**Strassen**
//Strasse in X Richtung//
def strasse_X(xpos,ypos,zpos,laenge):
blocks.fill(LIGHT_GRAY_CONCRETE,world(xpos,ypos,zpos),world(xpos+laenge,ypos,zpos+4))
for i in range(xpos,xpos+laenge,2):
blocks.place(CONCRETE,world(i,ypos,zpos+2))
//Strasse in Y Richtung//
def strasse_y1(xpos,ypos,zpos,laenge):
blocks.fill(LIGHT_GRAY_CONCRETE,world(xpos,ypos,zpos),world(xpos+4,ypos,zpos+laenge))
for i in range(zpos+2,zpos+laenge,2):
blocks.place(CONCRETE,world(xpos+2,ypos,i))
**Baum**
def Baum(xpos,ypos,zpos,hoehestamm,radius):
shapes.sphere(LEAVES_OAK,world(xpos,ypos+hoehestamm,zpos),radius,ShapeOperation.REPLACE)
shapes.line(LOG_OAK,world(xpos,ypos,zpos),world(xpos,ypos+hoehestamm,zpos))
**Zaun**
def Zaun(xpos, ypos, zpos, breite, hoehe):
blocks.fill (OAK_FENCE, world(xpos, ypos, zpos), world(xpos+breite, ypos, zpos+breite))
blocks.fill (AIR, world(xpos+1, ypos, zpos+1), world(xpos+breite-1, ypos+hoehe+1, zpos+breite-1))
Zaun(100, 4, 100, 20, 1)$
**Park**
def Zaun(xpos, ypos, zpos, breite, hoehe):
blocks.fill (OAK_FENCE, world(xpos, ypos, zpos), world(xpos+breite, ypos, zpos+breite))
blocks.fill (AIR, world(xpos+1, ypos, zpos+1), world(xpos+breite-1, ypos+hoehe+1, zpos+breite-1))
def Weg(xpos, ypos, zpos, breite, hoehe):
blocks.fill (GRAVEL, world(xpos+1, ypos-1, zpos+1), world(xpos+breite-1, ypos-1, zpos+breite-1))
blocks.fill (GRASS, world(xpos+3, ypos-1, zpos+3), world(xpos+breite-3, ypos-1, zpos+breite-3))
def Weg_2(xpos, ypos, zpos, breite, hoehe, leange):
blocks.fill (GRAVEL, world(xpos+31, ypos-1, zpos+3), world(xpos+28, ypos-1, zpos+leange-2))
def Weg_3(xpos, ypos, zpos, breite, hoehe, leange):
blocks.fill (GRAVEL, world(xpos+3, ypos-1, zpos+31), world(xpos+leange-2, ypos-1, zpos+28))
def Baum(xpos, ypos, zpos):
blocks.fill (GRASS, world(xpos+31, ypos-1, zpos+28), world(xpos+28, ypos-1, zpos+31))
agent.teleport (world (xpos, ypos, zpos), WEST)
agent.set_item(OAK_SAPLING, 4, 1)
agent.set_item(BONE_MEAL, 1, 2)
agent.set_slot(1)
agent.place(FORWARD)
agent.move(LEFT, 1)
agent.place(FORWARD)
agent.move(FORWARD, 1)
agent.place(FORWARD)
agent.move(RIGHT, 1)
agent.place(FORWARD)
agent.set_slot(2)
agent.place(FORWARD)
def Park(xpos, ypos, zpos, breite, hoehe, leange):
Zaun(xpos, ypos, zpos, breite, hoehe)
Weg(xpos, ypos, zpos, breite, hoehe)
Weg_2(xpos, ypos, zpos, breite, hoehe, leange)
Weg_3(xpos, ypos, zpos, breite, hoehe, leange)
Baum(xpos, ypos, zpos)
Park (1000,4,600,60,1, 60)
==== Fazit ====
Wir hatten alle viel Spass und fanden es eine gute Abwechslung zu dem normalen Schulunterricht. Auch die Selbständigkeit und Freiheit die wir hatten war sehr gut. Was manchmal schwierig war sind die Codes, wir haben uns immer wieder den Kopf zerbrochen. Doch schulssentlich haben wir unsere Ziele erreicht und sind mit der Welt sehr zufrieden.
==== Anhang ====
Unsere Welt:
{{ :group:gf:2d2:projekt_info.mcworld |}}