Wednesday, August 02, 2006
Crafty : 공개 체스 엔진 / 텍스트 모드 체스 게임 / Chess 엔진 C소스
서양 장기인 체스에 대한 게시물입니다.
Crafty (크래프티) 라는 유명한 오픈소스 체스 엔진이 있습니다. 아주 강력한 것입니다. 윈도의 명령 프롬프트 에서, 키보드로 기물(Pieces)들의 좌표를 입력하여 직접 게임을 할 수도 있습니다.
그리고 WinBoard 같은 프로그램을 이용하면, 그래픽 모드로도 즐길 수 있습니다. 윈보드에서 크래프티를 체스 엔진으로서 사용하는 방법은
https://www.tim-mann.org/chess.html (2024-06-09: 현재는 Crafty 관련 페이지가 삭제되었군요. )
여기에 있습니다.
이것은 윈도의 명령 프롬프트 즉 도스창에서 크래프티를 실행시킨 화면입니다.
백을 쥔 제가 nf3 로 나이트(Knight)를 전진시키니, 흑을 쥔 크래프티가 d5 로 폰(Pawn)을 움직였습니다. Reti opening 이군요.
키보드의 d 키를 누르고 Enter키를 치면, 현재 체스판의 기물 배치 상태를 위와 같이 보여줍니다.
국내에 Crafty를 이길 수 있는 체스 고수는 별로 없을 것 같습니다. 크래프티를 약하게 만드는 방법이 있습니다.
위의 박스에 있는 내용을 crafty.rc 라는 이름의 텍스트 파일로 저장한 후, 크래프트 실행 파일이 있는 디렉토리(폴더)에 같이 넣어 줍니다. ($HOME 디렉토리에 넣으면 인식을 못하더군요.)
(crafty.rc 파일의 맨 마지막에는 exit 이라는 명령이 있어야 합니다. 그리고 exit 다음에는 반드시 빈 줄이 있어야 합니다. 그렇지 않으면 크래프티에 에러가 납니다.)
아무튼 이러면 체스 엔진 성능이 아주 약해집니다. 그리고 크래프티는 자기 차례가 끝났을 때 삑 하는 비프음(Beep)을 내는데, alarm off 명령으로 소리를 없앴습니다.
ftp://ftp.cis.uab.edu/pub/hyatt/executables/ (2024-06-09: 현재 폐쇄됨)
여기에 보면, 현재 최신 버전인 crafty-20.14.exe 가 있습니다. 설치 파일이 아니고, 이것이 실행 파일입니다. 즉, Crafty 는, 파일 1개로 되어 있습니다. 16비트 도스 프로그램이 아니고, 32비트 콘솔 프로그램이기에, MS-DOS 6.0 등에서는 실행되지 않습니다.
ftp://ftp.cis.uab.edu/pub/hyatt/source/ (2024-06-09: 현재 폐쇄됨)
이 주소에 crafty-20.14.zip 이라는 파일이 있는데, ANSI C 로 되어 있습니다. (C++가 아니고 그냥 C입니다.)
크래프티에 대한 보다 자세한 정보는 www.limunltd.com/crafty/ (2024-06-09: 현재 폐쇄됨)
< Crafty Command Documentation >
www.cis.uab.edu/hyatt/craftydoc.html (2024-06-09: 현재 폐쇄됨)
에 있습니다.
추가 사항: 크래프티를 종료하는 키는 q 입니다.
▶▶ 무료 바둑 프로그램 gnugo (GNU Go); 텍스트 모드 IGO [리눅스]
Crafty (크래프티) 라는 유명한 오픈소스 체스 엔진이 있습니다. 아주 강력한 것입니다. 윈도의 명령 프롬프트 에서, 키보드로 기물(Pieces)들의 좌표를 입력하여 직접 게임을 할 수도 있습니다.
그리고 WinBoard 같은 프로그램을 이용하면, 그래픽 모드로도 즐길 수 있습니다. 윈보드에서 크래프티를 체스 엔진으로서 사용하는 방법은
https://www.tim-mann.org/chess.html (2024-06-09: 현재는 Crafty 관련 페이지가 삭제되었군요. )
여기에 있습니다.
이것은 윈도의 명령 프롬프트 즉 도스창에서 크래프티를 실행시킨 화면입니다.
D:\X>crafty-20.14.exe
Initializing multiple threads.
System is SMP, not NUMA.
EPD Kit revision date: 1996.04.21
unable to open book file [./book.bin].
book is disabled
unable to open book file [./books.bin].
book file disabled.
pondering disabled.
search time set to 1.00.
hash table memory = 48K bytes.
pawn hash table memory = 16K bytes.
search depth set to 2.
one-reply extension..................0.75
in-check extension...................0.00
mate thrt extension..................0.75
one-reply extension..................0.75
in-check extension...................0.00
mate thrt extension..................0.75
one-reply extension..................0.75
in-check extension...................0.00
mate thrt extension..................0.75
Crafty v20.14 (1 cpus)
White(1): nf3
time used: 2.46
time surplus 0.00 time limit 1.00 (+0.00) (1.00)
depth time score variation (1)
time=0.00 mat=0 n=137 fh=100% nps=1.0M
ext-> check=0 1rep=0 mate=0 reductions=0/0
predicted=0 evals=73 50move=1 EGTBprobes=0 hits=0
hashing-> 0%(raw) 0%(draftOK) 0%(saturation)
hashing-> 0%(exact) 0%(lower) 0%(upper)
SMP-> splits=0 aborts=0 data=0/256 elap=0.00
Black(1): d5
time used: 0.01
White(2): d
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>|<N>|<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>| |<P>|<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
5 | . | | . |<P>| . | | . | |
+---+---+---+---+---+---+---+---+
4 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . |-N-| . | |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-|-P-|-P-|-P-|-P-|-P-|-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-| . |-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
White(2):
Initializing multiple threads.
System is SMP, not NUMA.
EPD Kit revision date: 1996.04.21
unable to open book file [./book.bin].
book is disabled
unable to open book file [./books.bin].
book file disabled.
pondering disabled.
search time set to 1.00.
hash table memory = 48K bytes.
pawn hash table memory = 16K bytes.
search depth set to 2.
one-reply extension..................0.75
in-check extension...................0.00
mate thrt extension..................0.75
one-reply extension..................0.75
in-check extension...................0.00
mate thrt extension..................0.75
one-reply extension..................0.75
in-check extension...................0.00
mate thrt extension..................0.75
Crafty v20.14 (1 cpus)
White(1): nf3
time used: 2.46
time surplus 0.00 time limit 1.00 (+0.00) (1.00)
depth time score variation (1)
time=0.00 mat=0 n=137 fh=100% nps=1.0M
ext-> check=0 1rep=0 mate=0 reductions=0/0
predicted=0 evals=73 50move=1 EGTBprobes=0 hits=0
hashing-> 0%(raw) 0%(draftOK) 0%(saturation)
hashing-> 0%(exact) 0%(lower) 0%(upper)
SMP-> splits=0 aborts=0 data=0/256 elap=0.00
Black(1): d5
time used: 0.01
White(2): d
+---+---+---+---+---+---+---+---+
8 |<R>|<N>|<B>|<Q>|<K>|<B>|<N>|<R>|
+---+---+---+---+---+---+---+---+
7 |<P>|<P>|<P>| |<P>|<P>|<P>|<P>|
+---+---+---+---+---+---+---+---+
6 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
5 | . | | . |<P>| . | | . | |
+---+---+---+---+---+---+---+---+
4 | | . | | . | | . | | . |
+---+---+---+---+---+---+---+---+
3 | . | | . | | . |-N-| . | |
+---+---+---+---+---+---+---+---+
2 |-P-|-P-|-P-|-P-|-P-|-P-|-P-|-P-|
+---+---+---+---+---+---+---+---+
1 |-R-|-N-|-B-|-Q-|-K-|-B-| . |-R-|
+---+---+---+---+---+---+---+---+
a b c d e f g h
White(2):
백을 쥔 제가 nf3 로 나이트(Knight)를 전진시키니, 흑을 쥔 크래프티가 d5 로 폰(Pawn)을 움직였습니다. Reti opening 이군요.
키보드의 d 키를 누르고 Enter키를 치면, 현재 체스판의 기물 배치 상태를 위와 같이 보여줍니다.
체스 엔진의 성능을 약하게
국내에 Crafty를 이길 수 있는 체스 고수는 별로 없을 것 같습니다. 크래프티를 약하게 만드는 방법이 있습니다.
alarm off
log off
learn 0
book off
ponder off
st 1
hash 64K
hashp 16K
sd 2
extension check 0
extension recapture 0
extension 1reply 0
exit
log off
learn 0
book off
ponder off
st 1
hash 64K
hashp 16K
sd 2
extension check 0
extension recapture 0
extension 1reply 0
exit
위의 박스에 있는 내용을 crafty.rc 라는 이름의 텍스트 파일로 저장한 후, 크래프트 실행 파일이 있는 디렉토리(폴더)에 같이 넣어 줍니다. ($HOME 디렉토리에 넣으면 인식을 못하더군요.)
(crafty.rc 파일의 맨 마지막에는 exit 이라는 명령이 있어야 합니다. 그리고 exit 다음에는 반드시 빈 줄이 있어야 합니다. 그렇지 않으면 크래프티에 에러가 납니다.)
아무튼 이러면 체스 엔진 성능이 아주 약해집니다. 그리고 크래프티는 자기 차례가 끝났을 때 삑 하는 비프음(Beep)을 내는데, alarm off 명령으로 소리를 없앴습니다.
Crafty 윈도용 실행파일 다운로드 주소:
ftp://ftp.cis.uab.edu/pub/hyatt/executables/ (2024-06-09: 현재 폐쇄됨)
여기에 보면, 현재 최신 버전인 crafty-20.14.exe 가 있습니다. 설치 파일이 아니고, 이것이 실행 파일입니다. 즉, Crafty 는, 파일 1개로 되어 있습니다. 16비트 도스 프로그램이 아니고, 32비트 콘솔 프로그램이기에, MS-DOS 6.0 등에서는 실행되지 않습니다.
C소스 다운로드
ftp://ftp.cis.uab.edu/pub/hyatt/source/ (2024-06-09: 현재 폐쇄됨)
이 주소에 crafty-20.14.zip 이라는 파일이 있는데, ANSI C 로 되어 있습니다. (C++가 아니고 그냥 C입니다.)
크래프티에 대한 보다 자세한 정보는 www.limunltd.com/crafty/ (2024-06-09: 현재 폐쇄됨)
< Crafty Command Documentation >
www.cis.uab.edu/hyatt/craftydoc.html (2024-06-09: 현재 폐쇄됨)
에 있습니다.
추가 사항: 크래프티를 종료하는 키는 q 입니다.
▶▶ 무료 바둑 프로그램 gnugo (GNU Go); 텍스트 모드 IGO [리눅스]
tag: chess
체스 | Chess
학교에서 배운 C로 소스 분석해보려고 했더니;;휴..아직도 부족하구나..;;
C언어뿐만 아니라, 체스 엔진 알고리즘까지 알아야 하기 때문에, 어렵더군요.
^_^)
<< Home