Oi, pessoal!
Então, eu criei uma versão própria para o código e não estou conseguindo separá-lo em funções, o Pycharm aponta o problema para as variáveis jogador1, jogador 2 e letras. Como eu posso resolver esse problema?
Código sem definir funções está funcionando plenamente:
def jogar():
    print("Olá, sejam bem vindos ao jogo da forca! É necessário 2 pessoas para jogar")
    print("O jogador 1 definirá a palavra e o jogador 2 tentará adivinhá-la")
    jogador1 = input("Jogador 1, qual é o seu nome? Digite o seu nome: ")
    print("Olá,", jogador1, "! Defina a palavra secreta e, logo em seguida, passe o notebook para o jogador 2")
    palavra_secreta = input("Digite a palavra: ").upper()
    print("Palavra definida com sucesso. Passe para o jogador 2")
    jogador2 = input("Olá, jogador 2! Qual é o seu nome? Digite o seu nome: ")
    print("Olá,", jogador2, "! Vamos jogar!")
    letras_acertadas = ["_" for _ in palavra_secreta]
    enforcou = False
    acertou = False
    erro = 0
    print(letras_acertadas)
    while not enforcou and not acertou:
        chute = input("Escolha uma letra: ")
        chute = chute.strip().upper()
        index = 0
        if chute in palavra_secreta:
            for letra in palavra_secreta:
                if chute == letra:
                    letras_acertadas[index] = letra
                index += 1
            print(letras_acertadas)
        else:
            erro += 1
            chance = 5 - erro
            if chance == 1:
                print("Não existe a letra {} na palavra secreta.".format(chute))
                print("Tente novamente, {}! Atenção!! Essa é sua última chance.".format(jogador2))
                print(letras_acertadas)
            elif chance == 0:
                print(jogador2, ",você perdeu :(.")
                print("A palavra escolhida por {} era: {}".format(jogador2, palavra_secreta))
                enforcou = True
            else:
                print("Não existe a letra {} na palavra secreta.".format(chute))
                print("Tente novamente, {}! Você tem apenas mais {} chances...".format(jogador2, chance))
                print(letras_acertadas)
        if "_" not in letras_acertadas:
            print("Parabéns {} !!! Você ganhou!!!".format(jogador2))
            acertou = True
    print("Fim do jogo")
if __name__ == "__main__":
    jogar()
No caso, a forma que não está funcionando e que eu gostaria que ficasse:
def mensagem_inicial():
    print("Olá, sejam bem vindos ao jogo da forca! É necessário 2 pessoas para jogar")
    print("O jogador 1 definirá a palavra e o jogador 2 tentará adivinhá-la")
    jogador1 = input("Jogador 1, qual é o seu nome? Digite o seu nome: ")
    print("Olá,", jogador1, "! Defina a palavra secreta e, logo em seguida, passe o notebook para o jogador 2")
    palavra_secreta = input("Digite a palavra: ").upper()
    print("Palavra definida com sucesso. Passe para o jogador 2")
    jogador2 = input("Olá, jogador 2! Qual é o seu nome? Digite o seu nome: ")
    print("Olá,", jogador2, "! Vamos jogar!")
def logica_forca():
    letras_acertadas = ["_" for _ in palavra_secreta]
    enforcou = False
    acertou = False
    erro = 0
    print(letras_acertadas)
    while not enforcou and not acertou:
        chute = input("Escolha uma letra: ")
        chute = chute.strip().upper()
        index = 0
        if chute in palavra_secreta:
            for letra in palavra_secreta:
                if chute == letra:
                    letras_acertadas[index] = letra
                index += 1
            print(letras_acertadas)
        else:
            erro += 1
            chance = 5 - erro
            if chance == 1:
                print("Não existe a letra {} na palavra secreta.".format(chute))
                print("Tente novamente, {}! Atenção!! Essa é sua última chance.".format(jogador2))
                print(letras_acertadas)
            elif chance == 0:
                print(jogador2, ",você perdeu :(.")
                print("A palavra escolhida por {} era: {}".format(jogador2, palavra_secreta))
                enforcou = True
            else:
                print("Não existe a letra {} na palavra secreta.".format(chute))
                print("Tente novamente, {}! Você tem apenas mais {} chances...".format(jogador2, chance))
                print(letras_acertadas)
        if "_" not in letras_acertadas:
            print("Parabéns {} !!! Você ganhou!!!".format(jogador2))
            acertou = True
    print("Fim do jogo")
def jogar():
    mensagem_inicial()
    logica_forca()
if __name__ == "__main__":
    jogar()
 
            