Untitled
unknown
python
2 years ago
3.0 kB
3
Indexable
# PARKOUR # 1. start i platforma # 2. checkpoint -> jak umrzesz w grze / przegrasz --> odradzasz sie w poprzenim punktcie # 3. zmienne potrzebne do ładowania etapów # 4. funkcja na odradzanie sie w checkpoint czyEtap1 = False # zmienna ładujaca etap 1 / zmieni sie kiedy osiagagne checkpoint # system odrodzania i checkpointów # checkpoint -> jak umrzesz w grze / przegrasz --> odradzasz sie w poprzenim punktcie pozycjaOdrodzenia = player.position() # aktualna pozycja odrodzenia # funkcja budujaca nowa platforme i schody do 1 etapu def platforma(): # 1. Teleportuje konstruktor builder.teleport_to(pos(5, 0, 0)) # 2. Obracam w strone EAST builder.face(EAST) # 3. Buduje schody uzywajac petli for for i in range(70): # 4. Umieszczam bloczek jako schodek builder.place(PURPUR_STAIRS) # 5. Poruszam konstruktor do przodu i w gore builder.shift(1, 1, 0) # 6. Oznaczam teren na checkpoint builder.mark() builder.shift(2, 0, -4) # 7. Buduje checkpoint z DIAMOND_BLOCK builder.fill(DIAMOND_BLOCK) # 8. Przypisuje funkcje do czatu player.on_chat("start",platforma) # Checkpoint i odradzanie # 1. Funkcja przypisana do zdarzenia na smierc gracza def smierc(): # 1.1 Pauza 500ms loops.pause(500) # 1.2 Teleportacja gracza do pozycjaOdrodzenia player.teleport(pozycjaOdrodzenia) # 2. Przypisanie funkcji do zdarzenia smierci player.on_died(smierc) # Uruchomienie gry i checkpointów # 1. Petla zawsze w czasie gry while True: # 2. Sprawdzam czy gracz wszedl na platforme i czyEtap1 jest false -> oznacza to że etap 1 nie był ładowany wcześniej if blocks.test_for_block(DIAMOND_BLOCK, pos(0, -1, 0)) and not czyEtap1: # 3. Aktualizacja pozycjaOdrodzenia pozycjaOdrodzenia = player.position() # 4. Zablokowanie ładowania etapu1 po raz kolejny czyEtap1 = True # 5. ładowanie etap1() etap1i2(RIGHT_TURN, SLIME_BLOCK, GOLD_BLOCK) # Funkcja budujaca etap 1 i 2 z parametrami obrotKonstruktora, rodzajToru, rodzajCheckpointu def etap1i2(obrotKonstruktora, rodzajToru, rodzajCheckpointu): # 1. Przesuniecie konstruktora pod checkpoint i zaznaczenie pozycji builder.teleport_to(pos(1, -4, 0)) builder.mark() builder.face(EAST) # 2. Petla for dla 2 etapów toru for i in range(2): # 3. Petla for dla bloczkow etapu for i in range(5): # 4. Przesuwam konstruktor o losowe wartosci -> randint(3, 8) builder.move(FORWARD, randint(3, 8)) # 5. Buduje platforme parkour builder.line(rodzajToru) # 6. Robie odstep parkur o losowa wartosc -> randint(2, 3) builder.move(FORWARD, randint(2, 3)) # 7. Zaznaczam pozycje do kolejnej lini builder.mark() builder.turn(obrotKonstruktora) # 8. Tworze nowa platforme builder.mark() builder.shift(2, 0, -4) builder.fill(rodzajCheckpointu)
Editor is loading...