Ich studiere Info und würde mir gerne eine neue Sprache aneignen und habe mir da mal Python angelacht. Wie auch in Java will ich als erstes ein Minesweeper bauen, da da eigentlich alle Grundkenntnisse einer Sprache benötigt werden. (GUI wird noch mal ein anderes Problem, aber dazu mache ich mir später Gedanken)
Für ein einzelnes Feld wollte ein eine Liste nehmen, in der ich verschiedene Einträge habe wie vermint, beflaggt, Anzahl der Nachbarminen. Diese Teile will ich dann in eine Liste einer Liste speichern. (also kurz eine dreifach verschachtelte Liste. )
Code: Alles auswählen
def newField(x, y, p):
# L: runter, rechts
# eine passende 2D-Liste wird angelegt
L = []
for i in range( y):
b = []
for j in range( x ):
b.append( ['',False,0] )
L.append(b)
# die Minen werden gelegt
for i in range(y):
for j in range(x):
if 1 : # TODO random Syntax >rand(p) :
L[i][j]= ['bomb',False, 0]
else:
L[i][j]= ['bomb' ,False, 0]
# die Anzahl der Nachbarbomben wird gezählt:
for i in range(y):
for j in range(x):
cnt=0
d=[-1,0,1]
for dy in d:
for dx in d:
if (dx==0 and dy==0): continue
try:
if isbomb(L[i+dy][j+dx]):
cnt+=1;
print 'cnt' + cnt
except:
print i+dy
print j+dx
print ''
print cnt
L[i][j][2] = cnt
return L
Mein Problem besteht jetzt darin, dass ich immer in das except reinlaufe, obwohl überall Bomben liegen, ich aber trotzdem immer in das except reinlaufe.
Könnte mir da jemand etwas auf die Sprünge helfen?
Frohe Weihnachten
Nikolas