0309 반복문 연습 + 랜덤번호 생성

2021. 3. 9. 18:26C#/과제

//커멘드 센터가 생성되었습니다.
            //커멘드 센터 (1500/1500)
            //SCV_0가 생성되었습니다. (45/45)
            //SCV_1가 생성되었습니다. (45/45)
            //SCV_2가 생성되었습니다. (45/45)
            //SCV_3가 생성되었습니다. (45/45)

static void Main(string[] args)
        {
            //커멘드 센터가 생성되었습니다.
            //커멘드 센터 (1500/1500)
            //SCV_0가 생성되었습니다. (45/45)
            //SCV_1가 생성되었습니다. (45/45)
            //SCV_2가 생성되었습니다. (45/45)
            //SCV_3가 생성되었습니다. (45/45)

            string buildingName = "커멘드 센터";
            string unitName = "SCV";

            Console.WriteLine("{0}가 생성 되었습니다.", buildingName);
            Console.WriteLine("{0} (1500/1500).", buildingName);
            for (int i = 0; i < 5; i++) {
                Console.WriteLine("{0}_{1}가 생성되었습니다. (45/45)", unitName, i);
            }
        }

 

//마린이 생성되었습니다.
            //공격력: 2
            //체력: 10
            //저글링이 생성되었습니다.
            //공격력: 1
            //체력: 5
            //마린이 저글링을 공격(2)했습니다. (3/5) 60%
            //마린이 저글링을 공격(2)했습니다. (1/5) 20%
            //마린이 저글링을 공격(2)했습니다. (0/5) 0%
            //저글링이 죽었습니다.

string marine = "마린";
            int marineDamage = 2;
            int marineHp = 10;

            string zergling = "저글링";
            int zerglingDamage = 1;
            int zerglingMaxHp = 5;
            int zerglingHp = 5;

            Console.WriteLine("{0}이 생성되었습니다.", marine);
            Console.WriteLine("공격력: {0}",marineDamage);
            Console.WriteLine("체력: {0}",marineHp);
            Console.WriteLine("{0}이 생성되었습니다.",zergling);
            Console.WriteLine("공격력: {0}",zerglingDamage);
            Console.WriteLine("체력: {0}",zerglingHp);


            for (int i = 0; i < 3; i++) 
            {
                zerglingHp -= marineDamage;
                if (zerglingHp <= 0) {
                    zerglingHp = 0;
                }
                Console.WriteLine("마린이 저글링을 공격({0})했습니다. {1}/{2}", marineDamage, zerglingHp, zerglingMaxHp);
                
            }
            Console.WriteLine("저글링이 죽었습니다.");

 

미네랄: 90

scv가 생성되었습니다.

인구수: 1/10

서플라이디폿 정보: 필요 미네랄 100

scv가 서플라이디폿 건설을 시도합니다.

미네랄이 부족합니다.

scv가 미네랄을 캤습니다. +8

미네랄: 98

scv가 미네랄을 캤습니다. +8

미네랄: 106

scv가 서플라이디폿 건설을 시도합니다.

미네랄:6

scv가 서플라이디폿 건설을 건설합니다. 0%

...

scv가 서플라이디폿 건설을 건설합니다. 100%

서플라이디폿이 완성되었습니다.\

인구수: 1/8

static void Main(string[] args)
        {
            int mineralNow = 90;
            int mineralRequired = 100;
            int population = 10;

            Console.WriteLine("미네랄:{0}", mineralNow);
            Console.WriteLine("SCV가 생성되었습니다.");
            Console.WriteLine("scv가 서플라이디폿 건설을 시도합니다.");
            Console.WriteLine("인구수: {0}", population);

            if (mineralNow < 100)
            {
                Console.WriteLine("미네랄이 부족합니다.");
                while (mineralNow <= mineralRequired)
                {
                    Console.WriteLine("scv가 미네랄을 캤습니다. +8");
                    mineralNow = mineralNow + 8;
                    Console.WriteLine("미네랄: {0}", mineralNow);

                }
                Console.WriteLine("scv가 서플라이디폿 건설을 시도합니다.");
                Console.WriteLine("미네랄: {0}",mineralNow - 100);
            }
            for (int i = 0; i <= 100; i = i + 5)
            {
                Console.WriteLine("scv가 서플라이디폿을 건설합니다. {0}%", i);
            }
                Console.WriteLine("scv가 서플라이디폿 건설을 완료했습니다.");
                Console.WriteLine("인구수: 1/{0}", population + 8);
            
        }

 

템플러가 생성되었습니다.

에너지 10/55

템플러 지짐이 정보: 필요에너지 40

 

템플러가 지짐이를 시도합니다.

에너지가 부족합니다.

 

에너지가 충전되었습니다. (15/45)

에너지가 충전되었습니다. (20/45)

...

에너지가 충전되었습니다. (45/55)

템플러가 지짐이를 시도합니다.

템플러가 데미지를 가합니다.

남은 에너지 (5/55)

static void Main(string[] args)
        {
            int energyNow = 10;
            int energyRequired = 40;
            int energyMax = 55;

            Console.WriteLine("템플러가 생성되었습니다.");
            Console.WriteLine("에너지 {0}/{1}", energyNow, energyMax);
            Console.WriteLine("템플러 지짐이 정보: 필요에너지 {0}", energyRequired);

            Console.WriteLine("템플러가 지짐이를 시도합니다.");

            if (energyNow < 40) 
            {
                Console.WriteLine("에너지가 부족합니다.");
                while (energyNow <= 40)
                {
                    energyNow = energyNow + 5;
                    Console.WriteLine("에너지가 충전되었습니다. ({0}/{1})", energyNow, energyMax);

                }
            }
            Console.WriteLine("템플러가 지짐이를 시도합니다.");
            Console.WriteLine("템플러가 데미지를 가합니다.");
            Console.WriteLine("남은 에너지: {0}/{1}",energyNow-40,energyMax);
        }

 

사서 공격력: 2~8

토머리에게 취약한 공격 속성은 참격 (*2.0)

 

토머리

체력 : 300

사서가 토머리에게 데미지 (랜덤숫자*2)를 주었습니다.

...

남은 체력: 300-(랜덤숫자)

 

체력이 50% 이하가 되면... 페이즈 2가 시작됩니다.

int bossTomerryMaxHP = 300;
            int bossTomerryHp = bossTomerryMaxHP;


            Random rand = new Random();

            Console.WriteLine("사서 공격력: 2~8");
            Console.WriteLine("토머리에게 취약한 공격 속성은 참격(공격력*2)");
            Console.WriteLine("토머리 체력:300");

            while (bossTomerryMaxHP >= 150)
            {
                
                    int librarianDamage = rand.Next(1, 9);
                    int maxDamage = librarianDamage * 2;
                    bossTomerryMaxHP -= maxDamage;
                    Console.WriteLine("사서가 토머리에게 데미지({0})를 주었습니다.", maxDamage);
                    Console.WriteLine("토머리 남은 체력: {0}", bossTomerryMaxHP);
            }
            Console.WriteLine("체력이 50% 이하가 되면.... 페이즈 2가 시작됩니다.");

'C# > 과제' 카테고리의 다른 글

0316 컬랙션 과제  (0) 2021.03.17
0314 클래스와 메서드  (0) 2021.03.15
0311 Class+맴버 변수+메서드 호출 연습  (0) 2021.03.11
0310 메서드 선언/정의 연습  (0) 2021.03.10
0308 데이터 타입과 문자열 표기식  (0) 2021.03.08