| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
| gf2:projekte:2024:minecraft:2d1gruppe1 [2025/04/06 16:56] – [Material:] bischofbergere | gf2:projekte:2024:minecraft:2d1gruppe1 [2025/04/06 17:32] (aktuell) – [Fertiger Code] bischofbergere |
|---|
| <color #ffaec9> | <color #ffaec9> |
| </color> | </color> |
| ===== Grössen: ===== | |
| |
| |
| |
| | |
| **Weisser Beton**//(Grundlage)//, | * Green Carpet (Spielfeld) |
| **Red Stone** //(Tribüne)// | * Brick Stairs (Tribüne) |
| ** Eis ** | * White Carpet (Spielfeldlinien) |
| ** Zaun** //(OAK_FENCE)// | * Oakfence (Zaun) |
| ** villager ** | * Birch Door (Türe) |
| | * White Concrete + Cobweb (Tore) |
| | * Villager (Zuschauer) |
| | * Armadillo (Fussball) |
| | * Shroomlight (Lichter) |
| | * Ice (Eis unter dem Feld) |
| |
| |
| * Licht | * Licht |
| * Spieler (in Bewegung) | * Spieler (in Bewegung) |
| * Ball (in Bewegung | * Ball (in Bewegung) |
| * Anzeigetafel | * Anzeigetafel |
| |
| * Beleuchtung im Stadion | * Beleuchtung im Stadion |
| * Zaun | * Zaun |
| * Ball | * Schriftzug vor dem Stadion |
| |
| ===== Zu erledigen: ===== | ===== Zu erledigen: ===== |
| | |
| **Skizze des Fussballplatzes**//(zur Vorstellung)//, **Material für die jeweiligen Elemente festlegen**, **Einzelne Elemente programmieren**//(in kleinen Schritten)// | **Skizze des Fussballplatzes**//(zur Vorstellung)//, **Material für die jeweiligen Elemente festlegen**, **Einzelne Elemente programmieren**//(in kleinen Schritten)// |
| <color #ffaec9>-->Elemente sind:...,</color> **Programmcode kommentieren/erklären**, **Dokumentation auf dem Wiki aktualisieren**, **Planung auf dem Scrumboard erweitern** | <color #ffaec9>-->Elemente sind: Fussballplatz, Tribüne, Dach, Schriftzug, Ball, Spieler, Tore, Lichter</color> **Programmcode kommentieren/erklären**, **Dokumentation auf dem Wiki aktualisieren**, **Planung auf dem Scrumboard erweitern** |
| |
| |
| blocks.fill(AIR, world(x-1, y, z), world(x+60, y+20, z+100),FillOperation.REPLACE) | blocks.fill(AIR, world(x-1, y, z), world(x+60, y+20, z+100),FillOperation.REPLACE) |
| blocks.fill(GREEN_CARPET, world(x, y, z), world(x+40, y, z+70),FillOperation.REPLACE) #Grünes Fussballfeld wird gebaut | blocks.fill(GREEN_CARPET, world(x, y, z), world(x+40, y, z+70),FillOperation.REPLACE) #Grünes Fussballfeld wird gebaut |
| blocks.fill(ICE, world(x+3, y-3, z), world(x+37, y-1, z+66), FillOperation.REPLACE) | blocks.fill(ICE, world(x+3, y-3, z), world(x+37, y-1, z+66), FillOperation.REPLACE) #Eis wird unter das Fussballfeld platziert |
| for i in range(radius): | for i in range(radius): |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x, y, z), world(x, y, z+70),FillOperation.REPLACE) #Tribüne wird gebaut | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x, y, z), world(x, y, z+70),FillOperation.REPLACE) #Tribüne wird gebaut |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40, y, z+70), world(x+40, y, z),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40, y, z+70), world(x+40, y, z),FillOperation.REPLACE) |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 3), world(x+40, y, z), world(x, y, z),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 3), world(x+40, y, z), world(x, y, z),FillOperation.REPLACE) |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x-i, y+i, z-i), world(x-i, y+i, z+70+i),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x-i, y+i, z-i), world(x-i, y+i, z+70+i),FillOperation.REPLACE) #Weite der Tribüne wird definiert |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 2), world(x-i, y+i, z+70+i), world(x+40+i, y+i, z+70+i),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 2), world(x-i, y+i, z+70+i), world(x+40+i, y+i, z+70+i),FillOperation.REPLACE) |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40+i, y+i, z+70+i), world(x+40+i, y+i, z-i),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40+i, y+i, z+70+i), world(x+40+i, y+i, z-i),FillOperation.REPLACE) |
| |
| |
| ====Villiger auf dem Feld==== | ==== Villiger auf dem Feld ==== |
| | |
| | |
| <code python> | <code python> |
| |
| </code> | </code> |
| ===== Bewegender Ball ===== | |
| |
| <code python> | |
| |
| running = True # solange dies auf True ist, läuft der Game-Loop | |
| | |
| def stopGame(): # wenn "stop" in den Chat geschrieben wird, running auf False setzen | |
| global running | |
| running = False | |
| | |
| player.on_chat("stop", stopGame) | |
| | |
| x = 716 | |
| frame = 0 | |
| | |
| while running: | |
| frame += 1 | |
| if (frame % 50 == 0): # immer nach 50 Frames | |
| for i in range(70): | |
| blocks.place(DIAMOND_BLOCK, world(x+1+i,-60,0)) # Block an neuer Position bauen | |
| blocks.place(AIR, world(x+i, -60, 0)) # Block löschen | |
| for i in range(70): | |
| blocks.place(DIAMOND_BLOCK, world(x-1-i,-60,0)) # Block an neuer Position bauen | |
| blocks.place(AIR, world(x-i, -60, 0)) | |
| running = True # solange dies auf True ist, läuft der Game-Loop | |
| | |
| </code> | |
| ===== Fussball ===== | ===== Fussball ===== |
| |
| | |
| </code> | </code> |
| =====Fussballplatz (Elin) ===== | =====Fussballplatz (Boden) ===== |
| |
| <code python> | <code python> |
| blocks.fill(AIR, world(x-1, y, z), world(x+60, y+20, z+100),FillOperation.REPLACE) | blocks.fill(AIR, world(x-1, y, z), world(x+60, y+20, z+100),FillOperation.REPLACE) |
| blocks.fill(GREEN_CARPET, world(x, y, z), world(x+40, y, z+70),FillOperation.REPLACE) #Grünes Fussballfeld wird gebaut | blocks.fill(GREEN_CARPET, world(x, y, z), world(x+40, y, z+70),FillOperation.REPLACE) #Grünes Fussballfeld wird gebaut |
| blocks.fill(ICE, world(x+3, y-3, z), world(x+37, y-1, z+66), FillOperation.REPLACE) | blocks.fill(ICE, world(x+3, y-3, z), world(x+37, y-1, z+66), FillOperation.REPLACE) #Eis wird unter Fussballfeld gebaut |
| for i in range(radius): | for i in range(radius): |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x, y, z), world(x, y, z+70),FillOperation.REPLACE) #Tribüne wird gebaut | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x, y, z), world(x, y, z+70),FillOperation.REPLACE) #Tribüne wird gebaut |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40, y, z+70), world(x+40, y, z),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40, y, z+70), world(x+40, y, z),FillOperation.REPLACE) |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 3), world(x+40, y, z), world(x, y, z),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 3), world(x+40, y, z), world(x, y, z),FillOperation.REPLACE) |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x-i, y+i, z-i), world(x-i, y+i, z+70+i),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 1), world(x-i, y+i, z-i), world(x-i, y+i, z+70+i),FillOperation.REPLACE) #weite der Tribüne wird definiert |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 2), world(x-i, y+i, z+70+i), world(x+40+i, y+i, z+70+i),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 2), world(x-i, y+i, z+70+i), world(x+40+i, y+i, z+70+i),FillOperation.REPLACE) |
| blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40+i, y+i, z+70+i), world(x+40+i, y+i, z-i),FillOperation.REPLACE) | blocks.fill(blocks.block_with_data(BRICK_STAIRS, 0), world(x+40+i, y+i, z+70+i), world(x+40+i, y+i, z-i),FillOperation.REPLACE) |
| blocks.fill(WHITE_CONCRETE, world(x+16, y+4, z+4), world(x+24, y+4, z+4),FillOperation.REPLACE) | blocks.fill(WHITE_CONCRETE, world(x+16, y+4, z+4), world(x+24, y+4, z+4),FillOperation.REPLACE) |
| blocks.fill(COBWEB, world(x+17, y, z+4), world(x+23, y+3, z+4),FillOperation.REPLACE) | blocks.fill(COBWEB, world(x+17, y, z+4), world(x+23, y+3, z+4),FillOperation.REPLACE) |
| blocks.fill(WHITE_CONCRETE, world(x+24, y, z+66), world(x+24, y+4, z+66),FillOperation.REPLACE) #tor links | blocks.fill(WHITE_CONCRETE, world(x+24, y, z+66), world(x+24, y+4, z+66),FillOperation.REPLACE) #Tor links |
| blocks.fill(WHITE_CONCRETE, world(x+16, y, z+66), world(x+16, y+4, z+66),FillOperation.REPLACE) | blocks.fill(WHITE_CONCRETE, world(x+16, y, z+66), world(x+16, y+4, z+66),FillOperation.REPLACE) |
| blocks.fill(WHITE_CONCRETE, world(x+16, y+4, z+66), world(x+24, y+4, z+66),FillOperation.REPLACE) | blocks.fill(WHITE_CONCRETE, world(x+16, y+4, z+66), world(x+24, y+4, z+66),FillOperation.REPLACE) |
| blocks.fill(COBWEB, world(x+17, y, z+66), world(x+23, y+3, z+66),FillOperation.REPLACE) | blocks.fill(COBWEB, world(x+17, y, z+66), world(x+23, y+3, z+66),FillOperation.REPLACE) |
| blocks.fill(OAK_FENCE, world(x+2, y, z+3), world(x+2, y, z+67), FillOperation.REPLACE) # Rechts | blocks.fill(OAK_FENCE, world(x+2, y, z+3), world(x+2, y, z+67), FillOperation.REPLACE) # Rechts Zäune werden gebaut |
| blocks.fill(OAK_FENCE, world(x+38, y, z+3), world(x+38, y, z+67), FillOperation.REPLACE) # Links | blocks.fill(OAK_FENCE, world(x+38, y, z+3), world(x+38, y, z+67), FillOperation.REPLACE) # Links |
| blocks.fill(OAK_FENCE, world(x+3, y, z+2), world(x+37, y, z+2), FillOperation.REPLACE) # Hinten | blocks.fill(OAK_FENCE, world(x+3, y, z+2), world(x+37, y, z+2), FillOperation.REPLACE) # Hinten |
| blocks.fill(SHROOMLIGHT, world(x-4, y+9, z-3), world(x-5, y+9, z+71), FillOperation.REPLACE) # Links, längere Beleuchtung | blocks.fill(SHROOMLIGHT, world(x-4, y+9, z-3), world(x-5, y+9, z+71), FillOperation.REPLACE) # Links, längere Beleuchtung |
| blocks.fill(SHROOMLIGHT, world(x+45, y+9, z-3), world(x+45, y+9, z+71), FillOperation.REPLACE) # Rechts, längere Beleuchtung | blocks.fill(SHROOMLIGHT, world(x+45, y+9, z-3), world(x+45, y+9, z+71), FillOperation.REPLACE) # Rechts, längere Beleuchtung |
| | blocks.place(OAK_FENCE, world(x+2, y, z+2)) # # Eckzäune (4 Ecken extra absichern) Hinten rechts |
| # Eckzäune (4 Ecken extra absichern) | |
| blocks.place(OAK_FENCE, world(x+2, y, z+2)) # Hinten rechts | |
| blocks.place(OAK_FENCE, world(x+2, y, z+68)) # Vorne rechts | blocks.place(OAK_FENCE, world(x+2, y, z+68)) # Vorne rechts |
| blocks.place(OAK_FENCE, world(x+38, y, z+2)) # Hinten links | blocks.place(OAK_FENCE, world(x+38, y, z+2)) # Hinten links |
| def mobspawn(x,y,z): | def mobspawn(x,y,z): |
| for i in range(100): | for i in range(100): |
| mobs.spawn(VILLAGER, world(x+0, y, z+0)), world(x+100, y, Z+1) | mobs.spawn(VILLAGER, world(x+0, y, z+0)), world(x+100, y, Z+1) #Villigar spawned |
| for i in range(100): | for i in range(100): |
| mobs.spawn(VILLAGER, world(x, y, z+50)), world(x+100, y, Z+1) | mobs.spawn(VILLAGER, world(x, y, z+50)), world(x+100, y, Z+1) |
| mobs.spawn(VILLAGER, world(x, y, z+100)), world(x+100, y, Z+1) | mobs.spawn(VILLAGER, world(x, y, z+100)), world(x+100, y, Z+1) |
| for i in range (1): | for i in range (1): |
| mobs.spawn(ARMADILLO, world(x+25, y, z+15)) | mobs.spawn(ARMADILLO, world(x+25, y, z+15)) #"Fussball wird gespawnt" |
| def stadiondach(x, y, z, length, width, height, material): #stadiondach ort wird definiert | def stadiondach(x, y, z, length, width, height, material): #stadiondach ort wird definiert |
| for i in range(radius): | for i in range(radius): |