C#/수업 내용

2023.1.5 클래스 이용 마린만들기

Bueong_E 2023. 1. 5. 10:34
반응형
SMALL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study04
{
    class App
    {
        //생성자
        public App()
        {
            Console.WriteLine("App 생성자 입니다.");

            Marine marine1 = new Marine("마린1",60);
            Marine marine2 = new Marine("마린2",55);

            marine1.name = "마린1호";
            marine2.name = "마린2호";

            marine1.Creat(marine1);
            marine2.Creat(marine2);

            marine1.Move(marine1);
            marine2.Move(marine2);
            marine1.Attack(marine1, marine2);
            marine2.Hit(marine2);

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

namespace Study04
{
    class Marine
    {
        //맴버 변수 
        public string name;
        const int maxHp = 60;
        public int myHp;
        public int power = 5;

        //생성자 "메서드
        public Marine(string name, int hp)
        {
            //인스턴스 생성되고 생성자가 호출된다
            //this : 클래스의 현재 인스턴스
            //이름을 계속 남기고 싶다면 미리 한정자의 맴버 변수를 지정해주고 값을 저장시킨다.(인스턴스가 살아있는 동안 지속적으로 사용한다면.)
            this.name =  name;
            this.myHp = hp;
            Console.WriteLine("{0}이 생성되었습니다.{1}/{2}", name, hp, maxHp);
           
        }
        //맴버 메서드
        public void Creat(Marine name)
        {
            Console.WriteLine("{0}가 생성되었습니다", name.name);

        }
        public void Move(Marine name)
        {
            Console.WriteLine("{0}가 이동합니다",name.name);

        }
        public void Attack(Marine attacker, Marine target)
        {
            Console.WriteLine("{0}가 {1}을 공격 합니다", attacker.name, target.name);
            Console.WriteLine("데미지 -{0}", power);            



        }
        public void Hit(Marine target)
        {
            this.myHp = myHp - power;
            Console.WriteLine("{0} 남은 체력 {1}/{2}", target.name, myHp, maxHp);
        }
    }
}

결과물

반응형
LIST