C#/수업 내용
클래스를 활용한 라바-히드라-러커 구현
HSH12345
2023. 1. 5. 17:51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study05
{
class App
{
public App()
{
Larva larva = new Larva();
Hydralisk hydra = larva.Tranformate();
Console.WriteLine();
hydra.Move();
hydra.Burrow();
hydra.Move();
Console.WriteLine();
hydra.UnBurrow();
hydra.Move();
Console.WriteLine();
Lurker lurker = hydra.Transformate();
Console.WriteLine("\n/////////////////////////\n");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study05
{
class Larva
{
public Larva()
{
Console.WriteLine("라바가 생성되었습니다.");
}
public Hydralisk Tranformate()
{
Console.WriteLine("라바가 히드라로 진화하는 중입니다.");
Hydralisk hydra = new Hydralisk(10, 80);
return hydra;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study05
{
class Hydralisk
{
enum IsBurrow
{
Burrow,
UnBurrow
}
IsBurrow isBurrow = IsBurrow.UnBurrow;
public int dmg;
public int maxHp;
public int hp;
public Hydralisk(int dmg, int maxHp)
{
this.dmg = dmg;
this.maxHp = maxHp;
this.hp = maxHp;
Console.WriteLine("히드라가 생성되었습니다.");
Console.WriteLine("체력 : {0}/{1}\n공격력 : {2}", hp, maxHp, dmg);
}
public void Move()
{
if(isBurrow == IsBurrow.UnBurrow)
{
Console.WriteLine("이동하였습니다.");
}
else
{
Console.WriteLine("이동할 수 없습니다.");
}
}
public void Burrow()
{
isBurrow = IsBurrow.Burrow;
Console.WriteLine("버로우 하였습니다.");
}
public void UnBurrow()
{
isBurrow = IsBurrow.UnBurrow;
Console.WriteLine("버로우를 해제하였습니다.");
}
public Lurker Transformate()
{
Console.WriteLine("히드라가 러커로 진화 진화하는 중입니다.");
Lurker lurker = new Lurker(20, 200);
return lurker;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study05
{
class Lurker
{
public int dmg;
public int maxHp;
public int hp;
public Lurker(int dmg, int maxHp)
{
this.dmg = dmg;
this.maxHp = maxHp;
this.hp = maxHp;
Console.WriteLine("러커가 생성되었습니다.");
Console.WriteLine("체력 : {0}/{1}\n공격력 : {2}", hp, maxHp, dmg);
}
}
}