mirror of
https://github.com/Bobertkiller/tik-tak-toe.git
synced 2026-01-15 14:12:53 -03:00
Add files via upload
This commit is contained in:
135
jogo_velha.py
Normal file
135
jogo_velha.py
Normal file
@@ -0,0 +1,135 @@
|
||||
def geraTabuleiro():
|
||||
M = []
|
||||
for i in range(3):
|
||||
linha = []
|
||||
for j in range(3):
|
||||
linha.append('.')
|
||||
M.append(linha)
|
||||
return M
|
||||
|
||||
|
||||
def imprimeTabuleiro(M):
|
||||
for i in range(len(M)):
|
||||
for j in range(len(M[0])):
|
||||
print(M[i][j], end=' ')
|
||||
print('\n')
|
||||
|
||||
|
||||
def jogar(tabuleiro, jogador, linha, coluna):
|
||||
if tabuleiro[linha][coluna] == '.':
|
||||
if (jogador % 2) == 0:
|
||||
tabuleiro[linha][coluna] = 'x'
|
||||
return tabuleiro, True
|
||||
else:
|
||||
tabuleiro[linha][coluna] = 'O'
|
||||
return tabuleiro, True
|
||||
else:
|
||||
print('O outro jogador ja marcou essa posição')
|
||||
return tabuleiro, False
|
||||
|
||||
|
||||
def verificaGanhador(tabuleiro):
|
||||
verif_1 = 0
|
||||
verif_2 = 0
|
||||
|
||||
for i in range(3):
|
||||
for j in range(3):
|
||||
if tabuleiro[i][j] != '.':
|
||||
if tabuleiro[i][j] == 'x':
|
||||
verif_1 += 1
|
||||
else:
|
||||
verif_2 += 1
|
||||
if verif_1 == 3 or verif_2 == 3:
|
||||
print('Temos um vencedor')
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
return tabuleiro, exit()
|
||||
else:
|
||||
verif_1, verif_2 = 0, 0
|
||||
|
||||
for i in range(3):
|
||||
for j in range(3):
|
||||
if tabuleiro[i][j] != '.':
|
||||
if tabuleiro[j][i] == 'x':
|
||||
verif_1 += 1
|
||||
else:
|
||||
verif_2 += 1
|
||||
if verif_1 == 3 or verif_2 == 3:
|
||||
print('Temos um vencedor')
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
return tabuleiro, exit()
|
||||
else:
|
||||
verif_1, verif_2 = 0, 0
|
||||
|
||||
for i in range(3):
|
||||
if tabuleiro[i][i] != '.':
|
||||
if tabuleiro[i][i] == 'x':
|
||||
verif_1 += 1
|
||||
else:
|
||||
verif_2 += 1
|
||||
if verif_1 == 3 or verif_2 == 3:
|
||||
print('Temos um vencedor')
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
return tabuleiro, exit()
|
||||
else:
|
||||
verif_1, verif_2 = 0, 0
|
||||
|
||||
z = 2
|
||||
|
||||
for i in range(3):
|
||||
if tabuleiro[i][z] != '.':
|
||||
if tabuleiro[i][z] == 'x':
|
||||
verif_1 += 1
|
||||
else:
|
||||
verif_2 += 1
|
||||
if verif_1 == 3 or verif_2 == 3:
|
||||
print('Temos um vencedor')
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
return tabuleiro, exit()
|
||||
else:
|
||||
verif_1, verif_2 = 0, 0
|
||||
|
||||
|
||||
def verificaVelha(tabuleiro):
|
||||
verif = 0
|
||||
for i in range(3):
|
||||
for j in range(3):
|
||||
if tabuleiro[i][j] == '.':
|
||||
verif += 1
|
||||
if verif == 0:
|
||||
print('Deu velha!')
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
return exit()
|
||||
|
||||
|
||||
def main():
|
||||
velha, flag = False, False
|
||||
jogador = 2
|
||||
tabuleiro = geraTabuleiro()
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
|
||||
while velha == False and flag == False:
|
||||
if (jogador % 2) == 0:
|
||||
print('Vez do jogador 1')
|
||||
linha = int(input('Linha: '))-1
|
||||
coluna = int(input('Coluna: '))-1
|
||||
tabuleiro, flag = jogar(tabuleiro, jogador, linha, coluna)
|
||||
verificaGanhador(tabuleiro)
|
||||
verificaVelha(tabuleiro)
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
if flag == True:
|
||||
jogador += 1
|
||||
flag = False
|
||||
|
||||
else:
|
||||
print('Vez do jogador 2')
|
||||
linha = int(input('Linha: '))-1
|
||||
coluna = int(input('Coluna: '))-1
|
||||
tabuleiro, flag = jogar(tabuleiro, jogador, linha, coluna)
|
||||
verificaGanhador(tabuleiro)
|
||||
verificaVelha(tabuleiro)
|
||||
imprimeTabuleiro(tabuleiro)
|
||||
if flag == True:
|
||||
jogador += 1
|
||||
flag = False
|
||||
|
||||
main()
|
||||
Reference in New Issue
Block a user