Untitled
unknown
python
3 years ago
4.8 kB
10
Indexable
# Zadanie poczatkowe
# Funkcja ktora wypisze okreslona ilosc razy powitanie na czacie gry
def powitanie(ileRazy):
for licznik in range(ileRazy):
player.say("Czesc po raz " + licznik)
# Przypisz funkcje do czatu
player.on_chat("p", powitanie) # przy uruchamianiu funkcji pamietamy o podaniu argumentu
#funkcja odpowiedzialna za przygotowanie areny
def arenaKonstruktor():
#ustawiamy noc
gameplay.time_set(DayTime.NIGHT)
#pobieramy aktualne kordy gracza z małym przesuniecięm na osi x tak żeby arena nie budowała się na graczu
pozycja=positions.add(player.position(), pos(10, 0, 0))
x=pozycja.get_value(Axis.X)
y=pozycja.get_value(Axis.Y)
z=pozycja.get_value(Axis.Z)
#tworzymy arenę
blocks.fill(STONE_BRICKS, world(x,y,z),world(x+40,y+4,z+40))
#tworzymy w narożnikach areny diamentowe pola potrzebne dla bloku beacon aby ten mógł wypuścić wiązkę światła
blocks.fill(DIAMOND_BLOCK, world(x,y+4,z),world(x+2,y+4,z+2))
blocks.fill(DIAMOND_BLOCK, world(x+38,y+4,z),world(x+40,y+4,z+2))
blocks.fill(DIAMOND_BLOCK, world(x,y+4,z+38),world(x+2,y+4,z+40))
blocks.fill(DIAMOND_BLOCK, world(x+38,y+4,z+38),world(x+40,y+4,z+40))
#dodajemy bloki beacon
blocks.place(BEACON, world(x+1,y+5,z+1))
blocks.place(BEACON, world(x+39,y+5,z+1))
blocks.place(BEACON, world(x+1,y+5,z+39))
blocks.place(BEACON, world(x+39,y+5,z+39))
#tworzymy schody
for i in range(15,21):
shapes.line(STONE_BRICK_STAIRS, world(x-4,y,z+i), world(x,y+4,z+i))
# daje graczowi ekwipunek
eq()
# napis runda
blocks.print("RUNDA", SEA_LANTERN, world(x + 35, y + 10, z + 45), WEST)
# tryb survival
gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
# uruchom 1 runde
runda1(x, y, z, "1")
# uruchom 2 runde
runda2(x, y, z, "2")
player.on_chat("arena", arenaKonstruktor)
# runda 1
def runda1(x,y,z,runda): # x,y,z -> pozycje, runda -> nr rundy dla tej funkcji to 1
# dodaje cyferke do istniejacego juz napisu
blocks.print(runda, SEA_LANTERN, world(x + 5, y + 10, z + 45), WEST)
# spawn mobow dla 1 rundy
#ZOMBIE
mobs.spawn(ZOMBIE, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
#PAUZA 1s = 1000ms
loops.pause(1000)
#SKELETON
mobs.spawn(SKELETON, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
loops.pause(1000)
#CREEPER
mobs.spawn(CREEPER, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
loops.pause(1000)
#GHAST
mobs.spawn(GHAST, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
loops.pause(1000)
#BLAZE
mobs.spawn(BLAZE, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
# PAUZA 45s = 45000
loops.pause(45000)
# runda 2
def runda2(x,y,z,runda): # x,y,z -> pozycje, runda -> nr rundy dla tej funkcji to 1
# dodaje cyferke do istniejacego juz napisu
blocks.print(runda, SEA_LANTERN, world(x + 5, y + 10, z + 45), WEST)
# spawn mobow dla 1 rundy
#ZOMBIE
mobs.spawn(ZOMBIE, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
mobs.spawn(ZOMBIE, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
#PAUZA 1s = 1000ms
loops.pause(1000)
#SKELETON
mobs.spawn(SKELETON, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
mobs.spawn(SKELETON, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
loops.pause(1000)
#CREEPER
mobs.spawn(CREEPER, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
mobs.spawn(CREEPER, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
loops.pause(1000)
#GHAST
mobs.spawn(GHAST, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
mobs.spawn(GHAST, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
loops.pause(1000)
#BLAZE
mobs.spawn(BLAZE, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
mobs.spawn(BLAZE, randpos(world(x + 5, y + 5, z + 5), world(x + 5, y + 5, z + 40)))
# PAUZA 45s = 45000
loops.pause(45000)
# ekwipunek
def eq():
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_SWORD, 1)
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_HELMET, 1)
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_CHESTPLATE, 1)
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_BOOTS, 1)
mobs.give(mobs.target(NEAREST_PLAYER), DIAMOND_LEGGINGS, 1)
mobs.give(mobs.target(NEAREST_PLAYER), TORCH, 64)
mobs.give(mobs.target(NEAREST_PLAYER), BOW, 1)
mobs.give(mobs.target(NEAREST_PLAYER), ARROW, 256)
mobs.give(mobs.target(NEAREST_PLAYER), GOLDEN_APPLE, 32)
mobs.give(mobs.target(NEAREST_PLAYER), BREAD, 64)
Editor is loading...