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