퍼온~바둑..!/관련 자료들~

[=] 바둑 게임용 개념 정리

온울에 2008. 5. 28. 22:33

1. 카메라 자동 검출 기능

2. 영상 표기 기능

3. 바둑판 검출 기능

4. 돌 검출 기능

5. 검출 결과 표기 기능

6. 수순 표기 기능

7. 단수 검출 기능

8. sgf 파일 저장 및 불러오기 기능

9. 착수자별 시간 제한 및 초읽기 기능

*

가칭 비금 프로젝트 개념 정리

게임판 : 모든 보드게임의 기본이 되는 판 개념.

: 판에 올릴 수 있는 모든 게임말의 종류

 

바둑판 : 2차원 게임판

: 바둑판에 올라가는 말. 흑백의 두 종류가 있다.

대마 : 돌의 집합. 상태는 완생, , 단수, , 죽음이 있다.

활로 : 대마가 확장해 나갈 수 있는 바둑판상의 좌표집합.

사석 : 한 대마의 활로가 공집합이면 그 대마는 사석이 되어 바둑판상에서 사라진다.

 

1. 게임판

개념

게임판

 

정련 대상Refinement of

없음

 

연관 형식들

B::size_type 판의 크기. 정수 형식과 상호 변환이 가능하여야 한다.

B::mal_type 말의 형식.

B::coordinate_type B상의 좌표 형식.


 

표기

B 게임판의 형식

M B::mal_type의 정련인 형식

C B::coordinate_type의 정련인 형식

b 형식 B인 객체

c 형식 C인 객체

d 형식 D인 객체

m, n, o 형식 M인 객체

 

유효한 표현식들

기본 생성자

B<C> b()

B<C>()

좌표로 C형식을 가지는 빈 게임판 생성.

말 놓기, 움직이기

b.put(m, c)

b의 좌표 c상에 m을 놓는다.

사전조건 : mb상에 존재하지 않는다.

사후조건 : m b상의 c좌표에 존재한다.

b.move(m, c)

b에서 mc로 움직인다.

사전조건 : mb상에 있다.

사후조건 : mb상의 구 좌표에서 제거되고 c좌표에 존재한다.

b.rid(m)

b에서 m을 제거한다.

사전조건 : mb상에 존재한다.

사후조건 : m b상에 존재하지 않는다.


복잡도 보장

해당사항 없음

 

모형들

만들어야지.

 

2. 바둑판

개념

바둑판

 

정련 대상Refinement of

2차원 정수 벡터를 좌표 형식으로 하는 게임판

 

연관 형식들

추가 정의 필요

 

표기

B 바둑판의 정련인 형식

C B::coordinate_type으로 지정되는 형식. (x, y)로 이루어지며 x, y의 값은 1 ~ 19이다.

 

유효한 표현식들

기본 생성자

B<d> b()

B<d>()

빈 바둑판 생성. d×d크기의 게임판.


복잡도 보장

해당사항 없음

 

모형들

만들어야지.

 

3.

개념

 

정련 대상Refinement of

없음

 

연관 형식들

추가 정의 필요

 

표기

M 말 형식

B 게임판 형식

C B::coordinate_type인 객체

m 형식 M인 객체

b 형식 B인 객체

d, e 형식 D인 객체

x, y 형식 S인 객체

유효한 표현식들

기본 생성자

M m(b)

M(b)

B 위에 놓이는 말 생성.

 

복잡도 보장

해당사항 없음

 

모형들

만들어야지.

 

설계문서를 계속 만들다가 그만둠

역시 컴퓨터로 하는 것은 한계가 있다.

연습장 위에 종이로 써서 웬만큼 완성되면 정리하자.


[출처] 비금 프로젝트 - 바둑 게임용 개념 정리|작성자 진