using System;
using System.Diagnostics.CodeAnalysis;
using System.Security.Cryptography;
namespace HelloWorld
{
internal class Program
{
static void Main(string[] args)
{
new App(); //new : 클래스의 인스턴스를 생성하고 생성자를 호출
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld
{
internal class App
{
public App()
{
TerranCommandCenter terranCommandCenter = new TerranCommandCenter();
terranCommandCenter.Liftoff();
terranCommandCenter.Land();
Console.WriteLine();
TerranSCV terranSCV = new TerranSCV();
terranSCV.Move();
Console.WriteLine();
TerranSiegeTank terranSiegeTank = new TerranSiegeTank();
terranSiegeTank.Move();
terranSiegeTank.siegemode();
terranSiegeTank.Move();
terranSiegeTank.landmode();
terranSiegeTank.Move();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld
{
internal class TerranSCV
{
int hp;
int maxHp = 60;
int dmg = 6;
int armor = 0;
//생성자
public TerranSCV()
{
hp = maxHp;
Console.WriteLine("SCV가 생성되었습니다.");
Console.WriteLine("체력 : {0}/{1}",hp,maxHp);
Console.WriteLine("공격력 : {0}",dmg);
Console.WriteLine("방어력 {0}",armor);
}
public void Move()
{
Console.WriteLine("SCV가 이동합니다.");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HelloWorld
{
enum eType
{
land,
siege
}
internal class TerranSiegeTank
{
int hp;
int maxHp = 150;
int dmg = 30;
int armor = 0;
eType type;
public TerranSiegeTank()
{
hp = maxHp;
type = eType.land;
Console.WriteLine("시즈탱크가 생성되었습니다.");
}
public void Move()
{
if (type == eType.land)
{
Console.WriteLine("이동 했습니다.");
}
else
{
Console.WriteLine("이동할 수 없습니다.");
}
}
public void siegemode()
{
dmg = 70;
type = eType.siege;
Console.WriteLine("모드를 변경 했습니다. SiegeMode -> TankMode");
Console.WriteLine("공격력 30 -> 70 변경되었습니다.");
}
public void landmode()
{
dmg = 30;
type = eType.land;
Console.WriteLine("모드를 변경 했습니다. TankMode -> SiegeMode");
Console.WriteLine("공격력 30 -> 70 변경되었습니다.");
}
}
}