본문 바로가기

c#70

디자인 패턴 공부 - 명령패턴의 학습 -5- 안녕하세요? 어떻게 디자인 패턴에 대해서 공부를 하면서 디자인 패턴을 왜 처음으로 마주했냐 하면, 게임을 만들면서 피할 수 없는 문제가 입력을 하는 일이 있어야 하고, 이 과정을 생각하면 처음으로 마주치는 문제라면 문제라고 할 수 있어 보입니다. 아무튼 지난번 포스팅에서 못 다한 것이 있는데, 바로 명령을 일으키는, 즉 키보드를 사용해서 입력을 하는 게임이라고 치면, 여기서 바로 버튼에 해당할 수 있는 부분인 invoke를 만들어서 할당하는 것을 잊었습니다. 먼저 시작한 것은 바로 command 클래스를 상속받아 사용할 수 있는 이 명령 자체의 클래스를 일단 리스트에 담아줘야 하는 문제가 있습니다. 이 문제를 해결하기 위해서 일단 object라고 하는 자료형을 가지고 왔습니다. 이걸 사용하면, 메모리상에.. 2024. 2. 17.
디자인 패턴 공부 - 명령패턴의 학습 -4- 안녕하세요? 지난번 포스팅에서 어떻게 해서 플레이어 - 명령을 게임상에서 내리면, 이를 실행할 캐릭터를 지정하는 법에 대해서 한번 코드를 작성했습니다만, 여전히 문제점이 있다면 있습니다. 바로 명령을 일일히 클래스안의 메서드에 집어넣는 좀 비효율적인 과정이 있기는 있었습니다. 이번에는 이런 것을 극복하고, 어떻게 명령도 리스트 형식으로 만들어서 한꺼번에 입력을 할 수 없는지에 대해서 한번 알아 보기로 했습니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 Add메서드를 써서 일일히 리스트 형식의 변수에 자료를 입력하지 않고, 아예 하나의 리스트를 선언한 다음, 이 리스트만 넣도록 만들어 보았습니다. 그리고 나서 기존에 있는 클래스에서 한번 리스트를 선언하는 부분은 주석처리를 하도록 하고, 그 다음에는 실행을.. 2024. 2. 15.
디자인 패턴 공부 - 명령패턴의 학습 -3- 안녕하세요? 이전 포스팅에서 언급한 명령 패턴을 연습한 C#의 코드에는 한가지 문제점이 있기는 있었습니다. 바로 다른 것이 아니라, 특정한 플레이어를 코드 안에서 지정했기 때문에, 명령을 내리는 플레이어-경우에 따라서는 캐릭터를 바꾸어서 할 수 있어야 하는 상황이 될 수도 있는데, 이런 경우에는 코드를 진짜로 하나 통째로 만들어야 하는 경우까지 생길 수 있습니다. 그래서 이런 것을 막아내기 위해서 실행을 위한 메세지에 캐릭터 명을 입력하는 것으로 어떻게 할 수 없는지 코드를 짜 보도록 했습니다. 우선 위 스크린샷에서 명령을 내리면 실행할 플레이어 개체에 대해서 일단 명령을 다르게 입력해 주도록 하였습니다. 그리고 이것만 해서는 안되고, 당연하다면 당연하게도 PlayerCommand 클래스에 가서는 변형을.. 2024. 2. 15.
디자인 패턴 공부 - 명령패턴의 학습 -2- 안녕하세요? 지난 포스팅에서 어떻게 명령 패턴을 익히는데 클래스의 상속과 그에 따른 일종의 변형에 대해서 공부를 해 보았는데, 본격적으로 이런 것을 바탕으로 해서 어떻게 하나하나 명령 패턴에 대해서 익혀야 하는 것이 많이 있기는 있습니다. 일단 이를 익혀 보기 위해서 계속해서 실습을 해 보고자 합니다. 일단 지난번에는 단순히 명령이라는 Command와 이 명령을 실행하는 PrintCommand라는 클래스만 있었지만, 실제로 게임을 만들게 되면, 이 명령을 받고서 실행할 무언가가 있어야 합니다. 이 무언가에 대해서는 일단 여기서는 플레이어라고 하고, 먼저 PlayerOne이라는 클래스를 만들어 주도록 합니다. 여기에는 수행할 기능이 킥과 펀치가 있다고 하고, 각각 받는가에 따라서 일단 콘솔에 해당하는 문구.. 2024. 2. 14.