Я все еще довольно зеленый, работая с python, но я решил сделать свою собственную игру с нуля тем, что, как я знаю, будет хорошей практикой. У меня есть это соединение четыре игры вместе, и это работает в том, что касается переключения между игроками и «отбрасывания» их соответствующих частей. Теперь мне нужно условие выигрыша, хотя, честно говоря, я не знаю, с чего начать. Я бы предпочел какое-то руководство, а не прямой код ради обучения, но, конечно, любая помощь была бы весьма признательна. Благодарю. Быстрое замечание: текущий цикл while просто для отладки. Я думал об установке переменной «победитель» в False и выполнении цикла «while winner == False:», и условие win задало эту переменную True.Создание игры Connect 4 в python, но не знаю, с чего начать с условия выигрыша
board = [] #List for holding the board
for x in range(6):
board.append(["O"] * 7) #builds 7 x 6 board (rows x columns)
#function for printing the board
def print_board(board):
for row in board:
print " ".join(row)
print 'Welcome to Connect Four'
player_one = raw_input('Player 1. Enter your name: ')
player_two = raw_input('Player 2. Enter your name: ') #Gets players names
print '%s vs. %s' % (player_one, player_two)
print '--------------'
print print_board(board)
print 'Player 1 is Red(R) and Player 2 is Black(B)'
print 'Let\'s play!!' # Game's 'Opening'
turn = 0 #Keeps track of turn
while turn < 6: #debugging purposes
if turn % 2 == 0: #Determines whose turn it is by checking for even or odd turn
print '%s. Choose a column to drop your chip' % (player_one)
one_choice = int(raw_input('Column: ')) #Determines what column player will drop chip
#Checks for 'empty slot' from bottom up and fills it with players 'chip'
if (board[5][one_choice - 1] == 'O'):
board[5][one_choice - 1] = 'R'
print_board(board)
turn += 1
elif(board[4][one_choice - 1] == 'O'):
board[4][one_choice - 1] = 'R'
print_board(board)
turn += 1
elif(board[3][one_choice - 1] == 'O'):
board[3][one_choice - 1] = 'R'
print_board(board)
turn += 1
elif (board[2][one_choice - 1] == 'O'):
board[2][one_choice - 1] = 'R'
print_board(board)
turn += 1
elif (board[1][one_choice - 1] == 'O'):
board[1][one_choice - 1] = 'R'
print_board(board)
turn += 1
elif (board[0][one_choice - 1] == 'O'):
board[0][one_choice - 1] = 'R'
print_board(board)
turn += 1
else:
print "Column is full!!"
else:
#Same as above for player 2
print '%s. Choose a column to drop your chip' % (player_two)
one_choice = int(raw_input('Column: '))
if (board[5][one_choice - 1] == 'O'):
board[5][one_choice - 1] = 'B'
print_board(board)
turn += 1
elif(board[4][one_choice - 1] == 'O'):
board[4][one_choice - 1] = 'B'
print_board(board)
turn += 1
elif(board[3][one_choice - 1] == 'O'):
board[3][one_choice - 1] = 'B'
print_board(board)
turn += 1
elif (board[2][one_choice - 1] == 'O'):
board[2][one_choice - 1] = 'B'
print_board(board)
turn += 1
elif (board[1][one_choice - 1] == 'O'):
board[1][one_choice - 1] = 'B'
print_board(board)
turn += 1
elif (board[0][one_choice - 1] == 'O'):
board[0][one_choice - 1] = 'B'
print_board(board)
turn += 1
else:
print "Column is full!!"
#Gets me out of loop for debugging
if turn == 6:
print 'Game Over man!'
* «Я не знаю, с чего начать» * - тогда вы не готовы задавать вопрос здесь. – jonrsharpe
Извините. Я действительно занимался исследованиями, и все, что я нашел, похоже, не совпало с типом платы, который я создал. Возможно, это связано с тем, что я все еще участвую в чтении кода других людей. В следующий раз я постараюсь быть более основательным, прежде чем публиковать свой вопрос. – user2669412