[Archive] 강좌게시판

취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

[myLV.net 집필진 강좌] Ladder Game with AF - 실습 - 3

 [myLV.net 집필진 강좌 – 웅킹킹킹]

 

안녕하세요. 웅킹킹킹 입니다.

 

 

 

지난 시간에 이어서 Ladder Game 실습을 계속 진행하도록 하겠습니다.

 

잠깐 지금까지 진행한 내용을 되짚어보면

 

1.png

 

Ladder Game의 클래스 다이어그램으로 프로젝트에

 

사용할 클래스와 관계를 설계하고

 

Ladder Game, Runner Manager, Runner

 

총 3개의 Actor 클래스를 만들었습니다.

 

그리고 지난 시간에는 Non-Actor 클래스인

 

Ladder Map 클래스는 데이터 멤버와 메소드까지 모두 구현했습니다.

 

 

이번 시간에는 Ladder Game 프로그램에서 가장 중요한 클래스인

 

Ladder Game 클래스를 구현하도록 하겠습니다.

 

Ladder Game 클래스는 Root 클래스로 프로그램 내에서

 

뼈대 혹은 뿌리? 역할을 합니다.

 

그리고 프로그램 UI도 Ladder Game 클래스에서 구현합니다.

 

그만큼 중요하단 이야기입니다.

 

 

자 그럼 먼저 Ladder Game의 데이터 멤버부터 구현합니다.

 

2.png

 

3.png

 

위 그림과 같이 Ladder Game 클래스의 Ladder Game.ctl 파일에서

 

데이터 멤버를 구현합니다.

 

Stop Event 참조, MapInfo Event 참조, RunnerInfo Event 참조와 같은

 

이벤트 발생 참조 컨트롤을 구현하고

 

Runner Manager 클래스와 소통하기 위한 Runner Manager Enqueuer

 

그리고 UI 업데이트를 위한 불리언 참조 컨트롤을 배열타입으로

 

Users, Result 명으로 구현합니다.

 

 

Ladder Game 클래스에서 “AF Overrides” 라는 버츄얼 폴더를 만듭니다.

 

Actor 클래스로부터 덮어쓰기 할 메소드를 관리하는 버츄얼 폴더가 됩니다.

 

4.png

 

Actor 클래스로부터 Pre Launch Init 메소드를 덮어쓰기 합니다.

 

5.png

 

6.png

 

 Pre Launch Init 메소드는

 

Actor 클래스를 호출할 때 “초기화” 과정을 실행하는 메소드 입니다.

 

해당 Actor 클래스의 초기화 부분을 프로그래밍하면 됩니다.

 

프로그램 종료, Map 정보 업데이트, Runner 정보 업데이트 이벤트

 

를 생성합니다. 아래의 그림과 같이 프로그래밍 하고 메소드를 저장합니다.

 

7.png

 

 Actor 클래스로부터 Stop Core 메소드를 덮어쓰기 합니다.

 

8.png

 

9.png

 

Stop Core 메소드는

 

Actor를 종료할 때 “종료” 과정을 실행하는 메소드 입니다.

 

해당 Actor 클래스의 종료 부분을 프로그래밍하면 됩니다.

 

Pre Launch Init 메소드에서 생성한 사용자 이벤트를 종료하는 알고리즘을

 

구현합니다. 아래의 그림과 같이 프로그래밍 하고 메소드를 저장합니다.

 

10.png

 

 

Ladder Game 클래스의 “초기화, 종료” 과정에 대한 부분을 구현했습니다.

 

주로 사용자 이벤트를 생성하고 종료하는 구문입니다.

 

 

Ladder Game 클래스의 주요 메소드를 구현하도록 합니다.

 

Launch Runner Manager 라는 정적 디스패치 메소드를 생성합니다.

 

Launch Runner Manager 메소드는 Runner Manager 클래스를

 

호출하는 역할을 합니다.

 
11.png

 

12.png

  

생성된 메소드의 프런트 패널과 블록다이어그램을 구현합니다.

  

13.png

 

14.png

  

다음으로 Create Users 정적 메소드를 생성합니다.

 

Launch Runner Manager 메소드를 생성하는 과정과 동일하게

 

메소드를 생성합니다.

 

사다리타기 게임을 진행할 유저를 선택해서 생성하는

 

역할을 합니다.

 

프런트 패널과 블록다이어그램을 구현합니다.

 

15.png

 

16.png

 

유저 수에 따라서 사다리타기 유저 버튼을 해당 좌표로 이동시켜서

 

활성화 합니다.

 

Create User 메소드는 메시지 클래스를 통해서 호출할 수 있도록

 

메시지를 생성합니다.

 

17.png

 

생성된 Create User 메시지 클래스는 아래 그림과 같이

 

Ladder Game 버츄얼 폴더 하위에

 

Message Class라는 버츄얼 폴더를 만들어서 관리합니다.

 

18.png

 

 

Init Result 정적 디스패치 메소드를 생성합니다.

 

Launch Runner Manager 메소드를 생성하는 과정과 동일하게

 

메소드를 생성합니다.

 

사다리타기 게임 결과를 초기화 하는 역할을 합니다.

 

프런트 패널과 블록다이어그램을 구현합니다.

  

19.png

 

20.png

 

 

Init Result 메소드는 메시지 클래스를 통해서 호출할 수 있도록

 

메시지를 생성합니다.

 

21.png

 

22.png

  

Ladder Game 클래스의 메소드는 구현한

 

Create User, Init Result, Launch Runner Manager 이외에도

 

Update RunnerInfo, Update MapInfo, Update Result 그리고

 

Actor Core 가 있습니다.

 

23.png

  

프로그래밍 양이 많은 관계로

 

남은 메소드 구현과 메시지 클래스, UI는 다음 시간에

 

업데이트 하도록 하겠습니다.

 

 

감사합니다.

기여자