반응형

모델링

- 오목을 함에 있어, 사람의 사물 구분을 하려고 노력한다.
- 각 사물은 최대한 의존성을 갖지 않도록 한다.
- 처음부터 완벽한 프로그래밍을 하지 않는다. 

1. 돌순번 : 1base로 하며, 최대 19 x 19까지 가능한 수를 갖는다.

MODEL_NAME

MODEL

PROPERTY_1

 돌순번

StoneCount

int count


2. 돌 : 색깔과 순번을 갖는다.

MODEL_NAME

MODEL

PROPERTY_1

PROPERTY_2

 돌

Stone

StoneColor color

StoneCount count


3. 돌색깔 : 흑, 백으로 두가지의 색을 갖는다.

MODEL_NAME

MODEL

COLOR_1

COLOR_2

 돌색깔

StoneColor

StoneColor  BLACK

StoneColor  WHITE


4. 오목판 : 좌표를 갖는다.

- 착점 시 해당 Point가 비어 있는지 확인한다.
- 순번이 필요할 지 의문.

MODEL_NAME

MODEL

PROPERTY_1

PROPERTY_2

 오목판

Board

Point[] point

StoneCount


5. 포인트 : 좌표

MODEL_NAME

MODEL

PROPERTY_1

PROPERTY_2

좌표계

Point

Integer x

Integer y


6. 플레이어 : 돌의 착점을 선택한다.

MODEL_NAME

MODEL

PROPERTY_1

PROPERTY_2

PROPERTY_3

플레이어

Player

StoneColor

StoneCount

Point


7. 기보 : 돌의 순서를 좌표별로 저장한다.

MODEL_NAME

MODEL

PROPERTY_1

기보

Recoder

Point[]


8. 규칙 : 게임의 규칙을 설정한다.

- 오목 판의 크기, (일반룰, 렌주를, 오프닝 렌주룰)

MODEL_NAME

MODEL

RULE_1

RULE_2

규칙확인

Rlue

NORMAL

RIF


9. 타이머 : 착수의 시간을 제한한다.

MODEL_NAME

MODEL

PROPERTY_1

PROPERTY_2

타이머

Timer

Date player1

Date player2


10. 경기방법 : 3가지 경기 방법을 갖는다.

MODEL_NAME

MODEL

GAME_TYPE_1

GAME_TYPE_2

GAME_TYPE_3

경기방법

GameType

FREE

DESIGNED

OPEN

11. 규칙확인 : 착점시 규칙 위반 여부를 판단한다. 

- 룰에 따른 착수의 위치를 확인한다. (3x3, 3x4, 렌쥬)

MODEL_NAME

MODEL

PROPERTY_1

부심

Referee

Recoder


12. 승자판단 : 오목이 완성되어있는지 확인.

- 오목이 이루어 졌는지 확인한다.

MODEL_NAME

MODEL

PROPERTY_1

주심

Judge

Point(Recoder[LAST_INDEX])




반응형

'myProject' 카테고리의 다른 글

TDD - 오목게임  (0) 2018.01.18
돌 선택 알고리즘  (0) 2017.10.15
오목 만들기 - 틀  (0) 2017.10.06

+ Recent posts