Untitled
unknown
plain_text
2 years ago
2.5 kB
6
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