Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # po uruchomieniu programu pobieramy współrzędne gracza które
- #będą wykorzystane w całym projekcie, będziemy jedynie aktualizować współrzędną "z" gracza żeby odpowiednio dobudowywać etapy
- pozycja=player.position()
- x=pozycja.get_value(Axis.X)
- y=pozycja.get_value(Axis.Y)
- z=pozycja.get_value(Axis.Z)
- #funkcja ta przygotowuje pierwszy segment toru
- def tor():
- #Tworzymy bryłę toru ze skały macierzystej
- blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+35),FillOperation.HOLLOW)
- #pierwsza linia uruchamiająca etap 1
- blocks.fill(SEA_LANTERN, world(x-9,y-1,z+3),world(x+9,y-1,z+5))
- #gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
- player.on_chat("start", tor)
- def poZniszczeniu():
- player.teleport(pos(0, 0, 10))
- blocks.on_block_broken(GLOWSTONE, poZniszczeniu)
- def etap1(z):
- player.say("ETAP 1")
- #czyścimy poziomą linię bloków żeby uchronić gracza przed ponownym załadowaniem levelu
- blocks.fill(BEDROCK, world(x-10,y-1,z-5),world(x+10,y-1,z+5))
- #dodajemy przegrodę za graczem
- blocks.fill(BEDROCK, world(x-10,y,z-3),world(x+10,y+10,z-1))
- #linia ładująca kolejny etap
- blocks.fill(GOLD_BLOCK, world(x-9,y-1,z+25),world(x+9,y-1,z+27))
- #przeszkody etapu 1
- blocks.fill(IRON_BARS, world(x-9,y-1,z+3),world(x+9,y-1,z+20))
- blocks.fill(LAVA, world(x-9,y-2,z+3),world(x+9,y-2,z+20))
- while True:
- if blocks.test_for_block(IRON_BARS, pos(0, -1, 0)):
- mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_AXE, 1)
- for i in range(6):
- mobs.spawn(CREEPER, randpos(world(x-8,y+1,z+3), world(x+8,y+1,z+20)))
- #break kończy pętlę, która ją zawiera.
- #sterowanie programem przechodzi do instrukcji bezpośrednio po treści pętli.
- break
- def etap2(z):
- player.say("ETAP 2")
- blocks.fill(BEDROCK, world(x-10,y-1,z-2),world(x+10,y+10,z+30), FillOperation.HOLLOW)
- blocks.fill(BEDROCK, world(x-10,y-1,z-5),world(x+10,y-1,z+5))
- blocks.fill(BEDROCK, world(x-10,y,z-3),world(x+10,y+10,z-1))
- blocks.fill(GLASS, world(x-9,y-1,z+25),world(x+9,y-1,z+27))
- #kod odpowiedzialny za ładowanie poszczególnych etapów
- while True:
- #sprawdzamy blok pod graczem
- if blocks.test_for_block(SEA_LANTERN, pos(0, -1, 0)):
- #pobieramy aktualną pozycję z i przekazujemy do funkcji
- pozycja=player.position()
- z=pozycja.get_value(Axis.Z)
- etap1(z)
- loops.pause(3000)
- elif blocks.test_for_block(GOLD_BLOCK, pos(0, -1, 0)):
- #pobieramy aktualną pozycję z i przekazujemy do funkcji
- pozycja=player.position()
- z=pozycja.get_value(Axis.Z)
- etap2(z)
- loops.pause(3000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement