Klassendiagramm erstellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Julia Chevalier
User
Beiträge: 2
Registriert: Freitag 12. Juni 2020, 16:05

Hallo ich muss ein Klassendiagramm erstellen für mein alleresten selbstgeschriebenen Code.
Könnte mir vielleicht jemand dabei helfen?
Wäre super lieb danke!
Es geht um das Spiel Schere, Stein, Papier, Echse, Spock. Wobei die Gegnerin ausgelost wird und auch die beiden Länder welche gegeneinander spielen.



Mein Code:
class SchereSteinPapierEchseSpock:
pass

import random
from time import sleep

print("")
print("")
print("Willkommen bei der Schere, Stein, Papier, Echse, Spock Europa Meisterschaft 2020.")
sleep(3)
print("")

class Spieler:
pass
print("")
print("")
print("Als erstes losen wir deinen Gegner aus.")
sleep(2)
print("loading...")
sleep(3)
print("Du spielst in der ersten Runde gegen:")
print("")
from random import randint
Name_Liste = ["Name: Noah", "Name: Mia", "Name: Luka", "Name: Eva", "Name: Hugo", "Name: Lucia", "Name: Jakub", "Name: Eliska", "Name: Yusuf", "Name: Elif", "Name: Danylo", "Name: Angelina", "Name: Bence", "Name: Hanna", "Oliver", "Name: Amelia", "Name: Elsa", "Name: William", "Name: Emily", "Name: Jack", "Name: Sofia", "Name: Aleksander", "Name: Lena", "Name: Jakub", "Name: Anna", "Name: Lukas", "Name: Chloe", "Name: Francesco", "Name: Juhani"]
print(random.choice(Name_Liste))
Herkunft_Liste = ["Herkunft: Albanien", "Herkunft: Andorra", "Herkunft: Belarus", "Herkunft: Belgien", "Herkunft: Bosnien und Herzegowina", "Herkunft: Bulgarien", "Herkunft: Dänemark", "Herkunft: Deutschland", "Herkunft: Estland", "Herkunft: Finnland", "Herkunft: Frankreich", "Herkunft: Griechenland", "Herkunft: Irland", "Herkunft: Island", "Herkunft: Italien", "Herkunft: Kroatien", "Herkunft: Lettland", "Herkunft: Litauen", "Herkunft: Luxemburg", "Herkunft: Niederlande", "Herkunft: Norwegen", "Herkunft: Österreich", "Herkunft: Polen", "Herkunft: Portugal", "Herkunft: Rumänien", "Herkunft: Russland", "Herkunft: Schweden", "Herkunft: Schweiz", "Herkunft: Serbien", "Herkunft: Slowakei", "Herkunft: Slowenien", "Herkunft: Spanien", "Herkunft: Tschechien", "Herkunft: Ukraine", "Herkunft: Ungarn", "Herkunft: Vereinigtes Königreich"]
print(random.choice(Herkunft_Liste))
Spieler.kontinent = "Kontinent: Europa"
print (Spieler.kontinent)
print("Bisher gewonnene Spiele:", randint(1, 10))
print("Bisher verlorene Spiele:", randint(1, 10))
print("Spielstärke:", randint(1, 10))
sleep(10)
print("")
print("")

class Land:
pass
print("Als nächstes losen wir dein und das gegnerische Land aus. Achtung du vertrittst Land A.")
sleep(3)
print("loading...")
sleep(3)
print("In der nächsten Runde spielt also:")
print("")
Länder_Liste = ["Land A: Albanien", "Land A: Andorra", "Land A: Belarus", "Land A: Belgien", "Land A: Bosnien und Herzegowina", "Land A: Bulgarien", "Land A: Dänemark", "Land A: Deutschland", "Land A: Estland", "Land A: Finnland", "Land A: Frankreich", "Land A: Griechenland", "Land A: Irland", "Land A: Island", "Land A: Italien", "Land A: Kroatien", "Land A: Lettland", "Land A: Litauen", "Land A: Luxemburg", "Land A: Niederlande", "Land A: Norwegen", "Land A: Österreich", "Land A: Polen", "Land A: Portugal", "Land A: Rumänien", "Land A: Russland", "Land A: Schweden", "Land A: Schweiz", "Land A: Serbien", "Land A: Slowakei", "Land A: Slowenien", "Land A: Spanien", "Land A: Tschechien", "Land A: Ukraine", "Land A: Ungarn", "Land A: Vereinigtes Königreich"]
print(random.choice(Länder_Liste))
Land.kontinent = "Kontinent: Europa"
print (Land.kontinent)
print("Spielstärke:", randint(1, 10))

print("")
print("vs.")
print("")

