4 Gewinnt

Code-Stücke können hier veröffentlicht werden.
secretwz
User
Beiträge: 40
Registriert: Mittwoch 14. Januar 2009, 22:01

nene hier liegt ne verwechslung vor xD ich bin nicht cz3kit... ich habe lediglich probiert ihm zu helfen.. @hyperion und ich weiß garnicht was du von mir willst es geht doch garnicht um mich ich habe doch nur probiert dem user hier probiert zu helfen und ich weiß garnicht warum du mir jetzt sagst was ich zu tun habe xD des ist ja nicht mein problem sondern von cz3kit... und habe ihm nur gesagt das es bei mir den fehler gibt das es am range liegt und das habe ich auch durch die veränderung des codes bewiesen.. mehr wollte ich doch garnicht ;) entweder du hast mich auch verwechselst oder probiertst du mir was beizubring? dann tuts mir leid das des hier vllt bisschen böse rüberkommt also war nich so gemeint ;) also viel spass euch noch ;)
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

.... Mit meiner Änderung von:

Code: Alles auswählen

os.system("cls")
auf

Code: Alles auswählen

os.system("clear")
wird folgende Exception sichtbar:

Code: Alles auswählen

Traceback (most recent call last):
  File "4_gewinnt_02_01.py", line 96, in <module>
    if (board[x[y]] == Currentsign
TypeError: 'int' object is unsubscriptable
Habe ab Zeile 96 folgende Anpassungen durchgeführt:

Code: Alles auswählen

#vertical
    for x in range(3): #for x in range(7):
	for y in range(7): #for y in range(3):
	    if (board[x][y] == Currentsign: #if (board[x[y]] == Currentsign
	    and board[x][y+1] == Currentsign
	    and board[x][y+2] == Currentsign
	    and board[x][y+3] == Currentsign
            ):
		if Currentsign == SignPlayer1:
	    		Player1win = 1
		elif Currentsign == SignPlayer2:
	   		Player2win = 1
Folgende Zeile 96 ist sicher falsch:

Code: Alles auswählen

if (board[x[y]] == Currentsign:
Korrektur-1:

Code: Alles auswählen

if (board[x][y] == Currentsign:
Ein zusätzlicher Fehler ist mit den 'ranges'. Die Werte von x und y sind vertauscht!
Hier sollte man x,y besser durch Bezeichnungen wie row,column ersetzen:

Code: Alles auswählen

for x in range(7):
    for y in range(3):
Korrektur-2:

Code: Alles auswählen

for x in range(3):
    for y in range(7):
So scheint die Sache vorläufig zu funktionieren.

Edit: Habe noch fehlende Doppelpunkte eingesetzt.

Gruss wuf :wink:
Zuletzt geändert von wuf am Dienstag 20. Januar 2009, 21:09, insgesamt 1-mal geändert.
Take it easy Mates!
secretwz
User
Beiträge: 40
Registriert: Mittwoch 14. Januar 2009, 22:01

sehr nett von dir ;) hat sich ja nur bestätigt was ich gesagt hab aber wusste halt nich was für werte bei den x und y richtig sind ;) da ich davon keine ahnung hab un dies auch nicht weiter haben möchte xD ;) also viel spass wenn das problem jetz endlich gelöst ist an cz3kit ;)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

secretwz hat geschrieben:nene hier liegt ne verwechslung vor xD ich bin nicht cz3kit... ich habe lediglich probiert ihm zu helfen.. @hyperion und ich weiß garnicht was du von mir willst es geht doch garnicht um mich ich habe doch nur probiert dem user hier probiert zu helfen und ich weiß garnicht warum du mir jetzt sagst was ich zu tun habe xD des ist ja nicht mein problem sondern von cz3kit... und habe ihm nur gesagt das es bei mir den fehler gibt das es am range liegt und das habe ich auch durch die veränderung des codes bewiesen.. mehr wollte ich doch garnicht ;) entweder du hast mich auch verwechselst oder probiertst du mir was beizubring? dann tuts mir leid das des hier vllt bisschen böse rüberkommt also war nich so gemeint ;) also viel spass euch noch ;)
Sorry, hab Dich mit dem Threadsteller verwechselt ;-)
secretwz
User
Beiträge: 40
Registriert: Mittwoch 14. Januar 2009, 22:01

kein problem^^ war ja nicht böse gemeint :P
cz3kit
User
Beiträge: 74
Registriert: Freitag 9. Januar 2009, 16:24

Hallo so da bin ich wieder sorry konnte nicht zurückschreiben, unser Lehrer hat uns noch das Pascalsche Dreieck reingedrückt -.-

@wuf zu deinen Fragen.
Mein OS ist Windows
Meine Python Version is 2.5.2
Meine Fehler Meldung: line 96, in <module>
Index Error: list index out of range
mit os.system('cls') clear er das Feld wen noch ein Spielstein reinfällt damit die Konsole nicht so überfüllt ist. Welche Version verwendest du den? Da du ja clear benutzt
und danke für die Korrekturen

@secretwz wir benutzen zur Zeit nur Konsole und danke wegen dem Tipp mit [x[y]]

Gruß cz3kit
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo cz3kit & secretwz

Danke für den Feedback.

Ich arbeite praktisch nur unter Linux. Momentan SuSE 11.0 installiert auf einem Laptop 'ACER-Aspire 5930G'

Editor: Kwrite
Python: 2.4, 2.5, 2.6, 3.0
Ausgabe: Bash-Terminal

OK! Wünsche euch noch viel Spass beim programmieren mit Python.

P.S. Wusste nicht, dass unter Windows *os.system('Cls')* verwendet wird.

Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

Hab ich irgendwie schon öfter von dir gehört Numerix,
langsam mach ich mir richtig Sorgen. Du solltest dringend
den Augenarzt deines Vertrauens aufsuchen oder darüber
nachdenken dir einen neuen Monitor zuzulegen :D :D
(Ist nur ein Witz)

MfG Jonas :wink:
Antworten