From aa836737fbdcbe365a4500f37dce9ac385cbded1 Mon Sep 17 00:00:00 2001 From: d_m Date: Mon, 19 Aug 2024 00:15:28 -0400 Subject: [PATCH] fix subtle auto-move bug --- kodiak.rom | Bin 18463 -> 18494 bytes kodiak.tal | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/kodiak.rom b/kodiak.rom index 98332c27ce564edd9ac4621a580ee0b5d353a766..dfc83fa08ed7b81305327d7ce7c649615629aedc 100644 GIT binary patch delta 926 zcmZWnO=uHA6rR~^wrLWRZPUi6i>@)O(rQhmZGO~rk&10Sw2F!rtV2;xi$6s{Bj{66 z5fM`c6%_TUm!A9~dTFJ^gCK}PD^d^@^k7TCDuP;T={j5g4qo2O_kA<(ee>pB%h7=x z%`Mn`9Uy_e@1Tn~2Jr+E0^e#;szq`Kn;MXKU?;>GIq`>zB2l3ZOh&pL$_?1G42cZe zp`DR!Nasyo%=8@ENV7eI8okmpwkhx#q75jKYKS!;h5UNjOlb?hEN!4e{F8LB>?wRv z;fPl!GA^I6a7CJDUD{l8HY`p6k!KZ1Vd*ecbbCVTvOof3CYt5^o@<9>difmr6wUIR z@(!(tq>yCx4J5rtl8|HM1(KZDVndO~+~+H!Ns-VBLRA75CE85sNzhTAxvOcBPq?j z2gU9>G-`~vOuv$U=vhr^H!tzVBj?yuhgo_KMpPJ8%U}coY8Qk|4a)BeH1%{Gdyw$gdKI8qqwT>bGI=YK*@mI+$nCj-I{H-*bAM&4}bUyD4L?m}f{y-oqs}x)s zyo;zHM@k^5dHI?0Xsnk~Dm%zh*yKJ{VfJNRJeLF*2?p6@R~!5KmJgP9dRpKe$n0YW zPlRf;`})*v3v9R$o(r#44XCCQYQeCo|ET9jLm{spj)!56NB>a6uZHTxhd&QBRTq(p zK@mfCmf06A2s@Ky{3TB^``B+XT;!`NTC`%)`NZAK?sKvu(UVrR3&WySdXmqmoGBSa zUZ|MmE~Z2p{-$D$sAE*_uXO#1<9foe*48_EGJ_lDFT01KFefo-{JNZg4ATnMa4EPoGx%%$lh^o-!Sc? zI4qCWX2&w7WMw1AojL0HPZzz~Qr24vR2*j0_G)PQ45-o&3r!xX8$_uPKT z?OO?ITZbkoF3In6`=aD$v4dQ0$!~M}47I%w&%EYz>DSCy8V*$&P^pahM~8p?$DOzV zZYL-f`nuR9(d%2}81gS+?P9e*sU|7AOdRnqWQEcL|1riCu{KbvsBcQU0`;o6Ruzu- zGsaX5#=MrsM})3%`??`-2LTSjARjr<&cA>ds#@#Wg0E2J?{|xp;py2&#^^l@Z9Ey7 zh|l#HvX}wP!Y8`%eYwS<0=pylEChHkg5x~KV1omq9^>6&aWmW~fBQqYwV_N*PKlhb z-FVZ<4$#9#3+x4VCfk+N7{y`ZU_aei>?m_cR{7#XX614ZOJN%Sin>^TX7alMyv zSy?`3-E&80|xlO>nN1a{ min[x,y]^ ) LTHk JMP SWP POP JMP2r +( to automatically move a card, we need to know that ) +( the alternate suits are both within 2 of its face ) +( value, and that its "parallel" suit is within 3 ) +( ) +( for example, its not safe to auto-play 4h if it ) +( might be needed for 3s, 3c, or 2d. ) @check-auto ( card^ -> ok^ ) DUP #30 AND ( card^ suit^ ) #04 SFT .auto ADD LDZ INC ( card^ base+1^ ) OVR #0f AND EQU ?&ok ( card^ ; base+1=face? ) POP #00 JMP2r ( 0^ ) - &ok DUP #30 AND ( card^ suit^ ) + &ok ( card^ suit^ ) + DUP #30 AND ( card^ ) + #04 SFT INC INC #03 AND ( card^ par^ ) + .auto ADD LDZ #04 ADD ( card^ pface+4^ ) + OVR #0f AND GTH ?&ok2 ( card^ ) + POP #00 JMP2r ( 0^ ) + &ok2 ( card^ ) + DUP #30 AND ( card^ suit^ ) #04 SFT INC #03 AND ( card^ alt1^ ) INCk INC #03 AND ( card^ alt1^ alt2^ ) .auto ADD LDZ SWP ( card^ face2^ alt1^ )