Permalink
Browse files

Adicionando versão simplificada do Dwemthys Array

  • Loading branch information...
1 parent a439a43 commit c04c4c470583310428aa32d719ac693ddf34155e Elomar França committed Apr 25, 2009
Showing with 141 additions and 0 deletions.
  1. +37 −0 dwemthy_1/coelho.rb
  2. +51 −0 dwemthy_1/criatura.rb
  3. +53 −0 dwemthy_1/monstros.rb
View
@@ -0,0 +1,37 @@
+class Coelho < Criatura
+ attr_accessor :bombas
+
+ def initialize
+ @vida = 15
+ @forca = 3
+ @carisma = 25
+ @arma = 2
+ @bombas = 3
+ end
+
+ def espadada(inimigo)
+ lutar(inimigo, 20)
+ end
+
+ def boomerang(inimigo)
+ lutar(inimigo, 10)
+ end
+
+ def come_alface(inimigo)
+ alface = rand(carisma)
+ puts "[O alface da vida recuperou #{alface} pontos de vida seus]"
+ @vida += alface
+ lutar(inimigo, arma)
+ end
+
+ def solta_bomba(inimigo)
+ if @bombas.zero?
+ puts "[Hey! Você está sem bombas]"
+ lutar(inimigo, 0)
+ return
+ end
+ @bombas -= 1
+ lutar(inimigo, 50)
+ end
+end
+
View
@@ -0,0 +1,51 @@
+# Apenas uma simples e singela criatura
+class Criatura
+
+ # define métodos de escrita e leitura para as variáveis de instancia
+ attr_accessor :vida, :forca, :carisma, :arma
+
+ # Inicializacao: qualquer criatura tem ao menos 1 em cada
+ def initialize
+ @vida = 1
+ @forca = 1
+ @carisma = 1
+ @arma = 1
+ end
+
+ # Este método aplica um golpe recebido durante uma luta.
+ def golpear(dano)
+ aumento_poder = rand(carisma)
+ if aumento_poder % 9 == 7
+ @vida += aumento_poder / 4
+ puts "[Aumento de poderes mágicos de #{self.class}:#{aumento_poder}!]"
+ end
+ @vida -= dano
+ puts "[#{self.class} está morto.]" if @vida <= 0
+ end
+
+ def luta_sem_arma(inimigo)
+ lutar(inimigo, @arma)
+ end
+
+ private
+ # Este método obtém uma rodada em uma luta.
+ def lutar(inimigo, arma)
+ if vida <= 0
+ puts "[#{self.class} está muito morto para lutar!]"
+ return
+ end
+
+ # Ataca o oponente
+ seu_golpe = rand(forca) + arma
+ puts "[Você golpeou com #{seu_golpe} pontos de dano!]"
+ inimigo.golpear(seu_golpe)
+
+ # Retaliação
+ p inimigo
+ if inimigo.vida > 0
+ inimigo_golpe = rand(inimigo.forca) + inimigo.arma
+ puts "[Seu inimigo golpeou com #{inimigo_golpe} pontos de dano!]"
+ golpear(inimigo_golpe)
+ end
+ end
+end
View
@@ -0,0 +1,53 @@
+class MacacoIndustrialEntusiasmante < Criatura
+ def initialize
+ @vida = 46
+ @forca = 35
+ @carisma = 91
+ @arma = 2
+ end
+end
+
+class AnjoDosAnoes < Criatura
+ def initialize
+ @vida = 540
+ @forca = 6
+ @carisma = 144
+ @arma = 50
+ end
+end
+
+class TentaculoViceAssistenteEOmbudsman < Criatura
+ def initialize
+ @vida = 320
+ @forca = 6
+ @carisma = 144
+ @arma = 50
+ end
+end
+
+class CervoDeDentes < Criatura
+ def initialize
+ @vida = 655
+ @forca = 192
+ @carisma = 19
+ @arma = 109
+ end
+end
+
+class IntrepidoCiclistaDecomposto < Criatura
+ def initialize
+ @vida = 901
+ @forca = 560
+ @carisma = 422
+ @arma = 105
+ end
+end
+
+class Dragao < Criatura
+ def initialize
+ @vida = 1340 # escamas duras
+ @forca = 451 # veias ressaltadas
+ @carisma = 1020 # sorriso dentado
+ @arma = 939 # cospe fogo
+ end
+end

0 comments on commit c04c4c4

Please sign in to comment.