Unity/수업내용(C#)
[3.9] 조건문, 반복문, 점프문 사용 예제 (스타크래프트)
ljw4104
2021. 3. 9. 17:22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Study00
{
class Program
{
static void Main(string[] args)
{
//커맨드센터가 생성되었습니다.
//SCV가 생성되었습니다. * 4
Console.WriteLine("커맨드센터가 생성되었습니다.");
Console.WriteLine("커맨드센터(1500/1500)");
for (int i = 0; i < 4; i++)
{
Console.WriteLine("SCV_{0} 가 생성되었습니다(45/45)", i);
}
/*마린이 생성되었습니다.
*
* 공격력 : 2
* 체력 : 10
*
* 저글링시 생성되었습니다.
* 공격력 : 1
* 체력 : 5
* 마린이 저글링을 공격(2)했습니다(3/5,1/5,0/5).
*/
Console.WriteLine("마린이 생성되었습니다.");
int marineHp = 10, marineAttack = 2;
Console.WriteLine("저글링이 생성되었습니다");
int zergHp = 5, zergAttack = 1, zergMaxHp = 5;
for (; ; )
{
zergHp -= marineAttack;
if (zergHp <= 0) zergHp = 0;
Console.WriteLine("마린이 저글링을 공격({0})했습니다. ({1}/{2}) {3}%",
marineAttack, zergHp, zergMaxHp, (((float)zergHp / (float)zergMaxHp) * 100));
if (zergHp <= 0)
{
Console.WriteLine("저글링이 죽었습니다.");
break;
}
}
int mineral = 90, gas = 200;
Console.WriteLine("SCV가 생성되었습니다.");
int people = 0, maxPeople = 10;
people++;
int requireSupplyDepot = 100;
int n = 0;
for (int i = 0; i <= 100; i += 5)
{
bool isStart = false;
if (isStart)
{
Console.WriteLine("SCV가 서플라이디팟을 건설을 시도 합니다.");
}
if (mineral > requireSupplyDepot)
{
Console.WriteLine("SCV가 서플라이디팟을 건설합니다. {0}%", i);
}
else
{
while (mineral < requireSupplyDepot)
{
if (n++ == 0)
{
Console.WriteLine("미네랄이 부족합니다.");
}
mineral += 8;
Console.WriteLine("SCV가 미네랄을 캤습니다. +8");
Console.WriteLine("미네랄 : {0}", mineral);
}
i -= 5;
isStart = true;
}
}
Console.WriteLine("서플라이디팟이 완성 되었습니다.");
mineral -= requireSupplyDepot;
maxPeople += 8;
Console.WriteLine("인구수 : {0}/{1}", people, maxPeople);
///////////////////////////////////////////////////////////////////////
int templarEnergy = 10, maxTemplarEnergy = 55;
int requirePsyonicStorm = 40;
while (true)
{
Console.WriteLine("템플러가 지짐이를 시도합니다.");
if (templarEnergy > requirePsyonicStorm)
{
Console.WriteLine("템플러가 지졌습니다.");
templarEnergy -= requirePsyonicStorm;
Console.WriteLine("에너지 ({0}/{1})", templarEnergy, maxTemplarEnergy);
break;
}
else
{
Console.WriteLine("에너지가 부족합니다.");
for (;templarEnergy < 50;)
{
Console.WriteLine("에너지가 충전되었습니다. ({0}/{1})", ++templarEnergy, maxTemplarEnergy);
}
}
}
}
}
}