Está en la página 1de 10

Ejercicio 1: Aflojá con el aparatito

class Celular

def initialize

@bateria=100

end

def utilizar!(minutos)

@bateria=@bateria-(minutos/2)

end

def cargar_a_tope!

@bateria=100

end

end

Ejercicio 2: Notebook

class Notebook

def initialize

@bateria=100

end

def utilizar!(minutos)

@bateria=@bateria-(minutos)

end

def cargar_a_tope!

@bateria=100

end

end
Ejercicio 3: Su superclase

class Dispositivo

def initialize

@bateria=100

end

def cargar_a_tope!

@bateria=100

end

end

class Celular<Dispositivo

def utilizar!(minutos)

@bateria=@bateria-(minutos)/2

end

end

class Notebook<Dispositivo

def utilizar!(minutos)

@bateria=@bateria-(minutos)

end

end

Ejercicio 5: ¿Me estás cargando?


class Dispositivo

def initialize

@bateria=100

end

def cargar_a_tope!

@bateria=100

end

def descargado?

@bateria <= 20

end

end

class Celular<Dispositivo

def utilizar!(minutos)

@bateria=@bateria-(minutos)/2

end

end

class Notebook<Dispositivo

def utilizar!(minutos)

@bateria=@bateria-(minutos)

end

end

Ejercicio 7: Vamos de paseo


class MedioDeTransporte

def initialize(litros)

@combustible=(litros)

end

def cargar_combustible!(litros)

@combustible+=litros

end

def entran?(cant)

self.maximo_personas >= (cant)

end

end

class Moto<MedioDeTransporte

def recorrer!(km)

@combustible=@combustible-(km)

end

def maximo_personas

end

end

class Auto<MedioDeTransporte

def maximo_personas

end

def recorrer!(km)

@combustible=@combustible-(km)/2

end

end
Ejercicio 8: Subí nomás
class Colectivo < MedioDeTransporte

@combustible = 100

def maximo_personas

20

end

def recorrer!(kilometros)

@combustible -= kilometros * 2

end

end

Ejercicio 9: Inconsciente colectivo


class Colectivo < MedioDeTransporte

def initialize

@combustible = 100

@pasajeros = 0

end

def entran?(pasajeros)

@pasajeros >= 0

end

def recorrer!(kilometros)

@combustible -= kilometros / 2

end

end

Ejercicio 10: Es un trabajo para super

class Colectivo < MedioDeTransporte


def initialize

@combustible = 100

@pasajeros = 0

end

def entran?(pasajeros)

@pasajeros >= 0

@pasajeros <= personas

end

def recorrer!(kilometros)

@combustible -= kilometros / 2

end

def maximo_personas

20

end

def cargar_combustible! (litros)

super

@pasajeros = 0

end

end

Ejercicio 11: El regreso de los zombis


class Zombi

def initialize(salud_inicial)

@salud = salud_inicial

end
def salud

@salud

end

def gritar

"¡agrrrg!"

end

def sabe_correr?

false

end

def sin_vida?

@salud == 0

end

def recibir_danio!(puntos)

@salud = [@salud - puntos * 2, 0].max

end

end

class SuperZombi<Zombi

def sabe_correr?

true

end

def recibir_danio!(puntos)
@salud = [@salud - puntos * 3, 0].max

end

def regenerarse!

@salud = 100

end

end

Ejercicio 12: Concretemos la herencia


class Zombi

def initialize(salud_inicial)

@salud = salud_inicial

end

def salud

@salud

end

def gritar

"¡agrrrg!"

end

def sabe_correr?

false

end

def sin_vida?

@salud == 0

end

def recibir_danio!(puntos)

@salud = [@salud - puntos * 2, 0].max

end

def descansar!(minutos)

if minutos / 1

@salud += minutos
end

end

end

class SuperZombi < Zombi

def sabe_correr?

true

end

def recibir_danio!(puntos)

@salud = [@salud - puntos * 3, 0].max

end

def regenerarse!

@salud = 100

end

end

Ejercicio 13: La defensa


class Persona

def energia

@energia

end

def atacar!(zombi, danio)

zombi.recibir_danio! danio

end

end

class Sobreviviente < Persona

def initialize

@energia=1000

end
def beber!

@energia *= 1.25

end

end

class Aliado < Persona

def initialize

@energia=500

end

def beber!

@energia *= 1.10

end

def atacar!(zombi, danio)

super + @energia *= 0.95

end

end

También podría gustarte