Untitled
unknown
python
3 years ago
3.0 kB
7
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(70):
# 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
# 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, 3))
# 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(RIGHT_TURN, SLIME_BLOCK, GOLD_BLOCK)Editor is loading...