Länder_Liste = ["Land B: Albanien", "Land B: Andorra", "Land B: Belarus", "Land B: Belgien", "Land B: Bosnien und Herzegowina", "Land B: Bulgarien", "Land B: Dänemark", "Land B: Deutschland", "Land B: Estland", "Land B: Finnland", "Land B: Frankreich", "Land B: Griechenland", "Land B: Irland", "Land B: Island", "Land B: Italien", "Land B: Kroatien", "Land B: Lettland", "Land B: Litauen", "Land B: Luxemburg", "Land B: Niederlande", "Land B: Norwegen", "Land B: Österreich", "Land B: Polen", "Land B: Portugal", "Land B: Rumänien", "Land B: Russland", "Land B: Schweden", "Land B: Schweiz", "Land B: Serbien", "Land B: Slowakei", "Land B: Slowenien", "Land B: Spanien", "Land B: Tschechien", "Land B: Ukraine", "Land B: Ungarn", "Land B: Vereinigtes Königreich"]
print(random.choice(Länder_Liste))
Land.kontinent="Kontinent: Europa"
print (Land.kontinent)
print("Spielstärke:", randint(1, 10))
sleep(5)
print("")
print("")
print("")
print("")
print("Hier einmal die geltenen Spielregeln:")
print("")
print("Stein schleift Schere und zerquetscht Echse.")
print("Papier bedeckt Stein und widerlegt Spock.")
print("Schere schneidet Papier und köpft Echse.")
print("Echse frisst Papier und vergiftet Spock.")
print("Spock zertrümmert Schere und verdampft Stein.")
sleep(10)
print("")
print("Bitte mache dich auch mit der folgenden Steuerung vertraut:")
print("")
print("Schreiben sie Schere für Schere.")
print("Schreiben sie Stein für Stein.")
print("Schreiben sie Papier für Papier.")
print("Schreiben sie Echse für Echse.")
print("Schreiben sie Spock für Spock.")
print("")
print("")
sleep(5)

a = ["Schere", "Stein", "Papier", "Echse", "Spock"]
b = ("SYNTAX ERROR. Ich glaube es gab einen Tippfehler. Achtung! Wir spielen ohne Brunnen.\n")
n = True
while n == True:
print("Okay bist du bereit?")
sleep(2)
print("Das nächste Spiel beginnt. Viel Glück!")
sleep(2)
print("Wir spielen Schere, Stein, Papier, Echse, Spock!")
sleep(2)
print("Land B entscheide bitte jetzt zwischen Schere, Stein, Papier, Echse, Spock.")
z = random.randint(0, 4)
LandB = a[z]
print("Land B hat gewählt.")
LandA = input("Land A du bist drannen! Schere, Stein, Papier, Echse, Spock?\n")
while LandA not in a:
if LandA == ("Brunnen"):
sleep(5)
LandA = input("Achtung! Wir spielen ohne Brunnen!\nBitte wähle zwischen Schere, Stein, Papier, Echse oder Spock!\n")
sleep(1)
("loading...")
sleep(2)
print("Achtung! Wir haben das Ergebnis.")
sleep(2)
print("Das Ergebniss ist...")
print("")
sleep(2)
if LandB == LandA:
print("Unentschieden!")
ausgang = False
elif (LandB == "Schere" and LandA == "Papier") or (LandB == "Stein" and LandA == "Schere") or (LandB == "Papier" and LandA == "Stein") or (LandB == "Stein" and LandA == "Echse") or (LandB == "Papier" and LandA == "Spock") or (LandB == "Schere" and LandA == "Echse") or (LandB == "Echse" and LandA == "Papier") or (LandB == "Echse" and LandA == "Spock") or (LandB == "Spock" and LandA == "Schere") or (LandB == "Spock" and LandA == "Stein"):
if LandB == "Stein":
print("Land B gewinnt diese Runde mit {} und kommt in die nächste Runde.".format(LandB))
print("Land A du spielst in der zweiten Runde um Platz 3 und 4.")
print("")
sleep(5)
else:
print("Du gewinnst diese Runde mit {} und kommst in die nächste Runde!!".format(LandA))
print(" Herzlichen Glückwunsch du startest in Runde zwei von vier. Viel Glück")

spiel = SchereSteinPapierEchseSpock()
Sirius3
User
Beiträge: 18248
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum postest Du hier nochmal das selbe Programm ohne auch nur irgendeine der Anmerkungen von __blackjack__ aus dem anderen Thread umzusetzen.

Du hast gar keine Klasse, also kannst Du gar kein Klassendiagramm erstellen.

Du hast im ersten Teil viel Textausgabe, die nichts mit dem Spiel zu tun hat:

Code: Alles auswählen

import random
NAMEN = ["Noah", "Mia", "Luka", "Eva", "Hugo", "Lucia", "Jakub", "Eliska",
    "Yusuf", "Elif", "Danylo", "Angelina", "Bence", "Hanna", "Oliver", "Amelia",
    "Elsa", "William", "Emily", "Jack", "Sofia", "Aleksander", "Lena", "Jakub",
    "Anna", "Lukas", "Chloe", "Francesco", "Juhani"] 
