C#/수업 과제

클래스 과제2

HSH12345 2023. 1. 4. 21:55

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

namespace _230104
{
    class Program
    {
        static void Main(string[] args)
        {
            App app = new App();
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _230104
{
    class App
    {
        enum UnitType
        {
            Normal,
            Siege
        }
        //생성자
        public App()
        {
            SiegeTank siegeTank = new SiegeTank();

            //상태 출력
            Console.WriteLine("유닛 이름 : {0}\n", siegeTank.name);
            Console.WriteLine("생명력 {0}/{1}", siegeTank.maxHp, siegeTank.hp);
            Console.WriteLine("이동속도 : {0}", siegeTank.moveSpeed);
            Console.WriteLine("일반 공격력 : {0}", siegeTank.normalDmg);            
            Console.WriteLine("시즈 공격력 : {0}\n", siegeTank.siegeDmg);

            //기능 출력
            siegeTank.Move();
            siegeTank.Att();
            siegeTank.SiegelMode();
            siegeTank.Att();
            siegeTank.NormalMode();
            siegeTank.Att();

        }

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

namespace _230104
{
    class SiegeTank
    {            
        public string name = "시즈탱크";
        public int maxHp = 150;
        public int hp = 150;
        public int normalDmg = 30;
        public int siegeDmg = 70;
        public float moveSpeed = 1.875f;
        private bool seigeMode = false;
        //생성자
        public SiegeTank()
        {

        }

        public void Move()
        {
            Console.WriteLine("{0}의 속도로 이동하였습니다.", this.moveSpeed);
        }

        public void NormalMode()
        {
            Console.WriteLine("기본 모드로 변경합니다.");
            seigeMode = false;
        }

        public void SiegelMode()
        {
            Console.WriteLine("시즈 모드로 변경합니다.");
            seigeMode = true;
        }

        public void Att()
        {
            if(seigeMode == false)
            {
                Console.WriteLine("기본 모드로 공격({0})하였습니다.", this.normalDmg);
            }
            else
            {
                Console.WriteLine("시즈 모드로 공격({0})하였습니다.", this.siegeDmg);
            }
        }

    }
}