게임 알고리즘

Action_히어로가 몬스터를 때림

101won 2024. 8. 19. 01:02

 

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

namespace Ram2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            new App();
        }
    }
}

 

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

namespace Ram2
{
    public class App
    {
        //생성자
        public App() 
        {
            Console.WriteLine("App 생성자 실행");
            
            Hero hero = new Hero();
            
            Monster monster = new Monster("슬라임");
            
            monster.onHit = () => {
                Console.WriteLine("몬스터가 피해를 받았습니다.");
            };
            
            hero.Attack(monster);
        }
    }
}

 

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

namespace Ram2
{
    public class Hero
    {
        // 생성자
        public Hero() 
        {
            Console.WriteLine("HEro 생성자 실행");
        }

        public void Attack(Monster monster)
        {
            Console.WriteLine($"히어로가 몬스터 {monster.name}을 때림...");
            monster.onHit();
        }
    }
}

 

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

namespace Ram2
{
    public class Monster
    {
        //매개변수
        public Action onHit;
        public string name;
        
        //생성자
        public Monster(string name) 
        {
            Console.WriteLine("monster 생성자 실행");
            this.name = name;
        }
    }
}