-
Notifications
You must be signed in to change notification settings - Fork 2
/
main.py
108 lines (84 loc) · 3.63 KB
/
main.py
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
"""
Este módulo contém o arquivo principal do jogo Batalha Naval
desenvolvido para a disciplina Algoritmo e Programação Estruturadas
pelos alunos: Luiz Fernando, Lucas Kaique e Marcelo Bruno.
"""
# Importando as funções
from helpers.functions import *
# Abre a logo inicial do jogo
with open('helpers/game_logo.txt', 'r', encoding='utf-8') as logo:
print(logo.read())
# Solicitando a quantidade de navios de cada tabuleiro
print("\nAntes de começar:")
cont = 0
while True:
numeroNavios = int(input("Digite o número de navios (1 - 6): "))
if 0 < numeroNavios <= 6:
break
print("Insira um valor válido entre 1 e 6!")
# Gerando os tabuleiros dos jogadores com base
# na quantidade de navios informados.
jogador1 = gerar_tabuleiro(numeroNavios)
jogador2 = gerar_tabuleiro(numeroNavios)
# Mascarando os tabuleiros com a letra 'X
tab_1 = tab_2 = [["X" for i in range(9)] for i in range(9)]
while True:
print("""\n
Menu:
Digite 1 para iniciar um novo jogo:
Digite 2 para carregar um jogo:
Digite 3 para exibir as frotas:
Digite 4 para sair e salvar:
Digite 5 para sair sem salvar:
""")
menu = int(input("Digite o que deseja: "))
# Iniciando uma nova partida
if menu == 1:
jogador1 = gerar_tabuleiro(numeroNavios)
jogador2 = gerar_tabuleiro(numeroNavios)
# Captura o nome dos jogadores
print('\nInforme os nomes dos jogadores:')
nomeJogador_1 = input('Jogador 1: ').title()
nomeJogador_2 = input('Jogador 2: ').title()
cont = 1
# Gerando os tabuleiros usando list comprehension
tab_1 = [["X" for i in range(9)] for i in range(9)]
tab_2 = [["X" for i in range(9)] for i in range(9)]
game(jogador1,jogador2, tab_1, tab_2,nomeJogador_1, nomeJogador_2,numeroNavios)
# Carregando um jogo existente
elif menu == 2:
folder_path = input("Informe o nome da partida que deseja carregar: ").lower()
cont = 1
jogador1, jogador2, tab_1, tab_2, nomeJogador_1, nomeJogador_2,numeroNavios = carrega_jogo(jogador1,
jogador2,
folder_path,
tab_1, tab_2,numeroNavios)
game(jogador1, jogador2, tab_1, tab_2, nomeJogador_1, nomeJogador_2,numeroNavios)
# Exibindo as frotas dos jogadores.
# Esta opção se ativada encerrará a partida.
elif menu == 3:
exibir_game(jogador1, jogador2)
# Opção para sair do jogo e salvá-lo
elif menu == 4:
if cont == 0:
nomeJogador_1 = input('Jogador 1: ').title()
nomeJogador_2 = input('Jogador 2: ').title()
folder_path = input("Informe o nome da partida que deseja salvar: ").lower()
salva_jogo(jogador1, jogador2, folder_path,
tab_1, tab_2, nomeJogador_1, nomeJogador_2,numeroNavios)
print('Partida salva!')
break
else:
folder_path = input("Informe o nome da partida que deseja salvar: ").lower()
salva_jogo(jogador1, jogador2, folder_path,
tab_1, tab_2, nomeJogador_1, nomeJogador_2,numeroNavios)
print('Partida salva!')
break
# Opção que encerra o jogo sem salvá-lo
elif menu == 5:
print("Você encerrou a partida sem salvar!")
break
# Caso o usuário informe uma opção não existente no menu
else:
print("Opção não encontrada. O programa encerrou!")
break