나는 TicTacToe 게임을위한 메인 게임 메 커닉을 만들었습니다. 그러나 나는 최종 승패 조건을 코딩하는 방법을 모릅니다. 즉, 누군가 승/결속을 맺는 방법을 찾는 방법입니다.TicTacToe 게임에서 파이썬으로 승리/타이 조건을 코딩하는 방법
all()
기능을 사용해 보았지만이 중 하나가 작동하지 않거나 올바르게 사용하지 않았습니다 (아마도 후자). 여기
def get_grid():
r1 = ['-','-','-']
r2 = ['-','-','-']
r3 = ['-','-','-']
return r1, r2, r3
def get_coords():
x = 0
y = 0
while True:
try:
x = int(input("x coord : "))
y = int(input("y coord : "))
except ValueError:
print("Must be an integer")
if x < 0 or x > 3 or y < 0 or y > 3:
print('Both values must be in the grid!')
else:
break
return x, y
def pgrid(x, y, r1, r2, r3, player):
rdict = {1:r1, 2:r2, 3:r3}
if x != 0 and y != 0:
while True:
if rdict[y][x-1] == '-':
rdict[y][x-1] = player
break
else:
print("Invalid Space!")
x, y = get_coords()
print('\t1\t2\t3')
print(' 1 |', end = '\t')
for i in r1:
print(i, end = ' | ')
print()
print(' 2 |', end = '\t')
for i in r2:
print(i, end = ' | ')
print()
print(' 3 |', end = '\t')
for i in r3:
print(i, end = ' | ')
print()
def main():
r1, r2, r3 = get_grid()
players = ['X', 'O']
pgrid(0, 0, r1, r2, r3, None)
win = False
while win == False:
for i in players:
x, y = get_coords()
pgrid(x, y ,r1 ,r2 , r3, i)
변수는 대
r1, r2 and r3
되는 첫 번째, 두 번째 및 세 번째 행 판. 목록
x and y
은 'X'또는 'O'가있는 좌표입니다. 정수
rdict
은 y
값과 보드의 행 사이를 탐색합니다. 사전
player
이 선수입니다. 문자열 players
는 플레이어 ('X' and 'O'
) 선수가 우승했을 때
win
가 true의 목록입니다/게임 묶여있다. 부울
win
변수는이 질문에 대한 답변에서 변경해야하는 것입니다 난 그냥 코딩하는 방법에 대한 코드 또는 적어도 아이디어가 필요합니다 (I 어떤이 없기 때문에!).
미리 감사드립니다.