-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmain.py
More file actions
133 lines (122 loc) · 4.87 KB
/
main.py
File metadata and controls
133 lines (122 loc) · 4.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#Programadores: Silas Leão, Lauro Stephan, João Vittor e Kauã Victor
from datetime import datetime
from ataque import *
from formarMatriz import *
from menu import *
from dados import *
import os
ORDEM = 8
COORDENADAS = ['','A |','B |','C |','D |','E |','F |','G |','H |']
contadorAcertosA = 0
contadorAcertosB = 0
turno = 1
fim = False
CoordenadaLinha = 0
CoordenadaColuna = 0
#Criação dos tabuleiros gabarito
jogadorAGab = [[None]*(ORDEM+1) for linha in range(ORDEM+1)]
jogadorBGab = [[None]*(ORDEM+1) for linha in range(ORDEM+1)]
#Criação dos tabuleiros vazios para a partida
jogadorA = [[' ']*(ORDEM+1) for linha in range(ORDEM+1)]
jogadorB = [[' ']*(ORDEM+1) for linha in range(ORDEM+1)]
#Coordenadas do tabuleiro gabarito A
for linha in range(ORDEM+1):
jogadorAGab[0][linha] = COORDENADAS[linha]
jogadorAGab[linha][0] = COORDENADAS[linha]
#Coordenadas do tabuleiro gabarito B
for linha in range(ORDEM+1):
jogadorBGab[0][linha] = COORDENADAS[linha]
jogadorBGab[linha][0] = COORDENADAS[linha]
#Coordenadas do tabuleiro A vazio
for linha in range(ORDEM+1):
jogadorA[0][linha] = COORDENADAS[linha]
jogadorA[linha][0] = COORDENADAS[linha]
#Coordenadas do tabuleiro B vazio
for linha in range(ORDEM+1):
jogadorB[0][linha] = COORDENADAS[linha]
jogadorB[linha][0] = COORDENADAS[linha]
data = datetime.now()
dataformatada = (f'{data.day}-{data.month}-{data.hour}-{data.minute}')
if menu() == True:
print()
qtdeNavios = int(input('\033[1;33mInforme a quantidade de navios que cada jogador terá(máx 6): \033[m'))
print()
if quantidadeNavios(qtdeNavios) == True:
gerarTabuleiro(jogadorAGab,qtdeNavios)
gerarTabuleiro(jogadorBGab,qtdeNavios)
#Loop do jogo
while True:
print()
print(f'{turno}° TURNO.'+'\n')
resp = salvarJogo()
if resp == True:
print()
print('Tabuleiro do jogador B:\n')
mostrarTabuleiro(jogadorB)
if atacarB(jogadorB, jogadorBGab) == True:
contadorAcertosA +=1
print()
print('Tabuleiro do jogador A:\n')
mostrarTabuleiro(jogadorA)
if atacarA(jogadorA, jogadorAGab) == True:
contadorAcertosB +=1
if contadorAcertosA == qtdeNavios:
print('\033[1;32mFim de jogo! Jogador A ganhou.\033[m')
break
elif contadorAcertosB == qtdeNavios:
print('\033[1;32mFim de jogo! Jogador B ganhou.\033[m')
break
turno +=1
elif resp == False:
arquivo = open(f'jogosalvos/jogo-{dataformatada}.txt','w')
pasta = open('jogos-salvos.txt','a')
pasta.write(f'jogo-{dataformatada}.txt'+'\n')
salvarDados(arquivo,jogadorA,jogadorAGab,jogadorB,jogadorBGab)
break
elif resp == 9:
print(f'Gabarito do jogador A\n')
mostrarTabuleiro(jogadorAGab)
print()
print('Gabarito do jogador B\n')
mostrarTabuleiro(jogadorBGab)
else:
print('Digite uma opção válida, tente novamente.')
salvarJogo()
else:
jogo_salvo = carregarJogo()
realocarDados(jogo_salvo,jogadorA,jogadorAGab,jogadorB,jogadorBGab)
qtdeNavios = mapearMatriz(jogadorAGab)
while True:
turno = contarTurnos(jogadorA)
print(f'{turno}° TURNO.'+'\n')
resp = salvarJogo()
if resp == True:
print()
print('Tabuleiro do jogador B:\n')
mostrarTabuleiro(jogadorB)
if atacarB(jogadorB, jogadorBGab) == True:
contadorAcertosA +=1
print()
print('Tabuleiro do jogador A:\n')
mostrarTabuleiro(jogadorA)
if atacarA(jogadorA, jogadorAGab) == True:
contadorAcertosB +=1
if contadorAcertosA == qtdeNavios:
print('\033[1;32mFim de jogo! Jogador A ganhou.\033[m')
break
elif contadorAcertosB == qtdeNavios:
print('\033[1;32mFim de jogo! Jogador B ganhou.\033[m')
break
turno +=1
elif resp == False:
arquivo = open(f'jogosalvos/jogo-{dataformatada}.txt','w')
pasta = open('jogos-salvos.txt','a')
pasta.write(f'jogo-{dataformatada}.txt'+'\n')
salvarDados(arquivo,jogadorA,jogadorAGab,jogadorB,jogadorBGab)
break
elif resp == 9:
print(f'Gabarito do jogador A\n')
mostrarTabuleiro(jogadorAGab)
print()
print('Gabarito do jogador B\n')
mostrarTabuleiro(jogadorBGab)