c#/복습

(재연습) 시즈탱크(탱크모드/공성모드)

yeeendy 2023. 1. 21. 23:26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study0121
{
    class App
    {
        //생성자
        public App()
        {
            Console.WriteLine("App 생성자");

            //탱크를 생성하고 
            SiegeTank tank = new SiegeTank();
            tank.damage = 30; //tank의 damage는 siegetank 맴버 변수에서 할당된 damage
            tank.modeType = SiegeTank.ModeType.Tank;

            //탱크 생성완료 
            Console.WriteLine(tank.damage); //30
            Console.WriteLine(tank.modeType);   //Tank

            tank.Move();

            tank.ChangeMode();
            tank.ChangeMode();
            tank.ChangeMode();  //시즈모드 

            tank.Move();
        }

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

namespace Study0121
{
    class SiegeTank
    {
        public enum ModeType
        {
            Tank,
            Siege
        }

        public ModeType modeType;
        public int damage;
        //생성자
        public SiegeTank()
        {
            this.modeType = ModeType.Tank;
        }
        //모드 변경 
        public void ChangeMode()
        {
            //현재 모드가 탱크 모드라면 공성모드로 
            //공성모드라면 탱크 모드로 변경 
            if(this.modeType == ModeType.Tank)
            {
                this.modeType = ModeType.Siege;
                this.damage = 70;
            }
            else
            {
                this.modeType = ModeType.Tank;
                this.damage = 30;
            }
            Console.WriteLine("현재모드 : {0}, 공격력 : {1}", this.modeType, damage);
            //공성모드일경우 공격력 : 70
            //탱크모드일경우 공격력 : 30 
            Console.WriteLine();
        }

        public void Move()
        {
            //공성모드일경우 이동불가 
            //탱크모드일경우 이동가능 
            if (this.modeType == ModeType.Tank)
            {
                Console.WriteLine("이동했습니다.");
            }
            else
            {
                Console.WriteLine("이동할수 없습니다.");
            }
            Console.WriteLine();
        }
    }
}

'c# > 복습' 카테고리의 다른 글

(재연습) 배열  (0) 2023.01.22
(재연습) switch, while  (0) 2023.01.21
(재연습)클래스 연습  (0) 2023.01.21
(재연습)메서드 연습  (0) 2023.01.21
(재연습)for문 연습 고블린 사냥  (0) 2023.01.21