Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
3.3 kB
8
Indexable
Never

#MINECRAFT

# Pobieramy kordy gracza. Wykorzystaj zmienne x, y, z do wykonywania poniższych zadań.

pozycja=player.position()
x=pozycja.get_value(Axis.X)
y=pozycja.get_value(Axis.Y)
z=pozycja.get_value(Axis.Z)

# Zadanie 1
# Stwórz funkcję o nazwie podwodnySwiat, którą wywołasz komendą aquaman na czacie.
# Po wywołaniu funkcji gracz powinien zostać zamknięty w wielkim zbiorniku stworzonym ze szkła (GLASS) z wodą (WATER).
# Wykorzystaj funkcję blocks.fill().

def podwodnySwiat():
  
    #Tworzymy konstrukcję szklaną
    blocks.fill(GLASS, world(x-10,y-10,z-10), world(x+10,y+10,z+10))
    #nalewamy wodę
    blocks.fill(WATER, world(x-9,y-9,z-9), world(x+9,y+9,z+9))
    utopiec(10)
    ekwipunek()
    rafa()
player.on_chat("aquaman",podwodnySwiat)


# Zadanie 2
# Stwórz funkcję o nazwie utopiec z parametrem liczbaUtopcow i wywołaj ją w funkcji podwodnySwiat. Wywołując funkcję podajemy liczbę utopców, które chcemy zespawnować.
# Parametr wykorzystamy w pętli for w funkcji in range()
# Utopiec to DROWNED

def utopiec(liczbaUtopcow):

    for i in range(liczbaUtopcow):

        mobs.spawn(DROWNED, randpos(world(x-9,y-9,z-9), world(x+9,y+9,z+9)))

# Zadanie 3
# Stwórz funkcję ekwipunek, która po wywołaniu w funkcji podwodnySwiat doda trójząb, który świetnie sprawdzi się w walce pod wodą.
# Dodaj również zaklęcia, które ulepszą naszą broń.
# Unbreaking poziom3 - zwiększa wytrzymałość broni.
# Riptide poziom3 - podczas deszczu lub w wodzie użycie trójzębu zapewnia szybki transport.
# Loyalty poziom 3 - podczas rzucenia trójzębem w przeciwnika nasza broń wraca do gracza.
# Użyj takich funkcji jak mobs.give() oraz mobs.enchant().
# Trójząb to TRIDENT.
# Możesz dodać też inne przedmioty przydatne w walce pod wodą.

def ekwipunek():
    mobs.give(mobs.target(NEAREST_PLAYER), TRIDENT, 1)
    mobs.enchant(mobs.target(NEAREST_PLAYER), "Unbreaking", 3)
    mobs.enchant(mobs.target(NEAREST_PLAYER), "Riptide", 1)



# Zadanie 4
# Stwórz funkcję o nazwie rafa i wywołaj ją w funkcji podwodnySwiat po utworzeniu zbiornika z wodą.
# Użyj polecenia blocks.place oraz randpos() żeby dodać różne rafy w losowym miejscu, wykorzystaj również pętlę for.
# Nazwy raf: TUBE_CORAL, BRAIN_CORAL, BUBBLE_CORAL, FIRE_CORAL, BUBBLE_CORAL_FAN

# Do wykonania tego zadania możesz wybrać też listę.
# W funkcji rafa stwórz listę o nazwie rafy i dodaj do niej parę raf różnego rodzaju.
# Za pomocą pętli 2 pętli for wybierz z listy rafy i umieść je w losowych miejscach w wodzie.
def rafa():
    rafy = [TUBE_CORAL, BRAIN_CORAL, BUBBLE_CORAL, FIRE_CORAL, BUBBLE_CORAL_FAN]
    for i in range(len(rafy)):
        for i in range(10):
            blocks.place(rafy[i], randpos(world(x-9,y-9,z-9), world(x+9,y+9,z+9)))



# Zadanie 5
# Funkcja zmieniająca tryb gry.
# Stwórz funkcję o nazwie trybGry i parametrze podanyTryb. Funkcję będziemy wywoływać na czacie komendą t podając parametr 0 lub 1.
# Kiedy podamy 0, gra powinna być w trybie przetrwania, a gracz powinien otrzymać efekt oddychania pod wodą. Kiedy podamy 1 powinien włączyć się tryb kreatywny.
# Wykorzystaj instrukcję warunkową if elif.
# Efekt oddychania pod wodą to WATER_BREATHING. Wykorzystaj go w funkcji mobs.apply_effect