반응형
저글링, 럴커
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study07
{
public class App
{
public App() {
Console.WriteLine("App 생성자");
Zergling zergling = new Zergling();
zergling.Burrow();
zergling.Attack();
Lurker lurker = new Lurker();
lurker.Attack();
lurker.Burrow();
lurker.Attack();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study07
{
public abstract class ZergUnit : IBurrow
{
public abstract void Attack();
public abstract void Burrow();
public abstract void UnBurrow();
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study07
{
interface IBurrow
{
void Burrow();
void UnBurrow();
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study07
{
public class Zergling : ZergUnit
{
private bool isBurrow;
public override void Attack()
{
if (isBurrow)
{
Console.WriteLine("버러우 상태에서는 공격을 할 수 없습니다.");
}
else {
Console.WriteLine("저글링이 발톱으로 공격을 합니다.");
}
}
public override void Burrow()
{
this.isBurrow = true;
Console.WriteLine("버로우 합니다.");
}
public override void UnBurrow()
{
this.isBurrow = false;
Console.WriteLine("다시 나옵니다.");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study07
{
public class Lurker : ZergUnit
{
private bool isBurrow;
public override void Attack()
{
if (isBurrow)
{
Console.WriteLine("럴커가 가시 공격을 합니다.");
}
else {
Console.WriteLine("럴커가 버러우 상태가 아니기 때문에 공격할 수 없습니다.");
}
}
public override void Burrow()
{
this.isBurrow = true;
Console.WriteLine("럴커가 버러우를 합니다.");
}
public override void UnBurrow()
{
this.isBurrow = false;
Console.WriteLine("럴커가 밖으로 나옵니다.");
}
}
}
반응형
'C# > C#언어' 카테고리의 다른 글
0318 _ 다차원 배열 _ 맵 바꾸기 예제 (0) | 2021.03.18 |
---|---|
0318 _ 다차원 연습 문제 1 _ 10개 (0) | 2021.03.18 |
0317_ interface 연습 (0) | 2021.03.17 |
0317 _ 문) 클래스를 만들어서 배열 만들기 (0) | 2021.03.17 |
0317 _ 문제1) 배열 복습 연습문제 (0) | 2021.03.17 |