przepisalem na atari microchess z KIM. zrodlo:
https://www.computerhistory.org/chess/d … 14f6d8478/
niestety ten program nie dzialal prawidlowo - lista poprawionch juz bledow ma kilka pozycji a i ciagle nie jestem pewny czy wszystko jest ok.
jak ktos ma cierpliwosc moze zagrac, sterowanie jest upierdliwe.
c - clear (reset planszy)
p - play / continue (przeciwnik)
e - exchange - zmiana stron czarne/biale
f - graj (my)
przyklad:
c return - reset planszy
p return - komputer wykona ruch
6 return
1 return
5 return
1 return - ruch pionem 61-51
f return - wykonaj
p return - komputer wykona ruch
itd.
plansza ponumerowana jest tez upierdliwie:
00 01 02 03 04 05 06 07
10 11 12 ....
...
70 71 72 73 74 75 76 77
autor chwali sie ze proram jest kompaktowy - to prawda ale zawsze da sie cos optymalizowac ;-)
oto przyklad:
REVERSE
LDX #$0F
ETC
SEC
LDY BK,X
LDA #$77
SBC BOARD,X
STA BK,X
STY BOARD,X
SEC
LDA #$77
SBC BOARD,X
STA BOARD,X
DEX
BPL ETC
RTS
po optymalizacji
REVERSE
ldx #$0f
@ lda BOARD,x
ldy BK,x
eor #$77
sta BK,x
tya
eor #$77
sta BOARD,x
dex
bpl @-
rts
5 bajtow krocej :-)
---
. - pionek
= - wieza
( - konik
^ - laufer
* - krolowka
+ - krol
R - reset reset planszy
P - play / continue (przeciwnik)
X - eXchange - zmiana stron czarne/biale
w menu opecje:
- Load State
- Save State