Programmer friends, I need your help. I was trying to make a Uno using Python but to my despair, an error appeared that I don't know how to fix it.
"This code is unreachable:138"
I would be very grateful, if anyone can help me fix this.
Here is my code:
#UNO!
import random
cards = []
cards_number = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
cards_special = ["+2", "+4", "Block", "Reverse"]
cards_color = ["Azul", "Verde", "Vermelho", "Amarelo"]
your_cards = []
bot_cards = []
ultima_carta_jogada = []
def Organizar_Cards():
print()
print("UNO!")
for index_organizar_cards_number in cards_number:
for index_organizar_cards_colors in cards_color:
juncao_number_with_color = index_organizar_cards_number, index_organizar_cards_colors
cards.append(juncao_number_with_color)
cards.append(juncao_number_with_color)
for index_organizar_cards_special in cards_special:
for index_organizar_cards_colors in cards_color:
juncao_special_with_color = index_organizar_cards_special, index_organizar_cards_colors
cards.append(juncao_special_with_color)
cards.append(juncao_special_with_color)
index = 0
while index < len(cards):
print(f"{cards[index][0]} {cards[index][1]}")
index += 1
def Iniciar():
iniciar_aleatorio = random.randint(1, 72)
ultima_carta_jogada.append(cards[iniciar_aleatorio])
cards.remove(ultima_carta_jogada[0])
print()
print(f"Iniciou: {ultima_carta_jogada[0][0]} {ultima_carta_jogada[0][1]}")
#Receber Cartas Jogador:
index_receber_cards_player = 0
while index_receber_cards_player < 7:
your_cards.append(list(cards[random.randint(1, len(cards) - 1)]))
index_receber_cards_player += 1
#Receber Cartas Bot:
index_receber_cards_bot = 0
while index_receber_cards_bot < 7:
bot_cards.append(list(cards[random.randint(1, len(cards) - 1)]))
index_receber_cards_bot += 1
print(bot_cards)
sua_jogada = ""
lance_valido = False
def Jogar():
qtd_cards = 7
while qtd_cards > 0:
print()
print("Suas cartas:")
index_receber_cards = 0
while index_receber_cards < len(your_cards):
print(f"{your_cards[index_receber_cards][0]} {your_cards[index_receber_cards][1]}")
index_receber_cards += 1
print()
sua_jogada = input("Qual carta você vai jogar? ").split()
#Verificador de Lance Válido:
if sua_jogada not in your_cards:
print("Você não possui esta carta, porfavor jogue novamente.")
continue
elif ultima_carta_jogada[0][0] == "+2" or ultima_carta_jogada[0][0] == "+4" and sua_jogada[0] == "+2" or sua_jogada[0] == "+4":
lance_valido = True
elif ultima_carta_jogada[0][0] == "Block" and sua_jogada[0] == "Block":
lance_valido = True
elif ultima_carta_jogada[0][0] == "Reverse" and sua_jogada[0] == "Reverse":
lance_valido = True
elif ultima_carta_jogada[0][0] == sua_jogada[0] or ultima_carta_jogada[0][1] == sua_jogada[1]:
lance_valido = True
else:
lance_valido = False
if lance_valido == True:
your_cards.remove(sua_jogada)
ultima_carta_jogada.pop()
ultima_carta_jogada.append(sua_jogada)
print()
print(f"Ultima carta Jogada: {ultima_carta_jogada[0][0]} {ultima_carta_jogada[0][1]}")
qtd_cards -= 1
BotUno()
continue
else:
print("Lance inválido, porfavor jogue novamente.")
continue
def BotUno():
lance_valido_bot = False
index_receber_cards = 0
qtd_cards_bot = 7
lance_bot = []
global bot_cards
index_card_bot = 0
while index_card_bot < len(bot_cards):
lance_bot = bot_cards[index_card_bot]
if lance_bot in bot_cards:
if ultima_carta_jogada[0][0] == "+2" or ultima_carta_jogada[0][0] == "+4" or ultima_carta_jogada[0][0] == "Block" or ultima_carta_jogada[0][0] == "Reverse":
if ultima_carta_jogada[0][0] == "+2" and lance_bot[0] == "+2" or lance_bot[0] == "+4":
lance_valido_bot = True
elif ultima_carta_jogada[0][0] == "+4" and lance_bot[0] == "+2" or lance_bot[0] == "+4":
lance_valido_bot = True
elif ultima_carta_jogada[0][0] == "Block" and lance_bot[0] == "Block":
lance_valido_bot = True
elif ultima_carta_jogada[0][0] == "Reverse" and lance_bot[0] == "Reverse":
lance_valido_bot = True
else:
lance_valido_bot = False
continue
index_card_bot += 1
if ultima_carta_jogada[0][0] == lance_bot[0] or ultima_carta_jogada[0][1] == lance_bot[1]:
lance_valido_bot = True
else:
lance_valido_bot = False
continue
else:
continue
if lance_valido_bot == True:
bot_cards.remove(lance_bot)
ultima_carta_jogada.pop()
ultima_carta_jogada.append(lance_bot)
print()
print(f"Ultima carta Jogada: {ultima_carta_jogada[0][0]} {ultima_carta_jogada[0][1]}")
qtd_cards_bot -= 1
else:
continue
Organizar_Cards()
Iniciar()
Jogar()
I tried to set the variable "index_card_bot" to global but it still didn't work