Repository navigation
Expand file tree
/
Copy path15.py
More file actions
79 lines (56 loc) · 2.24 KB
/
Copy path15.py
File metadata and controls
79 lines (56 loc) · 2.24 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
'''
Exercise 15 - Implemente uma classe chamada “JogoCartas” que represente um jogo de cartas
simples, como o Uno. Essa classe deve ter métodos para embaralhar as cartas,
distribuir as cartas aos jogadores e permitir jogadas.
'''
import random
class JogoCartas:
def __init__(self):
self.baralho = [str(num) for num in range(1, 10)] * 4 + ["Bloqueio", "Inverter", "Mais2"] * 4
self.jogadores = []
self.maos = {}
def embaralhar_cartas(self):
random.shuffle(self.baralho)
print("Cartas embaralhadas!")
def adicionar_jogadores(self, nomes):
self.jogadores = nomes
print(f"Jogadores adicionados: {', '.join(nomes)}")
def distribuir_cartas(self, num_cartas=7):
if not self.jogadores:
print("Nenhum jogador cadastrado!")
return
self.maos = {jogador: [] for jogador in self.jogadores}
for _ in range(num_cartas):
for jogador in self.jogadores:
if self.baralho:
self.maos[jogador].append(self.baralho.pop(0))
else:
print("O baralho acabou!")
break
print("Cartas distribuídas aos jogadores!")
def exibir_maos(self):
for jogador, cartas in self.maos.items():
print(f"{jogador}: {', '.join(cartas)}")
def jogar_carta(self, jogador, carta):
if jogador not in self.jogadores:
print(f"Jogador {jogador} não encontrado!")
return
if carta not in self.maos[jogador]:
print(f"Jogador {jogador} não tem a carta '{carta}'!")
return
self.maos[jogador].remove(carta)
print(f"Jogador {jogador} jogou a carta '{carta}'.")
def verificar_vencedor(self):
for jogador, cartas in self.maos.items():
if not cartas:
print(f"Jogador {jogador} venceu!")
return jogador
return None
jogo = JogoCartas()
jogo.adicionar_jogadores(["Alice", "Bob", "Carlos"])
jogo.embaralhar_cartas()
jogo.distribuir_cartas()
jogo.exibir_maos()
jogo.jogar_carta("Alice", "3")
jogo.exibir_maos()
jogo.verificar_vencedor()