class ConnectFour(object):
def __init__():
gameBoard = [[0]*7]*7
turn = 1
def printBoard():
print "\n"
for a in range(7):
for b in range(7):
if not b == 6:
print gameboard[a][b]
else:
print "\n"
def putPiece(row,col):
if turn == 1:
gameBoard[row][col] = 'o'
else:
gameBoard[row][col] = 'x'
turn = -turn
def prompt():
col = raw_input("Enter column: ")
return col
def getNextRow(col):
for i in range(7):
if not gameboard[col][i] == ' ':
return i-1
def wonHoriz():
oconsecutive = 0
xconsecutive = 0
for a in range(7):
for b in range(7):
if gameboard[a][b] == 'o':
oconsecutive=oconsecutive+1
elif gameboard[a][b] == 'x':
xconsecutive=xconsecutive+1
if xconsecutive >= 4:
return 'x'
elif oconsecutive >= 4:
return 'o'
else:
return '-'
oconsecutive,xconsecutive = 0
def wonVert():
oconsecutive = 0
xconsecutive = 0
for a in range(7):
for b in range(7):
if gameboard[b][a] == 'x':
xconsecutive = xconsecutive+1
elif gameboard [b][a] == 'o':
oconsecutive = oconsecutive+1
if xconsecutive >= 4:
return 'x'
elif oconsecutive >= 4:
return 'o'
else:
return '-'
oconsecutive,xconsecutive = 0
def checkWin():
if wonHoriz() == 'o' or wonVert() == 'o':
print "o is the winner!"
elif wonVert() == 'x' or wonHoriz() == 'x':
print 'x is the winner!'
def main():
for a in range(49):
printBoard()
prompt()
putPiece(getNextRow(),prompt())
checkWin()
if __name__ == '__main__':
newGame = ConnectFour()
newGame.main()