4 Gewinnt
Verfasst: Samstag 17. Januar 2009, 20:08
Hallo ich hab da ein problem. Wir haben gerade 4 Gewinnt von der Schule als Aufgabe bekommen. Wir sollen es so machen das er erkennt wan vier steine in einer Reie sind und dan sagen spieler1hat gewonnen. So sieht das bis jetzt aus:
Wäre für jede Hilfe dankbar
Code: Alles auswählen
import os
import copy
def showboard(foo_list):
for element in foo_list:
print element
def changeSign(sign, SignPlayer1, SignPlayer2):
if sign == SignPlayer1:
return SignPlayer2
else:
return SignPlayer1
def isComplete(board):
return True
board = []
Currentsign = 0
line = ['_', '_', '_', '_', '_', '_', '_']
for x in range(6):
line2 = copy.deepcopy(line)
board.append(line2)
print
print "Four_Winns"
print
SignPlayer1 = '#'
SignPlayer2 = 'x'
sign = SignPlayer2
Player1 = raw_input("Player1, please put in your name: ")
Player2 = raw_input("Player2, please put in your name: ")
SignPlayer1 = "#"
SignPlayer2 = "x"
os.system("cls")
while isComplete(board):
print
print "Four_Winns"
print
showboard(board)
print ['0', '1', '2', '3', '4', '5', '6']
sign = changeSign(sign, SignPlayer1, SignPlayer2)
if sign == SignPlayer1:
print Player1
else:
print Player2
column = input("Please put in a column: ")
if column < 0 or column > 6:
print "please choose another column"
sign = changeSign(sign, SignPlayer1, SignPlayer2)
continue
os.system("cls")
for i in range(5):
if board[i+1][column] != '_':
if board[i][column] != '_':
print "Please choose another column"
sign = changeSign(sign, SignPlayer1, SignPlayer2)
else:
board[i][column] = sign
break
if i == 4 and board[5][column] == '_':
board[5][column] = sign
#checking
#breitx = 7 Hochy = 6
#horizontal
for x in range(4):
for y in range(6):
if (board[x][y] == Currentsign
and board[x+1][y] == Currentsign
and board[x+2][y] == Currentsign
and board[x+3][y] == Currentsign
):
if Currentsign == SignPlayer1:
Player1win = 1
elif Currentsign == SignPlayer2:
Player2win = 1
#vertical
for x in range(7):
for y in range(3):
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
#diagonal
#left to right
for x in range(4):
for y in range(3):
if (board[x][y] == Currentsign
and board[x+1][y+1] == Currentsign
and board[x+2][y+2] == Currentsign
and board[x+3][y+3] == Currentsign
):
if Currentsign == SignPlayer1:
Player1win = 1
elif Currentsign == SignPlayer2:
Player2win = 1
#right to left
for x in range(4):
for y in range(3,6,1):
if (board[x][y] == SignPlayer1
and board[x+1][y-1] == SignPlayer1
and board[x+2][y-2] == SignPlayer1
and board[x+3][y-3] == SignPlayer1
):
if Currentsign == SignPlayer1:
Player1win = 1
elif Currentsign == SignPlayer2:
Player2win = 1
Wäre für jede Hilfe dankbar