Вы находитесь на странице: 1из 4

using

using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace HerancaPOO
{
class Cruzador
{
private int qtdCanhoes;
public void Atacar(NavioDeGuerra n)
{
}
}
}

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace HerancaPOO
{
enum EstadoNavio { Inoperante, MuitoDanificado, Danificado, Perfeito }
class Navio
{
protected String nome;
protected int qtdTripulantes;
protected Enum estado;
public Navio(String nome)
{
this.nome = nome;
this.estado = EstadoNavio.Perfeito;
}
public Navio(String nome, int qtd)
{
this.nome = nome;
qtdTripulantes = qtd;
this.estado = EstadoNavio.Perfeito;
}
}
}

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace HerancaPOO
{
class NavioDeGuerra : Navio

{
private float blindagem;
private float ataque;
public float getBlindagem()
{
return blindagem;
}
public NavioDeGuerra(float ataque, String nome, int qtd): base(nome, qtd)
{
this.blindagem = 100;
this.ataque = ataque;
}
public void Atacar(NavioDeGuerra n)
{
if (estado.Equals(EstadoNavio.Inoperante))
{
Console.WriteLine("No pode atacar!");
}
else
{
if (n.blindagem <= 0)
{
if (n.estado.Equals(EstadoNavio.Perfeito))
{
n.estado = EstadoNavio.Danificado;
}
else
{
if (this.estado.Equals(EstadoNavio.Danificado))
{
n.estado = EstadoNavio.MuitoDanificado;
}
else
{
if (this.estado.Equals(EstadoNavio.MuitoDanificado))
{
n.estado = EstadoNavio.Inoperante;
}
}
}
}
else
{
if (this.estado.Equals(EstadoNavio.MuitoDanificado))
{
n.blindagem -= 0.2f * ataque;
}
else
{
if (this.estado.Equals(EstadoNavio.Danificado))
{
n.blindagem -= 0.4f * ataque;
}
else
{
if (this.estado.Equals(EstadoNavio.Perfeito))
{
n.blindagem -= this.ataque;
}

}
}
}
}
}
}
}

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace HerancaPOO
{
class NavioMercante : Navio
{
private float carga;
private float capacidadeCarga;
public NavioMercante(float carga, float capacidadeCarga, String nome, int
qtd) : base(nome, qtd)
{
this.carga = carga;
this.capacidadeCarga = capacidadeCarga;
}
public void Carregamento()
{
Console.WriteLine("Nome: {0}\nQuantidade de tripulantes: {1}\nEstado:
{2}\nCarga: {3}\nCapacidade da carga: {4}", this.nome, this.qtdTripulantes,
this.estado, this.carga, this.capacidadeCarga);
}
}
}

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace HerancaPOO
{
class PortaAvioes
{
private int qtdAvioes;
public void Atacar(NavioDeGuerra n)
{
}
}
}

using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Threading.Tasks;

namespace HerancaPOO
{
class Program
{
static void Main(string[] args)
{
NavioDeGuerra thayna = new NavioDeGuerra(100, "thayna", 15);
NavioDeGuerra iago = new NavioDeGuerra(100, "iago", 15000);
iago.Atacar(thayna);

Console.WriteLine("Blindagem Thayn: {0}\nEstado Thayn: {1}",


thayna.getBlindagem());

Console.ReadKey();
}
}
}

Вам также может понравиться