본문 바로가기
KDT/C# 프로그래밍

23/07/21 스타크래프트2

by 잰쟁 2023. 7. 21.
728x90

(과제 내용)

시즈탱크가 생성되었습니다.
현재 TankMode 입니다.
모드를 변경했습니다 TankMode > SeigeMode
공격력30 > 70 변경되었습니다.
현재 SeigeMode 입니다.
SiegeMode에서는 이동할 수 없습니다.
모드를 변경했습니다 SeigeMode > TankMode
공격력70 > 30 변경되었습니다.
현재 TankMode 입니다.
이동했습니다.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    internal class SiegeTank
    {
        enum eMode
        {
            SeigeMode,
            TankMode
        }
        int hp = 150;
        int maxhp = 150;
        int damage = 30;
        int damage1 = 70;
        eMode mode;

        //생성자
        public SiegeTank()
        {
            mode = eMode.TankMode;
            Console.WriteLine("시즈탱크가 생성되었습니다.");
            Console.WriteLine("현재 {0} 입니다.",eMode.TankMode);
     
        }

        //기능
        public void Move()
        {
            Console.WriteLine("이동했습니다.");
        }

        public void Trans1()
        {
            if(mode == eMode.TankMode)
            {
                Console.WriteLine("모드를 변경했습니다 {0} > {1}", eMode.TankMode, eMode.SeigeMode);
                Console.WriteLine("공격력{0} > {1} 변경되었습니다.", damage, damage1);
                mode = eMode.SeigeMode;
                Console.WriteLine("현재 {0} 입니다.", eMode.SeigeMode);
            }
        }
        public void Trans2()
        {
            if(mode == eMode.SeigeMode)
            {
                Console.WriteLine("SiegeMode에서는 이동할 수 없습니다.");
                Console.WriteLine("모드를 변경했습니다 {0} > {1}", eMode.SeigeMode, eMode.TankMode);
                Console.WriteLine("공격력{0} > {1} 변경되었습니다.", damage1, damage);
                mode = eMode.TankMode;
                Console.WriteLine("현재 {0} 입니다.", eMode.TankMode);
            }
        }
    }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    internal class App
    {
      
        //생성자
        public App()
        {
            SiegeTank siegetank = new SiegeTank();
            siegetank.Trans1();
            siegetank.Trans2();
            siegetank.Move();

        }
    }
}