# Phyton-Schule-Gruppenprojekt-Abgabe am Mittwoch



## suzukini (24. Oktober 2013)

Hallo,
Ich habe in Informatik (schulfach) die Aufgabe bekommen ein beliebigs Programm zu erstellen mit der Sprache Phyton. 
Ich habe mich mit zwei weiteren Kumpels zusammen getan da ich nicht ganz so hartgesotten bin im Programmieren und sonst zwischen den anderen (die wirklich gut sind) untergegangen wäre.
Wir haben uns ein realisierbares Project überlegt und uns kam ein Strategiespiel wie Risiko in den Sinn.
Ich werde jetzt nur kurz erläutern wie wir und das ganze Vorgestellt haben.

Man selbst spielt die Partei Deutschland (kann auch was anderes sein) das ganze soll einen 2. Weltkriegs-touch (klingt etwas komisch) haben. So sind die Gegner Polen (schwach), Frankreich (mittel) Russland (stark) und die U.S.A (extrem). Die Schwierigkeit besteht nur darin, dass die jeweiligen Gegner mehr oder weniger Guthaben haben.
Es gibt fünf verschiedene Einheiten die alle eine bestimmte Anzahl an X`en besitzen (Eigenschaft). Ein X ist ein Zufallswert zwischen 1 und 6. Alle X einer Einheit zusammengerechnet ergeben dessen Angriffswert (schwächste Einheit hat 1X, stärkste 5X oder so) auch hat eine Einheit die Eigenschaft Lebenspunkte und Kosten. Dann hat jede Einheit die Methode "angreifen" und "angegriffen werden". Ich denke solangsam wird das Prinzip klar. Natürlich habe ich Punkte wie z.B ein Kampf aussieht oder was eine Runde ist etc. ausgelassen da ich nur kurz unser Project erleutern wollte. Die Leitung des ganzen Projekts lag nicht in meiner Hand. Ich sollte als kleine Aufgabe einfach nur Icon und sowas erstellen und eine Dokumentation des Projekts erstellen.
Jetzt ist "der helle Kopf" verletzt nach dem er einen Unfall hatte (Motorrad) und die beiden nicht hellen Informatikköppe müssen das machen. 

Das Problem is halt, das Projekt muss am 30.10. fertig werden. Ich gebe zu ich hätte früher anfangen sollen (habe das Aufgeschoben um drei Tage schon) zwar waren Klausuren dazwischen und Facharbeit und so aber es ist nicht so, dass ich nicht hätte mich früher melden können. Bevor ich jetzt mit der eigentlichen Frage anfange möchte ich daraufhinweisen, dass ich jetzt keine Kommentare von leuten gebruachen kann, dir mir sagen ich hätte früher anfangen sollen oder warum mache ich Informatik wenn ich es doch nicht so gut kann etc.

So dann fangen wir mal an. Könnte einer mir gute Listen geben mit wichtigen Befehlen ausser halt dem ganz leichtem wie class object etc. Wäre jemand eventuell bereit mal ne Stunde mit mir zu Skypen und mir Fragen zu beantworten und sowas? Also wenn das Programm schon etwas fortgeschritten ist? Ich kann momentan keine Gegenleistung bringen.
---edit---
Ja ich kann google benutzen. Jemand von euch ahnung vpn pygame´?


----------



## Leandros (24. Oktober 2013)

*Python!* Eine Anlehnung an Monty Python!


Klick mich!



suzukini schrieb:


> Ja ich kann google benutzen. Jemand von euch ahnung vpn pygame´?


 
Das bezweifle ich jetzt einfach mal ...


----------



## nay (25. Oktober 2013)

Mach was Einfacheres, wie z.B. ein Mini-Chat Programm für zwei PCs in einem LAN. Diese "ich programmier mal eben ein Spiel"-Ideen sind unrealistisch, v.a. in 5 Tagen.


----------



## kühlprofi (25. Oktober 2013)

Hast du ein Konzept oder irgendwelche UseCase Diagramme die du posten kannst, damit man ein wenig nachvollziehen kann was du genau machen willst?


----------



## DarkMo (25. Oktober 2013)

mit python kenn ich mich leider garnich aus. in c(++) hätt ich halt gesagt, bau dir nen paar klassen und erzeug objekte und lass sie zusammen werkeln. also ne klasse für die nationen/spieler, die das (start)vermögen beinhalten sowie die einheiten (typ/anzahl). und eben für die einheiten noch ne klasse, die halt die eigenschaften da beinhalten. also eben lebenspunkte, diese 1X bis 5X werte usw. dann erstellst du halt instanzen der klassen. für den spieler ne nationClass(100.000) und für die usa zum bsp einfach mit nationClass(1.000.000) als bsp. also als übergabeparameter das startvermögen. dann für jeden einheiten typ noch ne instanz mit den entsprechenden werten. was weis ich: typClass(100, 1X) und typClass(250, 4X) für ne schwache und ne starke einheit. müsste man überlegen, wie mans baut. am besten noch kosten hinterlegen usw. joa, und dann kann ne nation welche bauen (kosten werden vom vermögen abgezogen) oder eben einsetzen - nach euren spielregeln da.

aber wie gesagt, ob sowas in python auch geht...


----------



## suzukini (25. Oktober 2013)

Leandros schrieb:


> *Python!* Eine Anlehnung an Monty Python!
> 
> 
> Klick mich!
> ...



Das war jetzt wirklich unnötig. Aber okay. Ich hab das projekt jetzt einfach mal ganz stark abgespeckt auf einen Rechner, ausrechnet wer gewinnen würde unter welchen bediengungen etc.

edit----

ich hab jetzt ein problem.

 def __init__(self, name):
        self.__einheiten = 0
        self.__name = name
    def kämpfen(self, gegner):
        if self.__einheiten * random.randint(0.5, 1.5) > gegner.__einheiten * random.randint(0.5, 1.5):
            print("Feind vernichtet , Hauptmann!")
        else:
            print("Front bricht ein ,Hauptmann!")
    def einheiten(self):
        self.__einheiten = input("wie viele Einheiten soll %s haben?" % (self.__name))

ergibt folgende fehlermedlung. wo habe ich den fehler gemacht?

 Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    deutschland.kämpfen(amerika)
  File "H:\Schule\informatik projekt 2.py", line 9, in kämpfen
    if self.__einheiten * random.randint(0.5, 1.5) > gegner.__einheiten * random.randint(0.5, 1.5):
  File "C:\Python33\lib\random.py", line 214, in randint
    return self.randrange(a, b+1)
  File "C:\Python33\lib\random.py", line 178, in randrange
    raise ValueError("non-integer arg 1 for randrange()")
ValueError: non-integer arg 1 for randrange()
>>>


----------



## suzukini (30. Oktober 2013)

wie kann ich bei phyton, buttons auf ein bild legen?


img = ImageTk.PhotoImage(Image.open("H:\Schule\stratego-aussen.jpg"))
panel = Label(root, image = img)
panel.pack(side = "bottom", fill = "both", expand = "yes")
root.mainloop()

but = Button(root, text = "Tutorial", bg = "red", fg="white", command = tutorial)
but.pack()
but = Button(root, text = "Zusatsfaktoren", bg = "red", fg="white", command = zusatzfaktoren)
but.pack()
but = Button(root, text = "Fraktionen", bg = "red", fg="white", command = fraktionen)
but.pack()
but = Button(root, text = "Impressum", bg = "red", fg="white", command = impressum)
but.pack()

da sieht man nur das bild ohne die buttons. möchte es aber so gestalten, dass die buttons neben oder auf dem bild sind (zumindestens sollte man die buttons sehen. weiß einer von euch rat?


----------



## Crysis nerd (31. Oktober 2013)

Da stellt sich mir direkt die Frage: Schreibt der Kollege hier hässlichen Code oder ist Pythoncode generell hässlich?


----------



## Leandros (31. Oktober 2013)

Python ist generell hässlich.


----------



## suzukini (1. November 2013)

Piu, beides is hier der fall  unser projekt wurde vorm ganzen kurs.wegen unnöttiger komplexitaqt vorgestellt


----------



## Leandros (1. November 2013)

Och, das kann ich auch sehr gut. 
Andere erledigen eine Aufgabe (war ne dumme Uni Aufgabe in einer Übung) in 40 Zeilen ... ich in 240 Zeilen. Dafür Perfektioniert und absolut Bugfrei.


----------

