Untitled
unknown
python
2 years ago
4.8 kB
3
Indexable
Never
# 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)