Untitled

mail@pastecode.io avatar
unknown
python
2 years ago
5.7 kB
2
Indexable
# przypisanie do literki 's' na czacie funkcji survival
# zmieniam czas na południe
# FUNKCJE
# def(poczatek definicji funkcji)nazwaFunkcji(): -> deklaracja funkcji w PYTHON
# Przykład -> napisz fukncje przywitanie która napisze na czacie przywitanie
# Wszystko co funkcja ma wykonać musi byc oddzielone od reszty kodu TAB(4spacje) bo bedzie blad
# jak uruchomic funkcje?
# wywołać funkcje można w nastepujący sposób: nazwaFunkcji()
# PRZYKŁAD
# przywitanie() # uruchomi funkcje kiedy wlacze skrypt(zielony przycisk)
# przypisac funkcje do polecenia czatu

def przywitanie():
    # jesli chciałbym zostawic funkcje na chwile pusta i napisac ja zaraz
    # napisze 'pass' zamiast poleceń w środku funkcji
    # pass
    player.say("Moja pierwsza funkcja")
    player.say("Hey i czołem")
player.on_chat("p", przywitanie)

# po napisaniu na czacie 'p' uruchomie funkcje przywitanie
# Ćwiczenie 1
# Napiszemy przepis/funkcję na przełączenie gry pomiędzy trybem przetrwania a kreatywnym.
# Potrzebuje funkcje przetrwanie -> ustawic odpowiednio tryb gry
# Potrzebuje funkcje kreatywny -> ustawic odpowiednio tryb gry
# 1. Deklaracja potrzbnych funkcji np. def przetrwanie():
# 2. Deklaracja potrzbnych funkcji np. def kreatywny():
# 3. ustawic potrzebne wartosci gry np. gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
# 4. EXTRA ZMIANA POGODY gameplay.set_weather(CLEAR)
# 5. EXTRA ZMIANA TRUDNOSCI gameplay.set_difficulty(PEACEFUL) HARD/EASY/NORMAL
# PAMIETAMY O TABULACJI(TAB)

def przetrwanie():
    # ZMIENIAM TRYB GRY NA SURVIVAL
    gameplay.set_game_mode(SURVIVAL, mobs.target(NEAREST_PLAYER))
    # Zmieniam pogode na burze
    gameplay.set_weather(THUNDER)
    # zmieniam tryb gry na NORMAL
    gameplay.set_difficulty(NORMAL)
    gameplay.time_set(DayTime.NIGHT)

player.on_chat("s", przetrwanie)

def kreatywny():
    # ZMIENIAM TRYB GRY NA SURVIVAL
    gameplay.set_game_mode(CREATIVE, mobs.target(NEAREST_PLAYER))
    # Zmieniam pogode na burze
    gameplay.set_weather(CLEAR)
    # zmieniam tryb gry na NORMAL
    gameplay.set_difficulty(NORMAL)
    gameplay.time_set(DayTime.DAY)

player.on_chat("c", kreatywny)


# ĆWICZENIE 2 
# ZBUDUJ ZA POMOCA FUNKCJI PIRAMIDE Z TNT
# CO POTRZEBNE DO CWICZENIA? 
# FUNKCJA KTÓRA KLADZIE 1 BLOCZEK -> blocks.place(TNT,pos(x,y,z))
# FUNKCJA KTORA KLADZIE WIELE BLOCZKOW -> blocks.fill(TNT, pos(odX,odY,odZ), pos(doX,doY,doZ))
# POZYCJE  :) 
# deklaracja funkcji
def piramida():
    blocks.fill(TNT, pos(-5, 2, -5), pos(5, 2, 5)) # 1. poziom
    blocks.fill(TNT, pos(-4, 3, -4), pos(4, 3, 4)) # 2. poziom
    blocks.fill(TNT, pos(-3, 4, -3), pos(3, 2, 3)) # 3. poziom
    blocks.fill(TNT, pos(-2, 5, -2), pos(2, 5, 2)) # 4. poziom
    blocks.fill(TNT, pos(-1, 6, -1), pos(1, 6, 1)) # 5. poziom
    blocks.fill(TNT, pos(0, 7, 0), pos(0, 7, 0)) # 6. poziom