LAENDER = ["Albanien", "Andorra", "Belarus", "Belgien", "Bosnien und Herzegowina",
    "Bulgarien", "Dänemark", "Deutschland", "Estland", "Finnland", "Frankreich",
    "Griechenland", "Irland", "Island", "Italien", "Kroatien", "Lettland",
    "Litauen", "Luxemburg", "Niederlande", "Norwegen", "Österreich", "Polen",
    "Portugal", "Rumänien", "Russland", "Schweden", "Schweiz", "Serbien",
    "Slowakei", "Slowenien", "Spanien", "Tschechien", "Ukraine", "Ungarn",
    "Vereinigtes Königreich"]

print("Willkommen bei der Schere, Stein, Papier, Echse, Spock Europa Meisterschaft 2020.")
print("Als erstes losen wir deinen Gegner aus.")
print("Du spielst in der ersten Runde gegen:")
print(random.choice(NAMEN))
print(random.choice(LAENDER))
print("Kontinent: Europa")
print("Bisher gewonnene Spiele:", random.randint(1, 10))
print("Bisher verlorene Spiele:", random.randint(1, 10))
print("Spielstärke:", random.randint(1, 10))

print("Als nächstes losen wir dein und das gegnerische Land aus. Achtung du vertrittst Land A.")

print("In der nächsten Runde spielt also:")
print(random.choice(LAENDER))
print("Kontinent: Europa")
print("Spielstärke:", random.randint(1, 10))
print()
print("vs.")
print()
print(random.choice(LAENDER))
print("Kontinent: Europa")
print("Spielstärke:", random.randint(1, 10))
print()
Dann kommt der Teil mit den schlechten Variablennamen.
Das ganz könnte aufgeräumt so aussehen:

Code: Alles auswählen

print("Hier einmal die geltenen Spielregeln:")
print()
print("Stein schleift Schere und zerquetscht Echse.")
print("Papier bedeckt Stein und widerlegt Spock.")
print("Schere schneidet Papier und köpft Echse.")
print("Echse frisst Papier und vergiftet Spock.")
print("Spock zertrümmert Schere und verdampft Stein.")
print()
print("Bitte mache dich auch mit der folgenden Steuerung vertraut:")
print()
print("Schreiben sie Schere für Schere.")
print("Schreiben sie Stein für Stein.")
print("Schreiben sie Papier für Papier.")
print("Schreiben sie Echse für Echse.")
print("Schreiben sie Spock für Spock.")
print()
print()

AUSWAHL = ["Schere", "Stein", "Papier", "Echse", "Spock"]
while True:
    print("Okay bist du bereit?")
    print("Das nächste Spiel beginnt. Viel Glück!")
    print("Wir spielen Schere, Stein, Papier, Echse, Spock!")
    print("Land B entscheide bitte jetzt zwischen Schere, Stein, Papier, Echse, Spock.")
    auswahl_b = random.choice(AUSWAHL)
    print("Land B hat gewählt.")
    print("Land A du bist drannen!")
    while True:
        auswahl_a = input("Bitte wähle zwischen Schere, Stein, Papier, Echse oder Spock?\n")
        if auswahl_a in AUSWAHL:
            break
        if auswahl_a == "Brunnen":
            print("Achtung! Wir spielen ohne Brunnen!")
    print("Das Ergebniss ist...")
    if auswahl_a == auswahl_b:
        print("Unentschieden!")
    elif (auswahl_b, auswahl_a) in [
        ("Schere", "Papier"), ("Stein", "Schere"), ("Papier", "Stein"), ("Stein", "Echse"),
        ("Papier", "Spock"), ("Schere", "Echse"), ("Echse", "Papier"), ("Echse", "Spock"),
        ("Spock", "Schere"), ("Spock", "Stein")]:
        print("Land B gewinnt diese Runde mit {} und kommt in die nächste Runde.".format(auswahl_b))
        print("Land A du spielst in der zweiten Runde um Platz 3 und 4.")
    else:
        print("Du gewinnst diese Runde mit {} und kommst in die nächste Runde!!".format(auswahl_a))
        print(" Herzlichen Glückwunsch du startest in Runde zwei von vier. Viel Glück")
Die letzte Zeile macht nichts:

Code: Alles auswählen

class SchereSteinPapierEchseSpock():
    pass
spiel = SchereSteinPapierEchseSpock()
weil Du nur eine leere Klassendefinition geschrieben hast, in der nichts drin steht, also auch nichts passiert.
Wie ist denn die konkrete Aufgabenstellung? Also welche Art von Klasse sollst Du schreiben?
Benutzeravatar
__blackjack__
User
Beiträge: 13978
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Also technisch wäre das hier eine korrekte Antwort:
Bild
Nur das diese Klasse ohne irgendeinen Inhalt natürlich total unsinnig sind. Was ich im anderen Thema aber ja schon angemerkt hatte…
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
Antworten