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

namespace Ramda5
{
    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.Tasks;

namespace Ramda5
{
    public class App
    {
        //생성자
        public App() 
        {
            Console.WriteLine("람다5 생성자 실행");

            ToggleButton toggleButton = new ToggleButton();

            toggleButton.Push((status) => { //람다에 넣을 매개변수 status
                Console.WriteLine(status);  //Status 열거형식 (맴버 : On, Off)
            });
        }
    }
}
  • ToggleButton
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Ramda5
{
    public class ToggleButton
    {
        public enum Status
        {
            On,
            Off
        }
        //맴버 변수
        public Action<Status> action;
        public Status status;


        //생성자 
        public ToggleButton()
        {
            Console.WriteLine("토글 버튼 생성자 실행");

            status = Status.Off; // 꺼진 상태로 시작
            Console.WriteLine($"지금 불은 {status}");
        }

        public void Push(Action<Status> action)
        {
            if (this.status == Status.On)
            {
                action(Status.Off);

                Console.WriteLine("버튼 온 -> 오프됨");
                this.status = Status.Off;
            }
            else
            {
                action(Status.On);

                Console.WriteLine("버튼 오프 -> 온됨");
                this.status = Status.On;
            }
        }
    }
}

'게임 알고리즘' 카테고리의 다른 글

영원히 업데이트 될 오류 모음  (0) 2024.08.20
구조체, 스택, 힙, 값 형식, 참조 형식  (0) 2024.08.19
Action_아이템 강화  (0) 2024.08.19
Action_마린이 맞아 죽음  (0) 2024.08.19
Action_버튼 누르기  (0) 2024.08.19

+ Recent posts