Untitled
unknown
python
2 years ago
4.9 kB
5
Indexable
# 1. Funkcja do wybudowania platformy i schodków na góre # 2. Funkcja i system checkpointów w grze # 3. Funkcja budująca etap 1 i 2 def parkour(): # 1.1 Teleportacja konstruktor do gracza builder.teleport_to(pos(5,0,0)) # 1.2 Obrot konstruktora builder.face(EAST) # 1.3 Petla for do budownia schodow for i in range(30): # 1.4 W SRODKU PETLI klade schodek builder.place() builder.place(PURPUR_STAIRS) # 1.5 W SRODKU PETLI przesuwam konstruktor builder.shift(1,1,0) # 1.6 Zaznaczam pozycje konstruktora builder.mark() # 1.7 Przesuwam konstruktor builder.shift(2,0,-4) # 1.8 Wypelnij zaznaczona przestrzen bloczkami builder.fill(DIAMOND_BLOCK) # 1.9 POZA FUNKCJA Przypisanie funkcji parkour do czatu player.on_chat("start", parkour) # CHECKPOINT # zmienna przechowujaca aktualna pozycje gracza aktualnaPozycjaGracza = player.position() aktualnaPozycjaGracza = player.position() # zmienna sprawdzajaca kolejny etap => czyEtap1 = False czyEtap1 = False czyEtap2 = False czyEtap3 = False # Funkcja Smierc ktora teleportuje gracza do poprzedniej zapisanej aktualnaPozycjaGracza def smierc(): player.teleport(aktualnaPozycjaGracza) # Przypisanie funkcji Smierc do zdarzenia smierci gracza player.on_died(smierc) # Funkcja budująca etap 1 i 2 def etap1i2(obrotKonstruktora, rodzajToru, rodzajCheckpoint): def etap1i2(obrotKonstruktora, rodzajToru, rodzajCheckpoint): # Teleport konstruktora pod platforme builder.teleport_to(pos(1, -4, 0)) # Zaznacz pozycje konsturktorem builder.mark() # Obroc konstruktor na Wschod builder.face(EAST) # Petla dla 1 etapu for i in range(2): # Petla dla platform w etapie for i in range(5): # Przesuwamy konstruktor o losowa wartosc builder.move(FORWARD, randint(3, 8)) # Tworzymy linie z danego bloku builder.line(rodzajToru) # Przesuwamy konstruktor w celu zrobienia przerwy pomiędzy blokami builder.move(FORWARD, randint(2, 4)) # oznaczamy aktualną pozycję żeby to odniej budowała się kolejna linia builder.mark() # obrót konstruktora na koniec 1 etapu builder.turn(obrotKonstruktora) # tworzymy nową platformę builder.mark() builder.shift(2, 0, -4) builder.fill(rodzajCheckpoint) # Petla zawsze while True: while True: # Sprawdzam czy gracz jest na platformie i moze zaczac budowayc etap1i2 if blocks.test_for_block(DIAMOND_BLOCK, pos(0,-1,0)) and not czyEtap1: if blocks.test_for_block(DIAMOND_BLOCK, pos(0,-1,0)) and not czyEtap1: # Aktualizuje pozycje gracza do checkpointu aktualnaPozycjaGracza = player.position() aktualnaPozycjaGracza = player.position() # Wylaczam budowanie etapu 1 czyEtap1 = True czyEtap1 = True # Buduje etap 1 -> etap1i2(RIGHT_TURN, SLIME_BLOCK, GOLD_BLOCK) etap1i2(TurnDirection.RIGHT, SLIME_BLOCK, GOLD_BLOCK) # Sprawdzic czy gracz jest na platformie elif blocks.test_for_block(GOLD_BLOCK, pos(0, -1, 0)) and not czyEtap2: # 1. Aktualizuje pozycje gracza do checkpointu aktualnaPozycjaGracza = player.position() aktualnaPozycjaGracza = player.position() # 2. # Wylaczam budowanie etapu 2 czyEtap2 = True + stworzyc zmienna czyEtap2 czyEtap2 = False # 3. # Buduje etap 2 -> etap1i2(RIGHT_TURN, MAGENTA_STAINED_GLASS, BEDROCK) etap1i2(RIGHT_TURN, MAGENTA_STAINED_GLASS, BEDROCK) elif blocks.test_for_block(BEDROCK,pos(0,-1,0)) and not czyEtap3: # 1. Aktualizuje pozycje gracza do checkpointu aktualnaPozycjaGracza = player.position() aktualnaPozycjaGracza = player.position() # 2. # Wylaczam budowanie etapu 2 czyEtap2 = True + stworzyc zmienna czyEtap2 czyEtap3 = False # 3. # Buduje etap 2 -> etap1i2(RIGHT_TURN, MAGENTA_STAINED_GLASS, BEDROCK) etap3() # 1. Stworz funkcje -> def etap3(): def etap3(): # 2. Tworze kule ze szlamu -> shapes.sphere(SLIME_BLOCK, pos(4, -30, 0), 1, ShapeOperation.REPLACE) # 3. Przeteleportuj builder obok kuli -> builder.teleport_to(pos(6, -32, 0)) # 4. Zaznacz pozycje builderem -> builder.mark() # 5. Ustaw builder na Wschod -> builder.place(EAST) # 6. zapisz pozycje kuli -> builder.set_origin() # 7. rusz konstruktor -> builder.move(FORWARD, 65) # 8. ułóż linie z netheru -> builder.line(NETHERRACK) # 9. #wracamy aby dodać ogień -> builder.teleport_to_origin() # 10. Podnies bloczek na ogien -> builder.move(UP, 1) # 11. Petla for na losowy ogien -> for i in range(11): # 12. TAB -> rusz do przodu -> builder.move(FORWARD, randint(3, 8)) # 13. TAB -> położ ogień -> builder.place(FIRE) # 14. Buduj platforme -> # 15. builder.mark() # 16. builder.shift(2, 0, -4) # 17. builder.fill(MOSS_STONE)
Editor is loading...