# przypisanie do czatu 
player.on_chat('tnt',piramida) # po wpisaniu w czat 'tnt' wybuduje piramide

# MECHANIZM ZEBY BUDOWLE POWSTAWALY CALE, NIE ROZJECHANE 
# POZYCJA SWIATA -> world(x,y,z)

# ĆWICZENIE 3
# SKONSTRUUJ BOMBE Z POMOCA POZYCJI SWIATA -> NIECH TO BEDZIE KLEPSYDRA A W SRODKU ZAPALNIK
# JAK POBRAC POZYCJE GRACZA I JEJ WARTOSCI (X,Y,Z)
# JAK DODAC DO POZYCJI ODSTEP np 10 BLOCZKOW PO PRAWO 
# SKONSTRUUJE BOMBE 
# SKONSTRUUJE ODWROCONA BOMBE 
# WSTAWIE ZAPALNIK 
def bomba():
    # POBRAC POZYCJE GRACZA I JEJ WARTOSCI (X,Y,Z) i dodac odstep
    position = positions.add(player.position(), pos(10,0,0)) # dodaje odstep do pobranej pozycji gracza
    # wczytac konkretne wartosci pozycji
    x = position.get_value(Axis.X) # zczytuje pozcje x
    y = position.get_value(Axis.Y) # zczytuje pozcje Y
    z = position.get_value(Axis.Z) # zczytuje pozcje Z

    # tworzenie piramidy z pomoca pozycji swiata 
    blocks.fill(TNT, world(x, y, z), world(x+10, y, z+10)) # 1 poziom
    blocks.fill(TNT, world(x+1, y+1, z+1), world(x+9, y+1, z+9)) # 2 poziom
    blocks.fill(TNT, world(x+2, y+2, z+2), world(x+8, y+2, z+8)) # 3 poziom 
    blocks.fill(TNT, world(x+3, y+3, z+3), world(x+7, y+3, z+7)) # 4 poziom
    blocks.fill(TNT, world(x+4, y+4, z+4), world(x+6, y+4, z+6)) # 5 poziom
    blocks.fill(TNT, world(x+5, y+5, z+5), world(x+5, y+5, z+5)) # 6 poziom
    # odwrocona piramida
    blocks.fill(TNT, world(x+5, y+7, z+5), world(x+5, y+7, z+5))
    blocks.fill(TNT, world(x+4, y+8, z+4), world(x+6, y+8, z+6))
    blocks.fill(TNT, world(x+3, y+9, z+3), world(x+7, y+9, z+7))
    blocks.fill(TNT, world(x+2, y+10, z+2), world(x+8, y+10, z+8))
    blocks.fill(TNT, world(x+1, y+11, z+1), world(x+9, y+11 , z+9))
    blocks.fill(TNT, world(x, y+12, z), world(x+10, y+12, z+10))
    # zapalnik 
    loops.pause(3000)
    blocks.fill(REDSTONE_BLOCK, world(x+5, y+6, z+5), world(x+5, y+6, z+5))
    # przypisanie do czatu 
player.on_chat('b',bomba)

# ĆWICZENIE 4
# SKONSTRUUJ BASEN, skorzystaj z pozcji swiata, Podpowiedź: Trzeba zbudowac basen otwarty 
def basenKonstruktor():
    # POBRAC POZYCJE GRACZA I JEJ WARTOSCI (X,Y,Z) i dodac odstep
    position = positions.add(player.position(), pos(10,0,0)) # dodaje odstep do pobranej pozycji gracza
    # wczytac konkretne wartosci pozycji
    x = position.get_value(Axis.X) # zczytuje pozcje x
    y = position.get_value(Axis.Y) # zczytuje pozcje Y
    z = position.get_value(Axis.Z) # zczytuje pozcje Z
    # Tworzenie szklanej konstrukcji
    blocks.fill(GLASS, world(x, y, z), world(x + 15, y + 7, z + 30)) # szklany zarys 
    # Wypelniam powietrzem
    blocks.fill(AIR, world(x + 1, y + 1, z + 1), world(x + 14, y + 7, z + 29))
    # wypelniam woda
    blocks.fill(WATER, world(x + 1, y + 1, z + 1), world(x + 14, y + 7, z + 29))
# przypisac do czatu 
player.on_chat("basen", basenKonstruktor)