Untitled
unknown
python
3 years ago
3.1 kB
6
Indexable
# PRZYPOMNIENIE
# FUNKCJE
# JAK TWORZE? -> def nazwaFunkcji():
# PARAMETRY FUNKCJI -> zmienne przekazane do funkcji
# JAK TOWRZE -> def nazwaFunkcji(paramter1,paramter2,...):
# INSTRUKCJE WARUNKOWE
# PRZYKŁAD
powitaniePrzywitanie = "Witaj na świecie! To twoje pierwsze logowanie! Zacznij grać z nami!"
powitaniePonowne = "Witaj ponownie! Świat czeka na Ciebie!!!"
def powitanie(liczbaLogowan):
# Instrukcja warunkowa sprawdzajaca jakie powitanie wyswietlic
if liczbaLogowan == 1:
player.say(powitaniePrzywitanie)
else:
player.say(powitaniePonowne)
# podpinam funkcje do czatu
player.on_chat("powitanie", powitanie)
# 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łe 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))
gameplay.set_difficulty(NORMAL)
player.on_chat("start", tor)
def etap1(z):
player.say("ŁADUJE ETAP 1")
# 1. Budowa kolejnego segmentu
# 1.1 -> wyczyscic linie bloczkow po zaladowaniu etapu
blocks.fill(BEDROCK, world(x - 10, y - 1, z - 5), world(x + 10, y - 1, z + 5))
# 1.2 -> dodac przegrode za graczem wysoka na 10 bloczkow do sufitu
blocks.fill(BEDROCK, world(x - 10, y - 1, z - 5), world(x + 10, y + 10, z - 3))
# 1.3 -> dodac linie na koncu etapu do ladowania kolejnego poziomu
blocks.fill(GOLD_BLOCK, world(x - 10, y - 1, z + 25), world(x + 10, y - 1, z + 27))
# 2. Przeszkody 1 etapu
# 2.1 -> przeszkody z iron bars
blocks.fill(IRON_BARS, world(x - 9, y - 1, z + 3), world(x + 9, y - 1, z + 20))
# 2.2 => Lawa pod iron_bars
blocks.fill(LAVA, world(x - 9, y - 2, z + 3), world(x + 9, y - 2, z + 20))
# 2.3 -> Sprawdzenie czy jest na kratkach -> sprawdzenie zawsze w etap1
while True:
if blocks.test_for_block(IRON_BARS, pos(0, -1, 0)):
#daje 1 siekeirke i do boju
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_AXE, 1)
# spawn creeper w petli
for i in range(10):
mobs.spawn(CREEPER, randpos(world(x - 9, y + 1, z + 3), world(x + 9, y + 1, z + 20)))
# slowko break opusci petle while po wykonaniu petli for
break
# kod odpowiedzialny za ladowanie wszystkich etapow
while True:
#sprawdzam etap po rodzaju bloczku na jakim staje gracz
if blocks.test_for_block(SEA_LANTERN, pos(0, -1, 0)):
# ladowanie 1 etapu
player.say("ETAP 1! START!!!")
pozycja=player.position()
z=pozycja.get_value(Axis.Z)
etap1(z)
loops.pause(3000)Editor is loading...