Siege Tank
디폴트 탱크모드
공격력 30
생명력 150/150
방어력 1
!모드 전환!
탱크모드->시즈모드
[Siege mode]
공격력 70
이동불가
시즈모드->탱크모드
[Tank mode]
공격력 30
이동가능
공격하기
이동하기(시즈모드에서 이동불가)
App Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class APP
{
//생성자
public APP()
{
Console.WriteLine("APP 생성자");
Console.WriteLine();
SiegeTank tank = new SiegeTank("tank0", 150);
Console.WriteLine("현재 모드는 : {0}", tank.modeType);
Console.WriteLine("공격력 : {0}", tank.damage); //30
tank.Move(); //이동했습니다.
tank.ChangeMode(); //탱크->공성
Console.WriteLine("공격력 : {0}", tank.damage); //70
tank.Move(); //이동할수 없습니다.
tank.ChangeMode(); //공성->탱크
Console.WriteLine("공격력 : {0}", tank.damage); //30
tank.Move(); //이동했습니다.
}
}
}
SiegeTank Class
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class SiegeTank
{
public enum ModeType
{
Tank,
Siege
}
//값: 열거형식값, 모드타입
public ModeType modeType;
public string name;
public int damage = 30;
int hp;
//생성자
public SiegeTank(string name, int hp)
{
this.modeType = ModeType.Tank;
}
//모드변경
public void ChangeMode()
{
//현재모드에 따라
//탱크->공성
//공성->탱크
if(this.modeType == ModeType.Tank)
{
this.modeType = ModeType.Siege;
this.damage = 70;
}
else if (this.modeType == ModeType.Siege)
{
this.modeType = ModeType.Tank;
this.damage = 30;
}
Console.WriteLine("현재 모드는 : {0}", this.modeType);
//공성모드 공격력: 70
//탱크모드 공격력: 30
}
public void Move()
{
if(this.modeType == ModeType.Tank)
{
Console.WriteLine("이동하였습니다. ");
Console.WriteLine();
}
else if (this.modeType == ModeType.Siege)
{
Console.WriteLine("이동불가합니다. ");
Console.WriteLine();
}
//공성모드 이동불가
//탱크모드 이동가능
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study04
{
class Program
{
static void Main(string[] args)
{
new APP();
}
}
}
실행 결과
'C# > 수업내용' 카테고리의 다른 글
[C# 6일차] Method return 연습_StarCraft Templer to Archon (0) | 2023.01.06 |
---|---|
[C# 6일차] Method의 return 연습 (0) | 2023.01.06 |
[C# 5일차] Starcraft Larva-Hydralisk-Lurker 진화 (0) | 2023.01.05 |
[C# 5일차] Class 복습과 활용_Starcraft Marine과 Medic (1) | 2023.01.05 |
[C# 4일차] Class를 사용한 스타크래프트 만들기 (0) | 2023.01.04 |