편집 : 여왕과 다른 것을 홍보하면 모든 것이 폭발합니다. 또한 이것을 지원하기가 매우 어려울 것입니다 (Part 2에 대한 내 프로그램은 판촉을 지원하지만 픽셀을 읽음으로써 Part 1의 정보를 저장하는 것은 악몽입니다).
Edit2 : PGN에 실제 보드 체스를 의미한다는 것을 알았습니다. 그래서 이것은 모두 쓸모가 없으며 대부분 내 대답을 삭제합니다.
1 부 : 픽셀 리더를 사용하여 정사각형 저장
완전히 가능하며 필요한 단계는 다음과 같습니다.
- 이 (prefereably 마지막 이동 강조 있도록 보드의 셋업을 변경 하지 단지 국경을)
- 주어진 (x, y)에서 픽셀을 읽는 프로그램을 작성하십시오.
- 각 정사각형에서 약 5+ 픽셀 이상 읽도록합니다 (따라서 커서 / 조각이 읽을 모든 픽셀을 가리는 것은 불가능합니다)
- HEX를 RBG로 변환 한 다음 "마지막 이동"색상에 가까운 것으로 간주되는 것으로 허용되는 값 범위 를 지정하십시오.
["h1-h8", "e4-e5", ...]
초기 및 끝 사각형 형식으로 배열에 이동을 저장하십시오 ( 중요하지 않은 순서 )
참고 : 여기에서 우리는 실제로 어느 정사각형이 초기 / 종료 위치인지 알 수 없지만 가능성은 2 개 뿐이며 그중 하나만 합법적입니다.
나는 C #에서 적의 로켓 추진 유탄 게임에 대한 간단한 픽셀 기반의 매크로 / 봇을 작성했습니다, 나는이되지 않습니다 보장 할 수 있다는 어려운 주어진 :
- 캠은 정적입니다 (따라서 x, y 값은 엉망이되지 않습니다)
- 이전에 배경색을 알고 있거나 재생하기 전에 설정할 수 있습니다.
기본적으로 게임이 온라인에서 재생되고 화면에서 직접 기록하는 것이 가장 좋습니다.
파트 1에 사용할 수있는 프로그램이 없습니다.
2 부 : 해당 목록을 PGN으로 내보내기
이 목록을 실제 PGN으로 바꾸려면 이동을 기록 하는 JavaScript로 작성한 프로그램 과 moveCaller()
두 개의 사각형 위치를 전달 하는 함수 중 하나를 사용 final_pos
하여 합법적 인 이동을 검색하고 initial_pos
일치하는 항목이 있으면 호출합니다. makeMove()
. 그래서 우리는 두 번 호출 할 수 있습니다 e5 to e4
그리고 e4 to e5
나는 그것이 불법를 무시합니다 보장합니다.
- 프로젝트 다운로드 (직접 링크 .zip )
- 압축을 풀다
.zip
index.html
파일 의 JavaScript를 다음 과 같이 변경하십시오 .
'
$(function(){
var i, len, arr, temp, m_board;
m_board=IsepicChess.initBoard({name : "main"});
arr=["e4-e2", "e7-e5", "f3-g1"]; //is ok for the initial and final squares to be swapped
for(i=0, len=arr.length; i<len; i++){
temp=arr[i].split("-");
//one of the two following lines will silently fail
m_board.moveCaller(temp[0], temp[1]);
m_board.moveCaller(temp[1], temp[0]);
}
m_board.refreshBoard();
});
.4. 이동 목록을 복사하고 그 위에 PGN 헤더를 추가하십시오 [WhiteElo "2400"]
.