problem mit "unsubscriptable object"-fehlermeldung

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
Vollker_Racho
User
Beiträge: 3
Registriert: Montag 15. Januar 2007, 17:16

1_) ich bin neu hier, also zerreißt mich nicht
2) wusst ich nicht wo das nun genau hinsollte , also hab ichs einfach hier reingepackt.

3) wir sollten im unterricht(bin 13klasse) projektarbeit machen, und ich hab mich mit meiner gruppe entscheiden eine abwandlung von dem spiel cannons zu programmieren.
nun bin ich gerade dabei die fehler die während des spiels auftreten zu minimieren.
und kapier einfach nicht warum MANCHMAL die-"unsubscriptable object"-fehlermeldung kommt.
für alle die das programm sich mal anschauen wollen, ladet es hier runter

http://www.zoufahl.de/p14.rar
(das script hier zu posten wär zu lang)

startet einfach die GUI.py und spielt ein wenig (mit rechter maustaste "feuert" man ein geschoss ab)
wenn ihr lange genug spielt, sollte irgendwann eben der gesagte fehler auftreten. nur ich weiß nicht warum
und besonders nicht warum NUR MANCHMAL .
die ausgabe in der console hat anscheinend was mit dem fehler was zu tun

vielen dank, andre

pS: zerreißt mich nicht wegen der schlechten programmierung und warum ich wie gecodet hab(ist eh nicht alles von mir sondern auch noch von meinen mitleuten). ich will momentan nur diesen fehler beheben.
ps2: wer genaues wissen will, wie man das spiel spielen soll, fragt mich einfach an. thx
Vollker_Racho
User
Beiträge: 3
Registriert: Montag 15. Januar 2007, 17:16

arg, ok das problem hat sich erübrigt, habs gefunden.
da hat einer von meinen hanswursten ein return vergessen und somit ist klar
dass wen ich sonstn tupel erwart, none geliefert wird und er damit nichts anfangen kann.

andre
BlackJack

Also Vererbung habt ihr nicht verstanden. Damit modelliert man eine "ist-ein(e)" Beziehung. Davon sehe ich keine einzige in der Klassenhierarchie.

Die Vererbungshierarchie sieht so aus:

Code: Alles auswählen

 +-----------+
 |Speicherung|
 +-----^-----+
       |
   +---+---+    +------+
   |Spieler|    |Physik|
   +---^---+    +--^---+
       |           |
       +-----+-----+
             |
          +--+--+
          | GUI |
          +--^--+
             |
          +--+--+
          |Name |
          +-----+
Das heisst es gibt ein gigantisches Objekt mit allen Methoden: 41 Stück. Dazu kommen dann noch alle anderen Attribute. Statt Klassen zum trennen und kapseln von zusammengehörigen Daten und Funktionen zu benutzen, wird am Ende alles wieder zusammengemanscht.

Das gleiche passiert auf Modulebene mit den Sternchenimports von Modulen die ihrerseits wieder Sternchenimports benutzen. Wenn man die Namen nicht in getrennten Namensräumen haben will, dann soll man gleich alles in ein Modul schreiben.
Antworten