Segue o código, é meu primeiro código em python então dê um desconto
import random
# cada acao corresponde a uma posicao num vetor "ataque"
# 1:nenhum ataque
# 2:ataque fraco
# 3:ataque medio
# 4:ataque medio/alto
# 5:ataque alto
vetor_ataque = ["nenhum ataque","ataque fraco","ataque medio","ataque medio/alto","ataque alto"]
# o tipo de ataque depende da raca (a soma tem que ser sempre igual a 1)
atq_humano = [0.20,0.20,0.20,0.20,0.20] # humano seriam o ponto inicial
atq_guerreiro = [0.05,0.10,0.25,0.30,0.30] # um guerreiro tem possibilidade maior de ataques mais fortes
atq_ogro = [0.05,0.20,0.40,0.20,0.15] # um ogro ataca mais, porem de forma desorganizada
# seleciona um numero entre 0..1
r_ataque = random.random()
# teste para personagem humano
n = 0
acao = atq_humano[n]
while r_ataque > acao :
n = n + 1
acao= acao + atq_humano[n]
print "humano: ", vetor_ataque[n]
# teste para personagem guerreiro
n = 0
acao = atq_guerreiro[n]
while r_ataque > acao :
n = n + 1
acao= acao + atq_guerreiro[n]
print "guerreiro: ", vetor_ataque[n]
# teste para personagem ogro
n = 0
acao = atq_ogro[n]
while r_ataque > acao :
n = n + 1
acao= acao + atq_ogro[n]
print "ogro: ", vetor_ataque[n]
Claro que o ideal aqui é criar funções para devolver estas ações, mas eu não sei fazer isto, é que eu trabalho com simulação numérica ai saco um pouco de probabilidade, eu usei o mesmo rand para todos para mostrar que dependendo da raça o ataque pode ser diferente.
Explicando um pouco, 0.20 significa 20% de chance de fazer uma coisa, no cado do humano ele pode fazer qualquer coisa, a medida que o personagem vai evoluindo estas probabilidades podem mudar, o mesmo ideia pode ser usada na defesa. Isto é cria os vetores por exemplo:
def_humano = [0.33333, 0.33333, 0.33333]
def_guerreiro = [0.10, 0.50, 0.40]
def_ogro = [0.40, 0.40, 0.20]
Tipo, nunca bolei uma coisa desta posso esta falando asneira.
Falow