Advertisement
mleitejunior

Untitled

Jun 13th, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1.  
  2. def comandos(tipo):
  3. Comandos = tipo
  4. linha = str.lower(input("> "))
  5. args = linha.split()
  6.  
  7. if len(args) > 0:
  8. comando = args[0]
  9. if comando in Comandos:
  10. Comandos[comando](j)
  11. else:
  12. print("%s não entendeu o seu comando." % j.nome)
  13.  
  14. #CLASSES
  15.  
  16. class Jogador:
  17. def __init__(self):
  18. self.nome = ''
  19. self.vida = 30
  20. self.vida_max = 30
  21. self.modo = 'exploracao'
  22. self.inimigo = ''
  23.  
  24. #EXPLORACAO
  25.  
  26. def explorar(self):
  27. if self.modo == 'exploracao':
  28. if (randint(1,3) == 1):
  29. self.modo = 'batalha'
  30. if (randint(1,3) != 1):
  31. global g
  32. g = Goblin()
  33. self.inimigo = g
  34. else:
  35. global u
  36. u = Urso()
  37. self.inimigo = u
  38. print ("Um %s foi encontrado!\n\n >Comandos: ATACAR, FUGIR ou STATUS" % (self.inimigo.nome))
  39.  
  40. else:
  41. print ("%s encontrou nada.\n\n >Comandos: EXPLORAR, DESCANSAR, SAIR ou STATUS" % (self.nome))
  42.  
  43. def sair(self):
  44. global jogo_rodando
  45. print("SAINDO...")
  46. jogo_rodando = False
  47.  
  48. #BATALHA
  49.  
  50. def atacar(self):
  51. if (randint(1,3) != 1):
  52. print ("%s atacou %s!" % (self.nome, self.inimigo.nome))
  53. dano = randint (9,12)
  54. self.inimigo.vida -= dano
  55. if self.inimigo.vida <= 0:
  56. print("%s morreu...\n%s voltou a explorar!\n\n >Comandos: EXPLORAR, DESCANSAR, SAIR ou STATUS" % (self.inimigo.nome, self.nome))
  57. j.modo = 'exploracao'
  58. else:
  59. self.inimigo.atacar()
  60.  
  61.  
  62. else:
  63. print("%s desviou do ataque." % (self.inimigo.nome))
  64. self.inimigo.atacar()
  65.  
  66. def fugir(self):
  67. if (randint(1,3) == 1):
  68. print ("%s fugiu!" % (self.nome))
  69. j.modo = 'exploracao'
  70.  
  71. else:
  72. print ("Não foi possível fugir.")
  73. self.inimigo.atacar()
  74.  
  75. def status(self):
  76. print ("Pontos de Vida de %s : %d/%d" % (self.nome, self.vida, self.vida_max))
  77.  
  78. class Inimigo():
  79. def __init__(self, nome, vida, vida_max, dano):
  80. self.nome = nome
  81. self.vida = vida
  82. self.vida_max = vida_max
  83. self.dano = dano
  84.  
  85. def atacar(self):
  86. print("%s atacou %s!" % (self.nome, j.nome))
  87. j.vida -= randint(self.dano[0], self.dano[1])
  88. if j.vida <= 0:
  89. print("%s morreu!\n\n Obrigado por jogar!" % (j.nome))
  90. global jogo_rodando
  91. jogo_rodando = False
  92. else:
  93. print ("\n >Comandos: ATACAR, FUGIR ou STATUS")
  94.  
  95. #INIMIGOS
  96.  
  97. class Goblin(Inimigo):
  98. def __init__(self):
  99. self.nome = "Goblin"
  100. self.vida = randint(18,30)
  101. self.vida_max = self.vida
  102. self.dano = (3, 5)
  103.  
  104. class Urso(Inimigo):
  105. def __init__(self):
  106. self.nome = "Urso"
  107. self.vida = randint(25,42)
  108. self.vida_max = self.vida
  109. self.dano = (5, 12)
  110.  
  111. #DICIONÁRIOS DE COMANDOS
  112.  
  113. batalha = {
  114. 'atacar': Jogador.atacar,
  115. 'fugir': Jogador.fugir,
  116. 'status': Jogador.status
  117. }
  118.  
  119. exploracao = {
  120. 'explorar': Jogador.explorar,
  121. 'sair': Jogador.sair,
  122. 'status': Jogador.status
  123. }
  124.  
  125. #INICIO DO JOGO
  126.  
  127. jogo_rodando = True
  128. j = Jogador()
  129.  
  130. j.nome = input ("Digite o nome do seu personagem:")
  131. print ("\n%s está nas montanhas de Machado City\n\n >Comandos: EXPLORAR, DESCANSAR, SAIR ou STATUS" % (j.nome))
  132.  
  133. while jogo_rodando:
  134. if j.modo == 'exploracao':
  135. comandos(exploracao)
  136. elif j.modo == 'batalha':
  137. comandos(batalha)
  138. else:
  139. print (" Jogo encerrado")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement