| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
| gf2:projekte:minecraft:2d1gruppe6 [2023/01/27 14:34] – stalderp | gf2:projekte:minecraft:2d1gruppe6 [2023/01/30 09:01] (aktuell) – staempflim |
|---|
| **ZOO** | {{ :gf2:projekte:minecraft:zoo_informatik.mcworld |}}**ZOO** |
| |
| Wir wollen zusammen einen Zoo, evt. mit Aquarium, bauen und haben dafür zuerst einige Gehege programmiert: | Wir wollen zusammen einen Zoo, evt. mit Aquarium, bauen und haben dafür zuerst einige Gehege programmiert: |
| <code python> | <code python> |
| def Aquarium(x,y,z): | def Aquarium(x,y,z): |
| blocks.fill(GLASS, world(x, y-1, z), world(x+14, y+10, z+9), FillOperation.HOLLOW) | blocks.fill(GLASS, world(x, y-1, z), world(x+14, y+10, z+20), FillOperation.HOLLOW) |
| blocks.fill(GRASS, world(x, y-1, z), world(x+14, y-1, z+9), FillOperation.REPLACE) | blocks.fill(GRASS, world(x, y-1, z), world(x+14, y-1, z+20), FillOperation.REPLACE) |
| blocks.fill(SAND, world(x+1, y-1, z+1), world(x+13, y-1, z+8), FillOperation.REPLACE) | blocks.fill(SAND, world(x+1, y-1, z+1), world(x+13, y-1, z+19), FillOperation.REPLACE) |
| blocks.fill(WATER, world(x+1, y+1, z+1), world(x+13, y+9, z+8), FillOperation.REPLACE) | blocks.fill(WATER, world(x+1, y+1, z+1), world(x+13, y+9, z+19), FillOperation.REPLACE) |
| |
| Aquarium(72,-60,99) | Aquarium(72,-60,99) |
| tunnel() | tunnel() |
| </code> | </code> |
| Aquarium mit Tunnel (Ein- und Ausgang selber zerstören): | Aquarium mit Tunnel: (Korallen & Tiere selber einfügen) |
| <code python> | <code python> |
| def tunne2(X,Y,Z): | def TunnelAquarium(X,Y,Z): |
| blocks.fill(GLASS, world(X, Y, Z), world(X+25, Y+25, Z+25), FillOperation.HOLLOW) | blocks.fill(GLASS, world(X, Y, Z), world(X+25, Y+25, Z+25), FillOperation.HOLLOW) |
| blocks.fill(WATER, world(X+1, Y+1, Z+1), world(X+24, Y+23, Z+24), FillOperation.REPLACE) | blocks.fill(WATER, world(X+1, Y+1, Z+1), world(X+24, Y+23, Z+24), FillOperation.REPLACE) |
| blocks.fill(GLASS, world(X+10, Y-1, Z-1), world(X+15, Y+5, Z+25), FillOperation.HOLLOW) | blocks.fill(GLASS, world(X+10, Y-1, Z), world(X+15, Y+5, Z+25), FillOperation.HOLLOW) |
| tunne2(-72,-60,-133) | blocks.fill(SAND, world(X+1,Y-1,Z+1), world(X+24,Y-1,Z+24), FillOperation.REPLACE) |
| | blocks.fill(GLOWSTONE, world(X+10,Y-1,Z), world(X+15,Y-1,Z+25), FillOperation.REPLACE) |
| | blocks.fill(AIR, world(X+11,Y,Z-1), world(X+14,Y+4,Z+25), FillOperation.REPLACE) |
| </code> | </code> |
| |
| </code> | </code> |
| |
| Eingang: (selber Schilder dran tun und Seelen-Fackeln) | Eingang: |
| <code python> | <code python> |
| def Eingang(x,y,z): #der Punkt ist unten rechts | def Eingang(x,y,z): #der Punkt ist unten rechts |
| blocks.fill(AIR, world(x+11, y, z+5), world(x+13, y+1, z+5), FillOperation.REPLACE) #Haupteingang | blocks.fill(AIR, world(x+11, y, z+5), world(x+13, y+1, z+5), FillOperation.REPLACE) #Haupteingang |
| blocks.place(AIR, world(x+12, y+2, z+5)) | blocks.place(AIR, world(x+12, y+2, z+5)) |
| | |
| | </code> |
| |
| def panda_gehege(X,Y,Z): | Hier ist unsere fertige Welt: |
| | <code python> |
| | def Eingang(x,y,z): #selber Schilder und Seelenfackeln |
| | blocks.fill(PURPUR_BLOCK, world(x, y-1, z), world(x+25, y+4, z+5), FillOperation.HOLLOW) |
| | blocks.fill(STRIPPED_OAK_WOOD, world(x, y-1, z), world(x+25, y-1, z+5), FillOperation.REPLACE) |
| | blocks.fill(AIR, world(x, y, z+2), world(x, y+1, z+3), FillOperation.REPLACE) |
| | blocks.fill(AIR, world(x+25, y, z+2), world(x+25, y+1, z+3), FillOperation.REPLACE) |
| | blocks.fill(AIR, world(x+11, y, z+5), world(x+13, y+1, z+5), FillOperation.REPLACE) #Haupteingang |
| | blocks.place(AIR, world(x+12, y+2, z+5)) |
| | |
| | def panda_gehege(X,Y,Z): #selber Bambus |
| blocks.fill(OAK_FENCE, world(X, Y, Z), world(X+25, Y+2, Z+25), FillOperation.HOLLOW) | blocks.fill(OAK_FENCE, world(X, Y, Z), world(X+25, Y+2, Z+25), FillOperation.HOLLOW) |
| blocks.fill(AIR, world(X+1, Y, Z+1), world(X+24, Y+2, Z+24), FillOperation.REPLACE) | blocks.fill(AIR, world(X+1, Y, Z+1), world(X+24, Y+2, Z+24), FillOperation.REPLACE) |
| | |
| def Streichelzoo(x,y,z): | def Streichelzoo(x,y,z): #selber Knopf für Tür & bonemeal |
| blocks.fill(GLASS, world(x,y,z), world(x+25, y+2, z+25), FillOperation.HOLLOW) | blocks.fill(GLASS, world(x,y,z), world(x+25, y+2, z+25), FillOperation.HOLLOW) |
| blocks.fill(AIR, world(x+1,y,z+1), world(x+24, y+2, z+24), FillOperation.REPLACE) | blocks.fill(AIR, world(x+1,y,z+1), world(x+24, y+2, z+24), FillOperation.REPLACE) |
| blocks.fill(GRASS, world(x+11, y+1, z+13), world(x+14, y+1, z+15)) | blocks.fill(GRASS, world(x+11, y+1, z+13), world(x+14, y+1, z+15)) |
| blocks.fill(GRASS, world(x+5, y, z+2), world(x+9, y, z+9)) | blocks.fill(GRASS, world(x+5, y, z+2), world(x+9, y, z+9)) |
| | |
| def papagei_gehege(X,Y,Z): | def papagei_gehege(X,Y,Z): #selber Türen & Knopf & Bäume & bonemeal |
| blocks.fill(AIR, world(X, Y, Z), world(X+25, Y+25, Z+25), FillOperation.HOLLOW) | blocks.fill(GLASS, world(X, Y, Z), world(X+25, Y+25, Z+25), FillOperation.HOLLOW) |
| blocks.fill(AIR, world(X+1, Y, Z+1), world(X+24, Y+24, Z+24), FillOperation.REPLACE) | blocks.fill(AIR, world(X+1, Y, Z+1), world(X+24, Y+24, Z+24), FillOperation.REPLACE) |
| blocks.fill(AIR, world(X+25,Y,Z+15), world(X+23, Y+2, Z+13), FillOperation.HOLLOW) | blocks.fill(GLASS, world(X+11,Y,Z+24), world(X+13, Y+2, Z+20), FillOperation.HOLLOW) |
| blocks.fill(AIR, world(X+25,Y,Z+14), world(X+23, Y+1, Z+14), FillOperation.REPLACE) | blocks.fill(AIR, world(X+12, Y, Z+25), world(X+12, Y+1, Z+20)) |
| blocks.place(AIR, world(X+26, Y, Z+14)) | blocks.place(STONE_PRESSURE_PLATE, world(X+12, Y, Z+26)) |
| blocks.place(AIR, world(X+27, Y, Z+14)) | blocks.place(STONE_PRESSURE_PLATE, world(X+12, Y, Z+24)) |
| blocks.place(AIR, world(X+25, Y, Z+14)) | blocks.fill(GLASS, world(X+11,Y,Z+1), world(X+13, Y+2, Z+3), FillOperation.HOLLOW) |
| blocks.place(AIR, world(X+24, Y, Z+14)) | blocks.fill(AIR, world(X+12, Y, Z), world(X+12, Y+1, Z+3)) |
| | blocks.place(STONE_PRESSURE_PLATE, world(X+12, Y, Z-1)) |
| def Wolf_Ocelot(x,y,z): | blocks.place(STONE_PRESSURE_PLATE, world(X+12, Y, Z+1)) |
| | |
| | def Wolf_Ocelot(x,y,z): #selber Bäume & bonemeal |
| blocks.fill(SPRUCE_FENCE, world(x, y, z), world(x+14, y, z+20), FillOperation.HOLLOW) | blocks.fill(SPRUCE_FENCE, world(x, y, z), world(x+14, y, z+20), FillOperation.HOLLOW) |
| blocks.fill(AIR, world(x+1, y, z+1), world(x+13, y, z+19), FillOperation.REPLACE) | blocks.fill(AIR, world(x+1, y, z+1), world(x+13, y, z+19), FillOperation.REPLACE) |
| | |
| def ziegengehege(x, y, z): #Der Punkt ist unten rechts. | def ziegengehege(x, y, z): #selber bonemeal |
| blocks.fill(GLASS, world(x, y, z), world(x+14, y+5, z+20)) | blocks.fill(GLASS, world(x, y, z), world(x+14, y+5, z+20)) |
| blocks.fill(AIR, world(x+1, y, z+1), world(x+13, y+4, z+19)) | blocks.fill(AIR, world(x+1, y, z+1), world(x+13, y+4, z+19)) |
| blocks.fill(GRASS, world(x+6, y+1, z+6), world(x+10, y+1, z+9)) | blocks.fill(GRASS, world(x+6, y+1, z+6), world(x+10, y+1, z+9)) |
| | |
| ziegengehege(45,-60,-57) | def Tintenfisch(x,y,z): #selber Tiere & Korallen |
| Wolf_Ocelot(25,-60,-57) | blocks.fill(GLASS, world(x, y-1, z), world(x+14, y+10, z+20), FillOperation.HOLLOW) |
| #papagei_gehege(14,-60,-77) | blocks.fill(GRASS, world(x, y-1, z), world(x+14, y-1, z+20), FillOperation.REPLACE) |
| Streichelzoo(14,-60,-31) | blocks.fill(SAND, world(x+1, y-1, z+1), world(x+13, y-1, z+19), FillOperation.REPLACE) |
| panda_gehege(-16,-60,-30) | blocks.fill(WATER, world(x+1, y+1, z+1), world(x+13, y+9, z+19), FillOperation.REPLACE) |
| Eingang(0,-60,0) | |
| | def Schildkrötenfisch(x,y,z): #selber Tiere, Korallen, Schilder |
| | blocks.fill(GLASS, world(x, y-1, z), world(x+14, y+10, z+20), FillOperation.HOLLOW) |
| | blocks.fill(GRASS, world(x, y-1, z), world(x+14, y-1, z+20), FillOperation.REPLACE) |
| | blocks.fill(SAND, world(x+1, y-1, z+1), world(x+13, y-1, z+19), FillOperation.REPLACE) |
| | blocks.fill(WATER, world(x+1, y+1, z+1), world(x+13, y+9, z+19), FillOperation.REPLACE) |
| | |
| | def TunnelAquarium(X,Y,Z): #selber Tiere & Korallen |
| | blocks.fill(GLASS, world(X, Y, Z), world(X+25, Y+25, Z+25), FillOperation.HOLLOW) |
| | blocks.fill(WATER, world(X+1, Y+1, Z+1), world(X+24, Y+23, Z+24), FillOperation.REPLACE) |
| | blocks.fill(GLASS, world(X+10, Y-1, Z), world(X+15, Y+5, Z+25), FillOperation.HOLLOW) |
| | blocks.fill(SAND, world(X+1,Y-1,Z+1), world(X+24,Y-1,Z+24), FillOperation.REPLACE) |
| | blocks.fill(GLOWSTONE, world(X+10,Y-1,Z), world(X+15,Y-1,Z+25), FillOperation.REPLACE) |
| | blocks.fill(AIR, world(X+11,Y,Z-1), world(X+14,Y+4,Z+25), FillOperation.REPLACE) |
| | |
| | def fledermaushoehle(x, y, z): #Der Punkt ist unten(bei der Tür) rechts. |
| | blocks.fill(BLACKSTONE, world(x, y, z), world(x-50, y+3, z-20)) #Zuerst bauen wir die Hoele (50*20) |
| | blocks.fill(AIR, world(x-1, y, z-1), world(x-49, y+3, z-19)) |
| | blocks.fill(BLACKSTONE, world(x-1, y+4, z-1), world(x-49, y+5, z-19)) |
| | blocks.fill(AIR, world(x-2, y+4, z-2), world(x-48, y+5, z-18)) |
| | blocks.fill(BLACKSTONE, world(x-2, y+6, z-2), world(x-48, y+7, z-18)) |
| | blocks.fill(AIR, world(x-3, y+6, z-3), world(x-47, y+7, z-17)) |
| | blocks.fill(BLACKSTONE, world(x-3, y+8, z-3), world(x-47, y+8, z-17)) |
| | blocks.fill(BLACKSTONE, world(x-3, y, z-1), world(x-5, y+2, z-3)) #Dann bauen wir die zwei Tueren |
| | blocks.fill(AIR, world(x-4, y, z), world(x-4, y+1, z-3)) |
| | blocks.fill(BLACKSTONE, world(x-49, y, z), world(x-48, y+2, z-3)) |
| | blocks.fill(AIR, world(x-49, y, z), world(x-49, y+1, z-3)) |
| | blocks.fill(BLACKSTONE, world(x-4, y-1,z), world(x-4, y-1, z-10)) #Am Schluss bauen wir noch den Weg |
| | blocks.fill(BLACKSTONE, world(x-49, y-1, z), world(x-49, y-1, z-10)) |
| | blocks.fill(BLACKSTONE, world(x-49, y-1, z-11), world(x-4, y-1, z-11)) |
| | |
| | def unterirdisch(x,y,z): |
| | blocks.fill(STONE_BRICKS,world(x+1,y-1,z+1),world(x-11,y-4,z-5),FillOperation.HOLLOW) |
| | blocks.fill(AIR,world(x-1,y-1,z),world(x-3,y-1,z-1),FillOperation.REPLACE) |
| | blocks.fill(AIR,world(x-9,y-1,z),world(x-7,y-1,z-1),FillOperation.REPLACE) |
| | blocks.place(TORCH,world(x-7,y-2,z+1)) |
| | blocks.place(TORCH,world(x-3,y-2,z+1)) |
| | |
| | for i in range(3): |
| | blocks.place(blocks.block_with_data(BRICK_STAIRS, -1), world(x-i, y-1-i, z-1)) |
| | blocks.place(blocks.block_with_data(BRICK_STAIRS, -1), world(x-i, y-1-i, z)) |
| | blocks.place(blocks.block_with_data(BRICK_STAIRS, 1), world(x-10+i, y-1-i, z)) |
| | blocks.place(blocks.block_with_data(BRICK_STAIRS, 1), world(x-10+i, y-1-i, z-1)) |
| | |
| | def Wasserbecken(x,y,z): |
| | blocks.fill(GLASS,world(x-10,y-4,z-5),world(x,y-1,z-10),FillOperation.HOLLOW) |
| | blocks.fill(AIR,world(x-9,y-1,z-6),world(x-1,y-1,z-9),FillOperation.REPLACE) |
| | blocks.fill(WATER,world(x-9,y-3,z-6),world(x-1,y-1,z-9),FillOperation.REPLACE) |
| | |
| | def Zaun(x,y,z): |
| | blocks.fill(OAK_FENCE,world(x-10,y,z-5),world(x,y,z-16),FillOperation.HOLLOW) |
| | blocks.fill(AIR,world(x-9,y,z-6),world(x-1,y,z-15),FillOperation.HOLLOW) |
| | |
| | def Boden(x,y,z): |
| | blocks.fill(SNOW, world(x-9,y-1,z-10),world(x-1,y-3,z-15),FillOperation.REPLACE) |
| | |
| | def Eisbärgehege(x,y,z): |
| | unterirdisch(x,y,z) |
| | Wasserbecken(x,y,z) |
| | Zaun(x,y,z) |
| | Boden(x,y,z) |
| | |
| | def Zoo(): |
| | TunnelAquarium(-31,-60,-87) |
| | Schildkrötenfisch(-36,-60,-56) |
| | Tintenfisch(-16, -60, -56) |
| | ziegengehege(45,-60,-57) |
| | Wolf_Ocelot(25,-60,-57) |
| | papagei_gehege(29,-60,-87) |
| | Streichelzoo(14,-60,-31) |
| | panda_gehege(-16,-60,-30) |
| | Eingang(0,-60,0) |
| | fledermaushoehle(45,-60,-100) |
| | Eisbärgehege(-9,-60,-94) |
| | blocks.fill(STONE, world(-1, -61, 3), world(-20, -61, 2), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(-20, -61, 2), world(-18, -61, -61), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(-20, -61, -88), world(-19, -61, -92), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(-7, -61, -94), world(-4, -61, -95), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(-4, -61, -96), world(-4, -61, -99), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(41, -61, -99), world(41, -61, -62), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(42, -61, -61), world(40, -61, 3), FillOperation.REPLACE) |
| | blocks.fill(STONE, world(39, -61, 3), world(26, -61, 2), FillOperation.REPLACE) |
| | 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 (-20<x<20) and (y==-60) and (z==4): #für 1. und 3. Klammer, Koordinaten vom ganzen Zoo eingeben |
| | mobs.spawn(BEE, pos(0, 0, 0)) |
| | |
| | player.on_travelled(WALK, on_travelled_walk) |
| | Zoo() |
| |
| </code> | </code> |
| |