Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności:
Szukaj Szukaj
Strony: [1]   Do dołu
Drukuj
Wątek: CodeCombat - "Wytrwałość popłaca" lvl 19/20  (Przeczytany 180 razy)
« : 23:05 07/01/19 »
ziel00ny Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 2


Witam

Gram w grę codecombat w języku PYTHON i niestety po przejściu kilku poziomów trafiłem na coś czego do końca nie rozumiem. Mógłby ktoś udzielić jakiś wskazówek nie koniecznie finalnego rozwiązania. Chcę trochę pogłówkować.

Kod
# You can use a database to store persistent data.
# Persistent data stays the same between plays of your game!
 
generator = game.spawnXY("generator", 60, 40) #to rozumiem
generator.spawnType = "munchkin" #to rozumiem
generator.spawnDelay = 1 #to rozumiem
player = game.spawnPlayerXY("raider", 36, 30) #to rozumiem
player.maxHealth = 70 #to rozumiem
player.attackDamage = 10 #to rozumiem
game.addSurviveGoal(8) #to rozumiem
 
# db stands for database
# db.add(key, value) increments a value stored in the database.
# This adds 1 to the "plays" key in the database.
db.add("plays", 1)
 
# Show the value of the "plays" and other keys in the db
ui.track(db, "plays")
ui.track(db, "wins")
ui.track(db, "total defeated")
 
ui.track(game, "time")
 
# Show the value of the "defeated" property of the game object
ui.track(db, "defeated")
 
# The code below will run when the player wins the game.
def onVictory(event): # funkcja ?
   db.add("wins", 1)
   # Use db.add(key, value) to add the value of
   # game.defeated to the database with the key "total defeated"
 
#..... tutaj mam wpisac i nie bardzo wiem co.
 
game.on("victory", onVictory)
 
https://zapodaj.net/c2d89d8bbeaa6.png.html
Zapisane
« Odpowiedz #1 : 04:14 12/01/19 »
Guaz Offline
Professional Python User

Zobacz profil
***

Reputacja: 48
Płeć: Mężczyzna
Wiadomości: 373


db działa jak słownik.
A funkcje definiujesz sam co ma robić, i tak, to jest funkcja Uśmiech.
(Funkcja to fragment kodu [po wcięciu] który się wykona gdy ją wywołasz. # < To ci się przyda za chwilę.)

Wywoływana jest kiedy klasa game wyemituje sygnał "victory" co masz w tej linii:
game.on("victory", onVictory)

onVictory, zostanie wewnątrz game.on wywołane z jakimś eventem (przekazujesz swoją funkcję po prostu do klasy). Może go nie użyjesz, ale zmodyfikujesz db dodając do klucza "wins" wartość 1.

Powinieneś zrobić to samo dla przegranej. Dodać sygnał (patrz. wyżej gdzie jest sygnał) o odpowiedniej nazwie (prawdopodobnie "defeat"), który doda do db "total defeated" z jakąś wartością. W tym przypadku wartością kryjącą się pod atrybutem game (konkretniej prawdopodobnie game.defeated).

A tak offtopując, moim zdaniem...
Ogólnie słaby poradnik, choć szanuje oprawę graficzną, przystępną formę itd. Ale poziom prezentowanego kodu niestety jest dość daleki od sensu brania z niego przykładu. Chociaż na zapoznanie się z pythonem to nawet spoko (na pierwsze kroki).
Sam z czystej ciekawości podsunąłem osobie kompletnie zielonej w pythonie i ocenił pozytywnie, może w wolnej chwili zajrzę czy jest tam coś więcej niż widać po tym zadaniu ;d


Jakbyś dalej miał problemy, pisz  Duży uśmiech
Zapisane

Python 3.5.2 / Mint
« Odpowiedz #2 : 13:55 13/01/19 »
wektor Offline
Hello World!

Zobacz profil
*

Reputacja: 1
Wiadomości: 21


ile zajmuje ukonczenie takiego kursu?
Zapisane
« Odpowiedz #3 : 18:04 13/01/19 »
Guaz Offline
Professional Python User

Zobacz profil
***

Reputacja: 48
Płeć: Mężczyzna
Wiadomości: 373


Zapytam Mrugnięcie.
Chociaż może pytający się też wypowie Uśmiech
Zapisane

Python 3.5.2 / Mint
« Odpowiedz #4 : 18:59 14/01/19 »
ziel00ny Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 2


Jest tego sporo. To co podesłałem to jakieś 5% początkowej rozgrywki.

Proszę rzucić okiem na część mapy:
https://zapodaj.net/d65f87bf2abaa.png.html
https://zapodaj.net/e5695a3b755bc.png.html

Niestety po przejściu jednej wyspy trzeba wykupić miesięczną subskrypcję. Około 16 zł miesięcznie. Na pewno lepiej wydać na coś takiego niż na fajki.

Zapisane
Strony: [1]   Do góry
Drukuj
Skocz do:  

© 2007 - 2019 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot