Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adicionando versão simplificada do Dwemthys Array
- Loading branch information
Elomar França
committed
Apr 25, 2009
1 parent
a439a43
commit c04c4c4
Showing
3 changed files
with
141 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |