Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint
- #FUNÇÕES GLOBAIS
- def comandos(tipo):
- Comandos = tipo
- linha = str.lower(input("> "))
- args = linha.split()
- if len(args) > 0:
- comando = args[0]
- if comando in Comandos:
- Comandos[comando](j)
- else:
- print("%s não entendeu o seu comando." % j.nome)
- #CLASSES
- class Jogador:
- def __init__(self):
- self.nome = ''
- self.vida = 30
- self.vida_max = 30
- self.modo = 'exploracao'
- self.inimigo = ''
- #EXPLORACAO
- def explorar(self):
- if self.modo == 'exploracao':
- if (randint(1,3) == 1):
- global goblin
- print ("Um Goblin foi encontrado!\n\n >Comandos: ATACAR, FUGIR ou STATUS")
- goblin = Inimigo()
- goblin.nome = "Goblin"
- goblin.vida = randint(18,30)
- goblin.vida_max = goblin.vida
- self.inimigo = goblin
- self.modo = 'batalha'
- else:
- print ("Você encontrou nada.\n\n >Comandos: EXPLORAR, DESCANSAR, SAIR ou STATUS")
- def sair(self):
- global jogo_rodando
- print("SAINDO...")
- jogo_rodando = False
- #BATALHA
- def atacar(self):
- if (randint(1,3) != 1):
- print ("%s atacou %s!" % (self.nome, self.inimigo.nome))
- dano = randint (9,12)
- self.inimigo.vida -= dano
- if self.inimigo.vida <= 0:
- print("%s morreu...\n%s voltou a explorar!\n\n >Comandos: EXPLORAR, DESCANSAR, SAIR ou STATUS" % (self.inimigo.nome, self.nome))
- j.modo = 'exploracao'
- else:
- goblin.atacar()
- if self.vida <= 0:
- print("%s morreu!\n\n Obrigado por jogar!" % (self.nome))
- global jogo_rodando
- jogo_rodando = False
- else:
- print("%s desviou do ataque." % (self.inimigo.nome))
- goblin.atacar()
- def fugir(self):
- if (randint(1,3) == 1):
- print ("Jogador fugiu!")
- j.modo = 'exploracao'
- else:
- print ("Não foi possível fugir.")
- goblin.atacar()
- def status(self): print ("Pontos de Vida de %s : %d/%d" % (self.nome, self.vida, self.vida_max))
- class Inimigo():
- def __init__(self):
- self.nome = ''
- self.vida = 1
- self.vida_max = 1
- self.dano = (3, 5)
- def atacar(self):
- print("%s atacou %s!\n\n >Comandos: ATACAR, FUGIR ou STATUS" % (self.nome, j.nome))
- j.vida -= randint(3, 9)
- #DICIONÁRIOS DE COMANDOS
- batalha = {
- 'atacar': Jogador.atacar,
- 'fugir': Jogador.fugir,
- 'status': Jogador.status
- }
- exploracao = {
- 'explorar': Jogador.explorar,
- 'sair': Jogador.sair,
- 'status': Jogador.status
- }
- #INICIO DO JOGO
- jogo_rodando = True
- j = Jogador()
- j.nome = input ("Digite o nome do seu personagem:")
- print ("\n%s está nas montanhas de Machado City\n\n >Comandos: EXPLORAR, DESCANSAR, SAIR ou STATUS" % (j.nome))
- while jogo_rodando:
- if j.modo == 'exploracao':
- comandos(exploracao)
- elif j.modo == 'batalha':
- comandos(batalha)
- else:
- print ("Jogo encerrado")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement