Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
3.2 kB
8
Indexable
Never
# FUNKCJE 
# PRZYPOMNIENIE 
# FUNKCJE -> 
# 1. JAK TWORZYMY 
# 1.1 def nazwaFunkcji():
#(TAB)   Co sie dzieje w funkcji oddzielamy TAB -> Tabulacja 
# PETLE 
# FOR -> POWTARZA SIE OKRESLONA LICZBE RAZY 
# 2. JAK TWORZYMY?
# 2.1 for licznikPetli in range(liczbe razy do wykonania):
#(TAB) Co sie dzieje w petli oddzielamy tabulacja 
# 
# 
# FUNKCJE I PARAMETRY 
# PARAMETRAMI MOZEMY WPLYWAC NA KOD W SRODKU FUNKCJI 
# 3.JAK DODAC PARAMETRY(zmienne) DO FUNKCJI?
# 3.1 def nazwaFunkcji(parametr):
#(TAB)   Co sie dzieje w funkcji oddzielamy TAB -> Tabulacja
# Aby uzyc zmiennej/parametru funkcji uzywamy go jak zwyklej zminnej 


#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))

    # odpalam mini gre 
    # daje eq dla gracza 
    eq() # wywołuje funkcje eq 
    gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER)) # zmienia tryb gry na survival
    gameplay.set_difficulty(NORMAL) # zmienia poziom gry na normal
    runda1(x, y, z, 1) # wywołuje runde 1 

 
player.on_chat("arena", arenaKonstruktor)


# EKWIPUNEK 
def eq():
    #PAMIETAMY O TABULACJI 
    #zmienna pomocnicza z graczem 
    gracz = mobs.target(NEAREST_PLAYER) # cel gracz 
    # daje eq dla gracza zbroje + miecz z diamentów
    mobs.give(gracz, DIAMOND_LEGGINGS, 1) 
    mobs.give(gracz, DIAMOND_BOOTS, 1)
    mobs.give(gracz, DIAMOND_CHESTPLATE, 1)
    mobs.give(gracz, DIAMOND_HELMET, 1)
    mobs.give(gracz, DIAMOND_SWORD, 1)
    mobs.give(gracz, BOW, 1)
    mobs.give(gracz, ARROW, 64)

# RUNDA 1
# FUNKCJA RUNDA1 PRZYJMUJE 3 PARAMETRY -> wpolrzedne x,z oraz nr rundy 
def runda1(x, y, z, nrRundy):
    # napiszemy napis runda 1 z bloczkow 
    blocks.print("RUNDA " + nrRundy, SEA_LANTERN, world(x, y + 10, z + 45), WEST)

    # runda 1 spawnuje zombie x 15
    for i in range(15):
        mobs.spawn(ZOMBIE, randpos(world(x - 5, y + 5, z + 5), world(x + 5, y + 5, z + 20)))
        loops.pause(1000) # 1s przerwy po kazdym zombie 

    # Runda 1 ma 30s długości 
    loops.pause(30000)

# CO SIE STANIE PO SMIERCI GRACZA -> FUNKCJA DO ZDARZENIA player.on_died(nazwaFunkcji)