Untitled
unknown
python
3 years ago
3.7 kB
8
Indexable
# PRZYPOMNIENIE
# CO TO SĄ PARAMETRY FUNKCJI?
# JAK TWORZYMY FUNCKJE?
# def nazwaFunkcji(x, y, z):
# TAB -> WSZYSTKO CO W FUNKCJI PISZEMY PO PRZYNAJMNIEJ 1 TABULACJI(TAB)
# PETLA FOR?
# POWTARZA OPERACJE OKRESLONA ILOSC RAZY W FUNKCJI RANGE():
# (TAB)WSZYSTKO CO W PETLI ODDZIELONE JEST KOLEJNA TABULACJA
# def nazwaFunkcji(parametrFunkcji,parametrFunkcji1,parametrFunkcji2):
# WSZYSTKO W SRODKU PO (TAB)
# petla powatarzajaca 10 razy
# for i in range(10):
# WSZYSTKO W SRODKU PO (TAB)
# ZADANKO ROZGRZEWKOWE
# NAPISZ FUNKCJE KTORA PO SPRAWDZENIU LICZBY/PARAMETRU ODPOWIEDNIO PRZYWITA SIE NA CZACIE
# 1. definicja funkcji powitanie z parametrem- liczbaLogowan
def powitanie(liczbaLogowan):
# 2. sprawdzenie liczby
if liczbaLogowan == 0:
# 3. wyswietlenie powitania na czacie
player.say("WITAJ W SWIECIE! ZAPRASZAMY DO ZABAWY Z NAMI!!!")
else:
# 3. wyswietlenie powitania na czacie
player.say("WITAJ! MIŁEJ ZABAWY!!!")
# 4. podpiac 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))
player.on_chat("start", tor)
# 1. Kod odpowiedzialny za ładowanie poszczegolnych etapow i rozpoczynaniu kolejnych
# 1. Petla ktora wykonuje sie przez caly czas dzialania programu
while True:
# 2. Sprawdzic czy rozpocznynam etap nadepnieciem na bloczek pos(0, -1, 0)
if blocks.test_for_block(SEA_LANTERN, pos(0, -1, 0)):
# Kod uruchamiajacy etap 1 i operacje z tym związane
# 1. Pobranie aktualanej pozycji
pozycja = player.position()
# 2. Wczytanie pozycji z -> jak daleko jest gracz w tunelu
z = pozycja.get_value(Axis.Z)
# 3. uruchomienie etapu1(z) -> nowa funkcja o nazwie etap1(z)
etap1(z)
# 4. Pauza na załadowanie loops.pause(3000)
loops.pause(3000)
def etap1(z):
player.say("!!! ETAP 1 START !!!")
# 1. Po wejsciu na start etapu zamieniam podloge
blocks.fill(BEDROCK, world(x - 10, y - 1, z - 5), world(x + 10, y - 1, z + 5))
# 2. Dodaje przegrode za graczem
blocks.fill(BEDROCK, world(x - 10, y, z - 5), world(x + 10, y + 10, z - 3))
# 3. Buduje kolejna linie na koncu etapu
blocks.fill(GOLD_BLOCK, world(x - 9, y - 1, z + 25), world(x + 9, y - 1, z + 27))
# 4. buduje przeszkody na ten etap
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))
# 4.1 Zawsze w etapie ... -> while True:
while True:
# 4.2 sprawdzam czy gracz gra w etapie bo przechodzi przez kratki
if blocks.test_for_block(IRON_BARS, pos(0, -1, 0)):
# 4.3 daje mu siekierke na start
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_AXE, 1)
# 4.4 spawnuje creepery
for i in range(10):
mobs.spawn(CREEPER, randpos(world(x - 9, y + 1, z + 3), world(x + 9, y + 3, z + 20)))
# aby zatrzymac petle uzywam break
breakEditor is loading...