<gh_stars>1-10
from pygame import mixer
from random import choice
from time import sleep
print('\033[1;33m-\033[m\033[1;34m-\033[m' * 150)
print(' '*40, '\033[1;36mBEM-VINDO(A) AO JOGO DA FORCA\033[m')
print('\033[1;33m-\033[m\033[1;34m-\033[m' * 150)
print(' '*43, 'Escolha uma categoria')
print(' '*48, '[1] Animais')
print(' '*48, '[2] Frutas')
print(' '*48, '[3] Cores')
print(' '*48, '[4] Marcas')
print(' '*48, '[5] Nomes')
categoria = input('                                               Opção escolhida: ').strip().lower()
animais = ('raposa', 'coiote', 'girafa', 'crocodilo', 'golfinho', 'gorila', 'touro', 'pombo')
frutas = ('morango', 'laranja', 'banana', 'abacate', 'abacaxi', 'manga', 'melancia', 'coco')
cores = ('amarelo', 'roxo', 'cinza', 'marrom', 'laranja', 'branco', 'preto', 'rosa', 'verde')
marcas = ('adidas', 'motorola', 'google', 'apple', 'subway', 'samsung', 'ruffles', 'disney')
nomes = ('daniel', 'juliana', 'gabriel', 'maria', 'roberto', 'rodrigo', 'renata', 'pedro')
erro = letra = 0
def jogo():
    print('\n' * 50)
    mixer.init()
    mixer.music.load('C:/Users/usuario/Desktop/pirates.mp3')
    mixer.music.play(999)
    print(' ' * 55, '\033[1;31mSE PREPARE!\033[m')
    print('\n' * 18)
    sleep(5.5)
    print('\n' * 50)
    print(' ' * 40, '\033[1;33mLembre-se, os espaços também contam!\033[m')
    print('\n' * 2)
    print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
    print('\n' * 1)
    print(' ' * 55, '\033[1;30m_______\033[m')
    print(' ' * 53, '\033[1;30m /       |\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
    print('\n' * 4)
    letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
if categoria == '1' or categoria == 'animais' or categoria == 'um':
    palavra = choice(animais)
    jogo()
elif categoria == '2' or categoria == 'frutas' or categoria == 'dois':
    palavra = choice(frutas)
    jogo()
elif categoria == '3' or categoria == 'cores' or categoria == 'três' or categoria == 'tres':
    palavra = choice(cores)
    jogo()
elif categoria == '4' or categoria == 'marcas' or categoria == 'quatro':
    palavra = choice(marcas)
    jogo()
elif categoria == '5' or categoria == 'nomes' or categoria == 'cinco':
    palavra = choice(nomes)
    jogo()
    while True:
        if letra in palavra:
            print('\n' * 50)
            print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
            print('\n' * 2)
            print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
            print(' ' * 55, f'\033[1;30m{letra}\033[m')
            print(' ' * 55, '\033[1;30m_______\033[m')
            print(' ' * 53, '\033[1;30m /       |\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, f'\033[1;30m{letra}\033[m')
            print('\n' * 4)
            letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
        else:
            erro += 1
            if erro == 1:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 2:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 3:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       /\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 4:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       / \ \033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 5:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|       /|\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       / \ \033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 6:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|       /|\ \033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       / \ \033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 3)
                print(' ' * 46, f'\033[1;33mVocê perdeu, era {palavra}.\033[m')
                letra = input('                                                    \033[1;30mJogar novamente? \033[m').strip().lower()
                break
else:
    print('Erro, categoria inválida!')

#FAZER 1: ir acumulando as letras usadas
#FAZER 2: ir colocando as letras certas na base da forca
#FAZER 3: mensagem final
#FAZER 4: reiniciar o programa no final





from pygame import mixer
from random import choice
from time import sleep
print('\033[1;33m-\033[m\033[1;34m-\033[m' * 150)
print(' '*40, '\033[1;36mBEM-VINDO(A) AO JOGO DA FORCA\033[m')
print('\033[1;33m-\033[m\033[1;34m-\033[m' * 150)
print(' '*43, 'Escolha uma categoria')
print(' '*48, '[1] Animais')
print(' '*48, '[2] Frutas')
print(' '*48, '[3] Cores')
print(' '*48, '[4] Marcas')
print(' '*48, '[5] Nomes')
categoria = input('                                               Opção escolhida: ').strip().lower()
animais = ('raposa', 'coiote', 'girafa', 'crocodilo', 'golfinho', 'gorila', 'touro', 'pombo')
frutas = ('morango', 'laranja', 'banana', 'abacate', 'abacaxi', 'manga', 'melancia', 'coco')
cores = ('amarelo', 'roxo', 'cinza', 'marrom', 'laranja', 'branco', 'preto', 'rosa', 'verde')
marcas = ('adidas', 'motorola', 'google', 'apple', 'subway', 'samsung', 'ruffles', 'disney')
nomes = ('daniel', 'juliana', 'gabriel', 'maria', 'roberto', 'rodrigo', 'renata', 'pedro')
erro = letra = 0
def jogo():
    print('\n' * 50)
    mixer.init()
    mixer.music.load('C:/Users/usuario/Desktop/pirates.mp3')
    mixer.music.play(999)
    print(' ' * 55, '\033[1;31mSE PREPARE!\033[m')
    print('\n' * 18)
    sleep(5.5)
    print('\n' * 50)
    print(' ' * 40, '\033[1;33mLembre-se, os espaços também contam!\033[m')
    print('\n' * 2)
    print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
    print('\n' * 1)
    print(' ' * 55, '\033[1;30m_______\033[m')
    print(' ' * 53, '\033[1;30m /       |\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m|\033[m')
    print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
    print('\n' * 4)
    letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
if categoria == '1' or categoria == 'animais' or categoria == 'um':
    palavra = choice(animais)
    jogo()
elif categoria == '2' or categoria == 'frutas' or categoria == 'dois':
    palavra = choice(frutas)
    jogo()
elif categoria == '3' or categoria == 'cores' or categoria == 'três' or categoria == 'tres':
    palavra = choice(cores)
    jogo()
elif categoria == '4' or categoria == 'marcas' or categoria == 'quatro':
    palavra = choice(marcas)
    jogo()
elif categoria == '5' or categoria == 'nomes' or categoria == 'cinco':
    palavra = choice(nomes)
    jogo()
    while True:
        if letra in palavra:
            print('\n' * 50)
            print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
            print('\n' * 2)
            print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
            print(' ' * 55, f'\033[1;30m{letra}\033[m')
            print(' ' * 55, '\033[1;30m_______\033[m')
            print(' ' * 53, '\033[1;30m /       |\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, '\033[1;30m|\033[m')
            print(' ' * 53, f'\033[1;30m{letra}\033[m')
            print('\n' * 4)
            letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
        else:
            erro += 1
            if erro == 1:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 2:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 3:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       /\033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 4:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       / \ \033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 5:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|       /|\033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       / \ \033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 4)
                letra = input('                                                        \033[1;30mLetra: \033[m').strip().lower()
            if erro == 6:
                print('\n' * 50)
                print(' ' * 49, '\033[1;33mBoa sorte, pirata!\033[m')
                print('\n' * 2)
                print(' ' * 50, '\033[1;30mLetras já usadas:\033[m')
                print(' ' * 55, f'\033[1;30m{letra}\033[m')
                print(' ' * 55, '\033[1;30m_______\033[m')
                print(' ' * 53, '\033[1;30m /       |\033[m')
                print(' ' * 53, '\033[1;30m|        O\033[m')
                print(' ' * 53, '\033[1;30m|       /|\ \033[m')
                print(' ' * 53, '\033[1;30m|        |\033[m')
                print(' ' * 53, '\033[1;30m|       / \ \033[m')
                print(' ' * 53, '\033[1;30m|\033[m')
                print(' ' * 53, '\033[1;30m-\033[m' * (len(palavra)))
                print('\n' * 3)
                print(' ' * 46, f'\033[1;33mVocê perdeu, era {palavra}.\033[m')
                letra = input('                                                    \033[1;30mJogar novamente? \033[m').strip().lower()
                break
else:
    print('Erro, categoria inválida!')

#FAZER 1: ir acumulando as letras usadas
#FAZER 2: ir colocando as letras certas na base da forca
#FAZER 3: mensagem final
#FAZER 4: reiniciar o programa no final
#FAZER 1: ir acumulando as letras usadas #FAZER 2: ir colocando as letras certas na base da forca #FAZER 3: mensagem final #FAZER 4: reiniciar o programa no final