nord vpnnord vpn
Ad

Untitled

mail@pastecode.io avatar
unknown
python
6 months ago
5.1 kB
1
Indexable
Never
#funkcja tworząca zamek
#minimalna długość murów to 20 przy mniejszych wartościach schody nie generują się poprawnie
#liczba określająca długość murów musi być PARZYSTA żeby wierzchołki się poprawnie wygenerowały
#zalecana wysokość muru to 4, tylko wtedy creppery będą mogły się aktywować i wybuchnąć
 
def zamekKonstruktor(mur,wysokosc):
    dlMuru = mur
    dlMuruKopia = dlMuru / 2
    wysokoscMuru = wysokosc
    builder.teleport_to(pos(-5, 0, 5))
    builder.set_origin()
    builder.mark()
    i = 0
    #pętla tworząca 3 warstwowe mury dookoła gracza
    while i < 3:
        j = 0
        while j < 4:
            builder.move(FORWARD, dlMuru)
            builder.raise_wall(MOSSY_STONE_BRICKS, wysokoscMuru)
            builder.turn(RIGHT_TURN)
            j += 1
        dlMuru += -2
        builder.move(RIGHT, 1)
        builder.move(FORWARD, 1)
        builder.mark()
        i += 1
    builder.move(UP, wysokoscMuru - 1)
    builder.face(WEST)
    builder.move(BACK, 15)
    builder.mark()
    i = 0
    #pętla tworząca schody
    while i < wysokoscMuru - 1:
        builder.shift(1, -1, 0)
        builder.line(STONE_BRICK_STAIRS)
        i += 1
    builder.teleport_to_origin()
    builder.move(UP, wysokoscMuru)
    builder.face(NORTH)
    builder.mark()
    i = 0
    #pętla tworząca wierzchołki
    while i < 4:
        j = 0
        while j < dlMuruKopia:
            builder.place(SEA_LANTERN)
            builder.move(FORWARD, 2)
            j += 1
        builder.turn(RIGHT_TURN)
        i += 1
player.on_chat("zamek", zamekKonstruktor)

# Listy/Tablice 
# Listy to zbior wartosci/zmiennych 
# Zmienna ktora przechowuje wiele wartosci 
tablica = ["Michal", 25, 2023] # tablica przechowuje 3 wartosci 
# Odwołanie się do elementu tablicy aby pobrac wartosc
player.say(tablica[0]) # wypisz w czacie index 0 / 1 element z tablicy
powitanie = "Czesc " + tablica[0] + "w "+ tablica[2] + " roku" + "Masz "+ tablica[1] + "lat"
player.say(powitanie)

# Przyklad 2 
imiona = ["Maciek", "Karol", "Józef"] # tablica przechowuje 3 imiona,
for i in range(len(imiona)): # funkcja len(nazwaTablicy) pozwala nam sprawdzic jej dlugosc dla petli for
    player.say("Witaj " + imiona[i]) # wypisz na czacie kolejne imiona przez odwolanie do index przez licznik petli 'i'

# ekwipunek 
def ekwipunek():
    eq = [  DIAMOND_SWORD, 1, # CO, ILOSC
            TORCH, 128,
            DIAMOND_HELMET, 1,
            DIAMOND_BOOTS, 1,
            BOW, 1,
            ARROW, 128,
            GOLDEN_APPLE, 3,
            ENCHANTED_APPLE, 3,
            LADDER, 64,
            DIAMOND_CHESTPLATE, 1,
            DIAMOND_LEGGINGS, 1,
            DIAMOND_HORSE_ARMOR, 1,
            SHIELD, 1,
            IRON_DOOR, 8,
            DIAMOND_AXE, 1,
            DIAMOND_SHOVEL, 1]
    for i in range(0, len(eq), 2): # petla wykonujaca sie od 0 do konca listy, co 2 => 0, 2, 4, 6, 8, 10 ....
        przedmiot = eq[i] # index dla przedmiotu 
        ilosc = eq[i + 1] # index dla ilosci 
        mobs.give(mobs.target(NEAREST_PLAYER), przedmiot, ilosc)
player.on_chat('eq', ekwipunek) 

# 1 dodatek - kon
def spawnKonia():
    mobs.spawn(HORSE, pos(2, 0, 0)) # spawn konia
    mobs.give(mobs.target(NEAREST_PLAYER), SADDLE, 1)
#przypisanie do czatu na litere 'k' lub 'kon'
player.on_chat("kon",spawnKonia)

# 2 dodatek - enchant luku 
def zaczarujLuk():
    mobs.enchant(mobs.target(NEAREST_PLAYER), "Power", 5)
    mobs.enchant(mobs.target(NEAREST_PLAYER),"Flame", 1)
player.on_chat("luk", zaczarujLuk)

# 1 super-atak
def deszczStrzalTnt(rodzajStrzal, x, z): # a 0 lub 1 10,10
    # Ustalam jaki rodzaj pocisku
    if(rodzajStrzal == 0):
        rodzajStrzal = ARROW_PROJECTILE_MOB
    else: 
        rodzajStrzal = PRIMED_TNT
    # robie spawn 20xstrzal
    for i in range(50):
        pozycja = randpos(pos(x, 15, z), pos(x + 15, 15, z+15))
        mobs.spawn(rodzajStrzal, pozycja)
player.on_chat("a", deszczStrzalTnt) # przypisanie do czatu 

# 2 super-atak - NEPTUN
def neptun():
    gameplay.set_weather(THUNDER)
    mobs.give(mobs.target(NEAREST_PLAYER), TRIDENT, 1)
    mobs.enchant(mobs.target(NEAREST_PLAYER), "Channeling", 1)
    mobs.enchant(mobs.target(NEAREST_PLAYER), "Unbreaking", 3)
    loops.pause(30000) # 30s = 30 000ms
    gameplay.set_weather(CLEAR)
player.on_chat("n", neptun)

# spawn mobow
def spawnMobow(liczbaFal):
    # ustawienia poczatkowe dla swiata, tryb gry etc.
    gameplay.set_difficulty(NORMAL)
    gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
    gameplay.set_weather(CLEAR)
    gameplay.time_set(DayTime.NIGHT)
    # ustalenie listy z mobami do spawnu 
    moby = [CREEPER, ZOMBIE, SKELETON, SPIDER, ENDERMAN, BLAZE, GHAST, WITHER]
    # ustalenie fal spawnu mobow
    spawnStart = 5
    for i in range(liczbaFal):
        for j in range(spawnStart):
            for m in range(len(moby)):
                # ustalic pozycja startowa
                pozycja = randpos(pos(20, 3, 20), pos(35, 5, 35))
                mobs.spawn(moby[m], pozycja)
            loops.pause(30000 * liczbaFal)
player.on_chat("start", spawnMobow) # start 3

nord vpnnord vpn
Ad