Untitled
unknown
python
3 years ago
4.9 kB
6
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...