본문 바로가기

C#/수업 과제

마린2를 공격하는 마린1

메인 메서드

using System;

class Program
{
    public static int amountMineral = 50;

    static void Main(string[] args)
    {
        Marine marine1 = new Marine(40, 6, "마린1");
        Marine marine2 = new Marine(19, 6, "마린2");
        
        for (int i = 0; i < 7; i++)
        {
            Console.WriteLine();
            marine1.Attack(marine2);
            marine2.Hit(marine1);
        }
        
        Console.ReadLine();
    }
}

마린 클래스

using System;

class Marine : Unit
{
    //변수
    private int maxHp = 40;
    public int hp;
    private int damage;
    public string name;

    //생성자
    public Marine(int hp, int damage, string name)
    {
        this.hp = hp;
        this.damage = damage;
        this.name = name;
        Console.WriteLine("체력: {0}, 공격력: {1}, 이름: {2}", this.hp, this.damage, this.name);
    }

    //메서드
    public void Attack(Marine target)
    {
        if (target.hp > 0)
        {
            Console.WriteLine("{0}이 {1}를 공격합니다.", this.name, target.name);
        }
        else
        {
            Console.WriteLine("잘못된 대상입니다.");
        }
        
    }

    public void Hit(Marine enermy)
    {
        if (this.hp > 0)
        {
            this.hp -= enermy.damage;
            if (this.hp > 0)
            {
                Console.WriteLine("{0}가 {1}로부터 공격을 받았습니다.", this.name, enermy.name);
                Console.WriteLine("hp: {0}/{1}", this.hp, this.maxHp);
            }            
            if (this.hp < 0)
            {
                this.hp = 0;
                Console.WriteLine("{0}가 {1}로부터 공격을 받았습니다.", this.name, enermy.name);
                Console.WriteLine("hp: {0}/{1}", this.hp, this.maxHp);
                Console.WriteLine("{0}가 죽었습니다.", this.name);
            }   
        }
    }
}

HelloWorld.exe
0.01MB