본문 바로가기

프로그래밍380

디자인 패턴 공부 - 경량패턴의 학습 -3- 안녕하세요? 지난번 포스팅에서 어떻게 해서 작업을 하기는 했습니다만, 에러가 발생했습니다. 이 에러를 잡는 것 부터 시작해서 어떻게 디자인 패턴 공부를 계속해서 이어 나가야 겠다는 생각이 듭니다. 일단 이 오류를 해결하는 과정을 짧게 담아본 다음에, 한번 작업을 이어나가도록 해 보겠습니다. 바로 먼저 문제가 된 것은 아 부분입니다. 일단 인터페이스 선언을 해준 다음에, 이 인터페이스를 상속받은 클래스가 사용할 메서드와 매개변수는 미리미리 여기서 선언을 해 주어야 간단하게 사용이 가능합니다. 그 다음으로는 3개의 매개변수가 들어가서 에러가 생겼다고 하는 메세지를 볼 수 있었습니다. 이걸 어떻게 해결하는가는 간단한데, 어디서 문제인지를 찾아야 합니다. 다음으로는 위 스클니샷에서 볼 수 있는 것처럼 일단 몬스.. 2024. 2. 20.
디자인 패턴 공부 - 경량패턴의 학습 -2- 안녕하세요? 지난번 포스팅에서 어떻게 경량 패턴을 공부 하면서 chat GPT가 만들어 준 예제를 그저 분석해 보기만 했었는데, 그것만 가지고서는 어떻게 되지 않아서, 한번 제 식대로 변형을 시켜서 써먹어 보는 실습을 진행해 보고자 했습니다. 일단 이렇게 까지 할 필요가 있느냐 하지만, 이렇게 안 하면 제 것으로 만들기 안되는 것이 문제라면 문제라는 생각이 듭니다. 먼저 인터페이스 IDatas를 선언해 주고 나서, 다음으로 몬스터 데이터라는 클래스를 만들어 주도록 합니다. 여기서 중요한 것은 역시 클래스명을 선언하고 나서 public 클래스 명으로 클래스가 선언이 될 때 매개변수를 받아올 수 있도록 만드는 것 입니다. 그 다음으로 몬스터를 생성하기 위한 몬스터 팩토리 클래스를 만들어 보도록 합니다. 여기.. 2024. 2. 20.
디자인 패턴 공부 - 명령패턴의 학습 -5- 안녕하세요? 어떻게 디자인 패턴에 대해서 공부를 하면서 디자인 패턴을 왜 처음으로 마주했냐 하면, 게임을 만들면서 피할 수 없는 문제가 입력을 하는 일이 있어야 하고, 이 과정을 생각하면 처음으로 마주치는 문제라면 문제라고 할 수 있어 보입니다. 아무튼 지난번 포스팅에서 못 다한 것이 있는데, 바로 명령을 일으키는, 즉 키보드를 사용해서 입력을 하는 게임이라고 치면, 여기서 바로 버튼에 해당할 수 있는 부분인 invoke를 만들어서 할당하는 것을 잊었습니다. 먼저 시작한 것은 바로 command 클래스를 상속받아 사용할 수 있는 이 명령 자체의 클래스를 일단 리스트에 담아줘야 하는 문제가 있습니다. 이 문제를 해결하기 위해서 일단 object라고 하는 자료형을 가지고 왔습니다. 이걸 사용하면, 메모리상에.. 2024. 2. 17.
디자인 패턴 공부 - 명령패턴의 학습 -4- 안녕하세요? 지난번 포스팅에서 어떻게 해서 플레이어 - 명령을 게임상에서 내리면, 이를 실행할 캐릭터를 지정하는 법에 대해서 한번 코드를 작성했습니다만, 여전히 문제점이 있다면 있습니다. 바로 명령을 일일히 클래스안의 메서드에 집어넣는 좀 비효율적인 과정이 있기는 있었습니다. 이번에는 이런 것을 극복하고, 어떻게 명령도 리스트 형식으로 만들어서 한꺼번에 입력을 할 수 없는지에 대해서 한번 알아 보기로 했습니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 Add메서드를 써서 일일히 리스트 형식의 변수에 자료를 입력하지 않고, 아예 하나의 리스트를 선언한 다음, 이 리스트만 넣도록 만들어 보았습니다. 그리고 나서 기존에 있는 클래스에서 한번 리스트를 선언하는 부분은 주석처리를 하도록 하고, 그 다음에는 실행을.. 2024. 2. 15.