question

Python 3 texto RPG. Como fazer equipado itens alterar stats?

OK, então no Weapons.py é a classe de arma. Cada arma tem um "nome, strmod, dexmod, dmg"

strmod e dexmod são os modificadores para força e destreza, respectivamente. Então, se strmod para uma determinada arma 3, então eu quero a variável de força os jogadores a subir por esse montante.

Characters.py tem a classe de personagem. personagem tem "nome, max_health, saúde, força, destreza, defesa, tohit, inventário, equipado".

Ao iniciar o jogo o jogador tipos em seu nome e então escolhe a sua raça. Dependendo de qual raça eles escolhem que seu inventário inicial é diferente. Quando o jogo inicia pela primeira vez padrão player.inventory e player.equipped como [], []. Então eles escolherem sua raça e player.inventory e player.equipped são modificados para tudo o que a corrida começa com. Assim se o jogador escolhe viking, por exemplo, então player.equipped é alterado para [rusty_battle_axe, viking_helmet] e player.inventory muda para [cooked_meat]

Agora, rusty_battle_axe é a única arma que realmente defini em Weapons.py. Os outros objetos que eu apenas colocar aspas em torno assim que eles são vistos como seqüências de caracteres, enquanto eu tento obter rusty_battle_axe trabalho.

O que eu quero saber é, quando o inventário é modificado depois que o jogador escolhe a sua raça, como fazer com que valores de strmod e dexmod de qualquer arma é em player.equipped, são adicionados para os vales de player.strength e player.dexterity.

Eu realmente não tenho idéia o que eu estou fazendo assim mantê-lo simples possível por favor :)
resposta Resposta
Para fazer com que itens equipados alterem stats em um jogo de texto RPG em Python 3, primeiro precisamos modificar a classe de arma no arquivo Weapons.py. Cada arma tem um nome, strmod, dexmod e dmg. Os strmod e dexmod são os modificadores de força e destreza, respectivamente. Se o strmod de uma determinada arma for 3, queremos que a variável de força dos jogadores aumente por esse montante.

Em seguida, vamos para o arquivo Characters.py, onde temos a classe de personagem. O personagem tem nome, max_health, saúde, força, destreza, defesa, tohit, inventário e equipado. Ao iniciar o jogo, o jogador digita o nome e escolhe a raça. Dependendo da raça escolhida, o inventário inicial do jogador é diferente. Quando o jogo é iniciado pela primeira vez, o inventário e o equipado do jogador são definidos como lista vazia. Depois que o jogador escolhe sua raça, o inventário e o equipado são modificados para refletir o que a raça começa com. Por exemplo, se o jogador escolher a raça viking, o equipado é alterado para [rusty_battle_axe, viking_helmet] e o inventário muda para [cooked_meat].

Agora, a única arma que realmente definimos em Weapons.py é a rusty_battle_axe. Os outros objetos foram apenas colocados entre aspas, para que sejam vistos como sequências de caracteres, enquanto tentamos fazer a rusty_battle_axe funcionar.

Então, a questão é: quando o inventário é modificado após o jogador escolher sua raça, como fazer com que os valores de strmod e dexmod de qualquer arma em player.equipped sejam adicionados aos valores de player.strength e player.dexterity?

Uma abordagem possível é criar um método na classe de personagem que percorre o inventário do jogador, verifica as armas equipadas e, em seguida, adiciona os valores de strmod e dexmod aos valores de player.strength e player.dexterity.

No método de inicialização do jogo, após o jogador escolher sua raça, você pode chamar esse novo método para garantir que os valores de strmod e dexmod de todas as armas equipadas sejam adicionados aos valores de força e destreza do jogador.

Espero que isso ajude a resolver o seu problema no jogo de texto RPG em Python 3. Boa sorte!

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved