C#/수업과제

0315_부족한 연산,문 / 클래스 생성 및 호출 공부

minquu 2021. 3. 16. 01:26
반응형
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study_hw
{
    class Program
    {
        static void Main(string[] args)
        {
            string unitName = "마린";
            
            Console.WriteLine("{0}을 생성합니다.", unitName);
            for (int i = 0; i < 12; i++) //for 사용 i값이용해서 12마리 생성
            {
                Console.WriteLine("{0}을 {1}마리 생성합니다.", unitName, i+1);
                if (i >= 12 - 1)
                {
                    Console.WriteLine("{0}의 숫자가 12마리 이상이 되어, 부대로 생성됩니다.",unitName); // 12마리가 되면 부대로 생성하기
                }
            }
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study_hw
{
    class Program
    {
        static void Main(string[] args)
        {
            //프로브가 파일럿을 짓는 것을 시도합니다.
            //미네랄이 부족합니다.
            //파일럿을 짓기 위해서 미네랄을 캡니다.
            //미네랄을 캡니다 (미네랄은 70% 확률로 성공, 그 외에는 실패 100이 될때까지 계속 캡니다.)
            //미네랄을 캐서 파일럿을 짓습니다.
            //인구가 8 늘어납니다.
            int userMineral = 80;
            int userPopulationMax = 10;
            int userNowPopulation = 1;
            int needPilotResource = 100;


            Console.WriteLine("프로브가 파일럿을 소환을 시도합니다.");
            if (userMineral > needPilotResource) {
                Console.WriteLine("프로브가 자원 {0}를 사용하여 소환을 시도합니다.", needPilotResource);
                for (int i = 0; i < 101; i++) {
                    Console.WriteLine("프로브가 파일럿을 생성합니다. {0}%", i);
                    i += 24;
                }
            }
            else {
                Console.WriteLine("미네랄이 부족하여 건설을 할 수 없습니다.");
                Console.WriteLine("프로브가 미네랄을 캐기 시작합니다.");

                while (userMineral < needPilotResource) {
                    Random rand = new Random();
                    int num = rand.Next(0, 101);
                    if (num > 30)
                    {
                        Console.WriteLine("프로브가 미네랄을 캐오는데 성공했다! 미네랄 +8  확률 : {0}");
                        userMineral += 8;
                        Console.WriteLine("현재 유저의 미네랄 양 : {0}", userMineral);
                    }
                    else {
                        Console.WriteLine("강화 실패! 확률 : {0}");
                        
                    }
                }

            }
            

        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study03_HW2
{
    class Program
    {
        static void Main(string[] args)
        {
            //고스트가 생성되었습니다.
            //현재 마나 양 138 / 150
            //락다운을 시도합니다. (필요 마나 150)
            //마나를 채웁니다. 150이 되면 락다운을 발사합니다.

            string unitName = "고스트";
            int unitMp = 138;
            int unitMaxMp = 150;
            int lockNeedMp = 150;

            Console.WriteLine("{0}가 생성되었습니다.", unitName);
            Console.WriteLine("현재 마나 양 : {0} / {1}", unitMp, unitMaxMp);
            Console.WriteLine("{0}가 락다운을 시도합니다.", unitName);
            if (unitMp >= lockNeedMp)
            {
                Console.WriteLine("{0}가 락다운을 발사합니다.");
            }
            else {
                Console.WriteLine("마나가 부족해서 마나를 보충합니다.");
                for (int i = 138; i < 151; i++) {
                    int num = i;
                    Console.WriteLine("{0}가 마나를 채웁니다. 현재 마나 {1} / {2}",unitName, num, unitMaxMp);
                    if (i == 150) {
                        Console.WriteLine("락다운을 발사합니다.");
                        Console.WriteLine("현재 마나 양 {0} / {1}", unitMaxMp - lockNeedMp, unitMaxMp);
                    }
                }
            }
        }
    }
}

 

 

 

-----

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study03_HW2
{
    public class App
    {
        public App() {
            Zealot zealot = new Zealot();
            zealot.Attack("저글링");
        }  
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study03_HW2
{
    public class Zealot
    {
        int unitDamage = 10;
        int unitHp = 100;
        public Zealot()
        {
        }
        public void Attack(string target) {
            Console.WriteLine("질럿이 {0}에게 {1} 피해를 입혔습니다.", target, this.unitDamage);
        }
    }
}

 

 

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study03_HW2
{
    public class App
    {
        public App() {

            Drone drone = new Drone();
            string build = drone.Build("sponingPool");
            Console.WriteLine("드론이 {0}를 짓습니다.",build);

            
        }  
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace study03_HW2
{
    public class Drone
    {
        int unitDamage = 5;
        int unitHp = 50;
        public Drone() { 
        
        }
        public string Build(string buildName) {
            if (buildName == "hatchery")
            {
                return "hatchery";
            }
            else if (buildName == "sponingPool") {
                return "sponingPool";
            }
            else {
                return "지을 수 있는 건물이 아닙니다.";
            }
        }
    }
}

 

 

반응형

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

0316_ 클래스 생성연습, 배열 연습,  (0) 2021.03.17
6일차 _ 인벤토리  (0) 2021.03.16
scv _ 미네랄 캐기  (0) 2021.03.15
클래스 생성 및 맴버 호출  (0) 2021.03.12
매서드를 정의,호출  (0) 2021.03.11