Skip to content

Commit

Permalink
Adicionando versão simplificada do Dwemthys Array
Browse files Browse the repository at this point in the history
  • Loading branch information
Elomar França committed Apr 25, 2009
1 parent a439a43 commit c04c4c4
Show file tree
Hide file tree
Showing 3 changed files with 141 additions and 0 deletions.
37 changes: 37 additions & 0 deletions dwemthy_1/coelho.rb
@@ -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

51 changes: 51 additions & 0 deletions dwemthy_1/criatura.rb
@@ -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
53 changes: 53 additions & 0 deletions dwemthy_1/monstros.rb
@@ -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.