Seite 1 von 1
Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 15:33
von Vipaah
Hey,
Ich mache momentan ein Spiel mit meinen Freunden (Textspiel)
Ich wollte machen, dass wenn man "Info" eingibt, dass dort sofort kommt wieviel Schaden und Spielerhp mann hat.
Spielerhp = 100
Schaden = 10
Wie kann ich das machen?
Und wie kann ich machen, dass man später mehr Schaden bekommt?
Schaden = Schaden + 1?
LG,
Bin ein Anfänger, nur nebenbei
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 15:39
von Sirius3
@Vipaah: Aus Deiner Frage versteh ich nicht, was Du willst. Ganz generell: Eingaben fragt man mit input ab, vergleichen tut man mit if und ausgeben mit print.
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 16:04
von pixewakb
Du erkundigst Dich hier nach Grundlagen - Basics, d. h. arbeite das Tutorial durch! Das Tutorial gibt es jetzt für Python 3.3 auch in Deutsch:
http://py-tutorial-de.readthedocs.io/de/python-3.3/
Zu Deiner Frage: Ich würde eine Klasse für die Spielerfiguren schreiben und dann dort Deine Werte reinpacken, die kann ich dann reduzieren oder durch einen Heiltrank wieder auffüllen. Das Abfragen ist dann sehr einfach machbar. Damit lässt sich m. E. auch ein Inventar erstellen usw. usf.
Konkret:
Code: Alles auswählen
class Held(object):
def __init__(self, hp, schaden):
self.hp = hp
self.schaden = schaden
def main():
spielerA = Held(100, 10) # DU
spielerB = Held(80, 5) # möglicher Gegner
while True:
print("\nFIGHT - Kampf, INFO - HP u. Schaden, EXIT - Beenden")
eingabe = input("Ihre Eingabe: ")
if eingabe == "INFO":
print("Spielerhp A = {}".format(spielerA.hp))
print("Schaden A = {}".format(spielerA.schaden))
elif eingabe == "EXIT":
print("Schade...")
break
elif eingabe == "FIGHT":
while spielerA.hp > 0 and spielerB.hp > 0:
spielerA.hp -= spielerB.schaden
spielerB.hp -= spielerA.schaden
print(spielerA.hp, spielerB.hp)
if spielerA.hp <= 0:
print("spielerA hat verloren.")
else:
print("spielerB hat verloren.")
else:
pass
if __name__ == "__main__":
main()
Das sollte eine Idee davon geben, was denkbar/machbar ist. Falls es Dich weitergehend interessiert: pygame.org
Ich würde aber aktuell ein Tutorial durcharbeiten. Du stellst einfache Fragen, d. h. die Grundlagen sind nicht da.
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 16:07
von BlackJack
@Vipaah: Man sollte bei Namen keine Abkürzungen verwenden. Was soll `Spielerhp` bedeuten? Steh `hp` für Homepage? Für Hitpoints? Falls Hitpoints, warum die Mischung aus Deutsch und Englisch innerhalb eines Namens?
Wenn es mehrere Werte gibt die den Zustand eines Spielers beschreiben, dann macht im Grunde objektorientierte Programmierung (OOP) Sinn. Oder von der anderen Seite betrachtet: ohne OOP wird das schnell unübersichtlich. An der Stelle auch gleich mal: keine Variablen auf Modulebene. Da gehört nur Code hin der Konstanten, Funktionen, und Klassen definiert.
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 17:18
von Vipaah
Gut, danke für die Antworten.
Außerdem wollte ich fragen, ob PyCharm eine gude IDE ist.
Kann sie jemand empfehlen? Ist sie anders als die normale Python Shell?
LG
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 17:34
von BlackJack
@Vipaah: PyCharm wird von einigen Leuten benutzt die sehr zufrieden damit sind. Wenn die IDE für Dich funktioniert, dann spricht da IMHO nichts dagegen.
Es gibt allerdings einen ganzen Haufen IDEs und Editoren die von Python-Programmierern verwendet werden. Wenn Dir PyCharm also nicht zusagt, gibt es noch einiges an Alternativen zum ausprobieren.
Natürlich ist PyCharm anders als die normale Python-Shell, das ist aber auch ein Vergleich zwischen Äpfeln und Birnen. In der Python-Shell entwickelt man ja keine Programme. Zumindest nicht mit der Shell alleine.
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 20:52
von pixewakb
keine Variablen auf Modulebene. Da gehört nur Code hin der Konstanten, Funktionen, und Klassen definiert.
Könntest Du mal ein Beispiel machen, was man vermeidet und wie man das stattdessen macht? Was genau ist die Modulebene? Danke.
Re: Eine Frage zu einem Spiel
Verfasst: Dienstag 29. November 2016, 21:27
von pixewakb
Frage ist geklärt. Danke
Ich bin
hier fündig geworden und komme damit gut zurecht.