Untitled
unknown
plain_text
2 years ago
2.5 kB
9
Indexable
# aktualne miejsce odrodzenia gracza, zmienne w zależności od checkpo
# intu, który zaliczymy
aktualnaPozycjaOdrodzenia=player.position()
#zmienna pomocnicza dzięki niej
#dany etap będzie tworzony raz w ramach jednej rozgrywki
czyEtap1 = False
czyEtap2 = False
#budujemy schody oraz pierwszą platformę ładującą etap 1
def nowyParkour():
#teleportujemy konstruktor w okolice gracza
builder.teleport_to(pos(5,0,0))
# obacamy
builder.face(EAST)
for i in range(70):
builder.place(PURPUR_STAIRS)
builder.shift(1, 1, 0)
#oznaczamy bieżącą pozycję konstruktora
builder.mark()
builder.shift(2,0,-4)
#konstruktor wypełnia przestrzeń blokami od znaku(mark) do obecn
#ej pozycji
builder.fill(DIAMOND_BLOCK)
player.on_chat('start',nowyParkour)
def etap1i2(obrotKonstruktora,rodzajToru,rodzajCheckpoint):
#teleport konstruktora pod platformę i przesunięcie
builder.teleport_to(pos(1,-4,0))
builder.mark()
builder.face(EAST)
for i in range(2):
for j in range(5):
#przesuwamy konstruktor
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,3))
#oznaczamy aktualną pozycję
#żeby to od niej budowała się kolejna linia
builder.mark()
builder.turn(obrotKonstruktora)
#tworzymy nową platformę
builder.mark()
builder.shift(2, 0, -4)
builder.fill(rodzajCheckpoint)
def smierc():
#dodajemy przerwę żeby poprawnie działało odradzanie gracza na
#platformie checkpoint:
# przerwa 500, aktualnaPozycjaOdrodzenia
loops.pause(500)
player.teleport(aktualnaPozycjaOdrodzenia)
player.on_died(smierc)
#pętla sterująca ładowaniem etapów oraz system checkpoint
while True:
if blocks.test_for_block(DIAMOND_BLOCK, pos(0, -1, 0)) and not czyEtap1:
#aktualizujemy pozycje gracza
aktualnaPozycjaOdrodzenia = player.position()
czyEtap1 = True
etap1i2(RIGHT_TURN,SLIME_BLOCK,GOLD_BLOCK)
elif blocks.test_for_block(GOLD_BLOCK, pos(0, -1, 0)) and not czyEtap2:
aktualnaPozycjaOdrodzenia = player.position()
czyEtap2 = True
etap1i2(LEFT_TURN,MAGENTA_STAINED_GLASS_PANE,BEDROCK)
Editor is loading...
Leave a Comment