-ããããå¿ããªãã§ãã ããïŒ
ããªãã¯é£Œããªããããã¹ãŠã®äººã«æ°žé ã«è²¬ä»»ããããŸã...
ã¢ã³ãã¯ãŒãã»ãã»ãµã³=ãã°ãžã¥ããªã æã®çåã㟠ã
äœãããªã人ã ããééã£ãŠããŸããã æéãçµã€ã«ã€ããŠããšã©ãŒãèç©ãããŸãã ç§ãèšããããšã¯ãçŸåšãã ã¯ã©ã³ã¿ã ããã¯ã¿ãã¯ã㌠ã ã ãã§ããŸããŸãªãšã©ãŒã«ã€ãªããçŽ12ã®ãŠãŒã¹ã±ãŒã¹ãæå ã«ããããããã«å¯ŸåŠãã粟ç¥ããŸã£ãããªãããšã§ãïŒã³ãŒãã¯æ¬åœã«å°çã§ã ïŒã ããããæã ç§ã¯äœããä¿®æ£ããã®ã«æéãããããŸãã ãããŠãããªãã¯äœãç¥ã£ãŠããŸããïŒ å€ãééããä¿®æ£ããããšã¯ãæ°ããééããäœæããããšãšåããããé¢çœãã§ãïŒ
æ°ããæãçãå€ããŠã«
Urã¯ç§ã®æåã®ã²ãŒã ã®1ã€ã§ãïŒ Zillions of Gamesã§ãªããã°ã Axiomã§ã 確å®ã§ã ïŒã ããã¯ãããŒãã²ãŒã ãžã®æ ç±ãå§ããã²ãŒã ã§ãïŒ ãã¡ãããç§ãã¡ã¯ãã«ããã¬ãŒã® å建ã«ã€ããŠè©±ããŠããã®ã§ã¯ãããŸããã 圌ãã®ãã¹ãŠã®é·æã«ã€ããŠããããã®å°é家ã¯ãæããã«ããã£ãã«ããŒãã²ãŒã ããã¬ã€ããŸããã§ããïŒãããã«ãããç¬èªã®ã«ãŒã«ã«ãã£ãŠïŒã ç§ã®æèŠã§ã¯ããã®ã²ãŒã ã®ã«ãŒã«ã®å¯äžã®ãã¬ã€å¯èœãªããŒãžã§ã³ã¯ã Dmitry Skiryukã«ãã£ãŠéçºãããŸãã ã
ã²ãŒã ã¯æãããã§ãã
幞ããªããšã«ã Nomad1ã¯ã»ãŒããã«åµé çãªããã»ã¹ã«é¢äžããããã«ãªãã Androidããã³iOSåãã®ã²ãŒã ã®åªããå®è£ ãéçºããŸããã Habrã®å¥ã®èè ãéçºã«åå ããããšã«æ³šæããŠãã ããã 1eqinfinityã«ãã£ãŠäœæãããåªããé³æ¥œããŒãããªããã°ãã²ãŒã ã®é°å²æ°ã¯ååã«ãªããŸããã§ããã AndroidããŒãžã§ã³ã®ãªãœãŒã¹ã¯ZoGããŒãžã§ã³ã®å€èŠ³ãå€§å¹ ã«æ¹åããŸããããéèŠãªç¹ã®1ã€ã¯æ±ºããŠäžããããŸããã§ããã
ããã¯ãã¹ãŠæ°åã®ãã¹ã¿ãã¯ãã«ã€ããŠã§ã
Dmitry Skiryukã«ãã£ãŠææ¡ãããã«ãŒã«ã«ããã°ãããŒãäžã«ã¯æ倧4ã€ã®ã²ãŒã ãããããéããŠãåãä»ããããšãã§ããããã€ãã®äœçœ®ããããŸãã ãã®ãããªã¹ã¿ãã¯ã¯ã LIFOã®åçã«åŸã£ãŠåäœããŸããæåã«ããããå
¥ã£ããããã¯æåŸã«æ®ããŸãã ãã®ã¡ã«ããºã ã«ãããæµãããã®åé²ãé
ãããèªåã®ãããã§ãæ¡ãç· ãããããšãã§ããŸãã ããã«ããåé¡ãçºçããŸããã Zillions of Gamesã¢ãã«ã§ã¯ãåããŒããã£ãŒã«ãã«1ã€ã®ããŒã¹ããå«ããããšãã§ããŸããã
ãã®å¶éã«ééããã®ã¯ãããåããŠã§ã¯ãªãã察åŠæ¹æ³ãç¥ã£ãŠããŸãã ã ãã©ãŒã«ã¹ ããªã©ã®äžéšã®ã²ãŒã ã§ã¯ããåæããã£ã®ã¥ã¢ã䜿çšã§ããŸããããã¯ãäºãã«ç©ã¿éãããããã£ã®ã¥ã¢ã®ãã¹ã¿ãã¯ãã§ãã åæ§ã®ã¢ãããŒãããã³ã«ãªã§ã䜿çšãããŠããŸã ã æ®å¿µãªããããã®æ¹æ³ã¯Urã«ã¯é©çšã§ããŸãã;ããŸãã«ãå€ãã®çš®é¡ã®å³ãå®çŸ©ããå¿ èŠããããŸãã å¥ã®ã¢ãããŒãã¯ããã¹ã¿ãã¯ãããŒã¹ãããŒãã®å€ã®ç¹å¥ã«ããŒã¯ãããäœçœ®ã«ãã€ã®éã«ã移åããããšã§ãïŒ Rhythmachiaã§è¡ãããããã« ïŒã
ãã®å¶éã«ééããã®ã¯ãããåããŠã§ã¯ãªãã察åŠæ¹æ³ãç¥ã£ãŠããŸãã ã ãã©ãŒã«ã¹ ããªã©ã®äžéšã®ã²ãŒã ã§ã¯ããåæããã£ã®ã¥ã¢ã䜿çšã§ããŸããããã¯ãäºãã«ç©ã¿éãããããã£ã®ã¥ã¢ã®ãã¹ã¿ãã¯ãã§ãã åæ§ã®ã¢ãããŒãããã³ã«ãªã§ã䜿çšãããŠããŸã ã æ®å¿µãªããããã®æ¹æ³ã¯Urã«ã¯é©çšã§ããŸãã;ããŸãã«ãå€ãã®çš®é¡ã®å³ãå®çŸ©ããå¿ èŠããããŸãã å¥ã®ã¢ãããŒãã¯ããã¹ã¿ãã¯ãããŒã¹ãããŒãã®å€ã®ç¹å¥ã«ããŒã¯ãããäœçœ®ã«ãã€ã®éã«ã移åããããšã§ãïŒ Rhythmachiaã§è¡ãããããã« ïŒã
Urã®æåã®ããŒãžã§ã³ã§ã¯ãããã¯ãããå³åœ¢ãé ããç®ã«èŠããªããã£ãŒã«ãã«ç§»åããŸããã äžçªäžã®ããããæ®ã£ãããã¹ã¿ãã¯ããããŒã¹ãäžåºŠã«1ã€ãã€å ã®å Žæã«æ»ããŸããã æ®å¿µãªããšã«ãå¯èŠæ§ã¯æãªãããŸããã ãã®ãããªãããããã¥ãŒãã§ã¯ããããã¯ããŠã³ãããããšãã«ããŒãã®ç¶æ³ãåºå¥ããããã«ãã«ãŒã«ãããç解ããå¿ èŠããããŸããã æè¿ã§ã¯ããã®åé¡ããªããšã解決ã§ããŸããã
ç§ã¯ãã«ãã¯ã§å§ããŸãã
ç§ã¯é·ãéãã®ã²ãŒã ãäœãããã£ãã§ãã Pulukã§ã¯ãããããç©ã¿éããããšãã§ããŸãããFocusãšã¯ç°ãªããã¹ã¿ãã¯ã®ãµã€ãºã«å¶éã¯ãããŸããã ãåæãããŒã¹ã䜿çšããããšã¯äžå¯èœã ã£ãããããããã«ãªãŒããŒã©ããããŠã¿ã€ã«ã¿ã€ã«ãæããšããã¢ã€ãã¢ãçãŸããŸããã ãããŠããã§ãç§ã¯å¥ã®ã²ãŒã ããã®ææã«å€ãå©ããããŸããã å®éãZRFã®ããŒãã¯2ã€ã®æ¹æ³ã§å®çŸ©ã§ããŸãã ã°ãªãããå®çŸ©ããæãç°¡åãªæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
幞ããªããšã«ãç¶æ³ãä¿®æ£ããæ¹æ³ããããŸãïŒ ãã®å°ããªã¹ã¯ãªããã¯ãChaseã§ãã€ãŠç§ãå©ããŠãããŸããã ããã¯ããŸãæ£ãããããŸãããè² ã®æ°ãšè€æ°ã®ã°ãªããèšè¿°ã§ã¯æ£ããåäœããŸããããæéãå€§å¹ ã«ç¯çŽã§ããŸãã ã²ãŒã ãé©çšãããšã次ã®ããã«ãªããŸãã
ç§å¯ã¯ç°¡åã§ã-çŸåšãåããžã·ã§ã³ã¯åå¥ã«èª¬æãããŠããŸãã äœçœ®ã®èšè¿°ã®é åºã¯ãäºãã«ãéãªãåããã¿ã€ã«ã®zã·ãŒã±ã³ã¹ã決å®ããŸãã
æ®å¿µãªãããPulukã«åºæã®æ°åã®ã°ã«ãŒãåºæã®åãã«ãããç»åã¯å£ããŠããŸãã èŠãããå³ã¯2çªç®ã«ç§»åãããã¬ãŒã€ãŒã移åããå³ãããé ãæç»ãããŸãã ããã§ã¯äœãã§ããŸããããããZillions of Gamesã®ä»çµã¿ã§ãã
Pulukã¯ããã®ãããªæ°åã®è¡šç€ºæ¹æ³ã«ã¯é©ããŠããŸããã ãããããŠã«-æ¥ãŠããŸãïŒ
(grid (start-rectangle 0 54 50 104) (dimensions ("a/b/c/d/e/f/g" (18 0)) ; files ("10/9/8/7/6/5/4/3/2" (0 50)) ; ranks ) )
18ïŒæ¬åŒ§å
ïŒã¯ãæ°Žå¹³äœçœ®ãå€åãããšãã«åœ¢ç¶ã¿ã€ã«ãã·ãããããªãã»ããã§ãã ã¿ã€ã«èªäœã®å¹
ã¯30ãªã®ã§ãããŒã¹ã¯äºãã«ãéãªãããŸãã èŠãç®ãããŸãè¯ããããŸããïŒ
幞ããªããšã«ãç¶æ³ãä¿®æ£ããæ¹æ³ããããŸãïŒ ãã®å°ããªã¹ã¯ãªããã¯ãChaseã§ãã€ãŠç§ãå©ããŠãããŸããã ããã¯ããŸãæ£ãããããŸãããè² ã®æ°ãšè€æ°ã®ã°ãªããèšè¿°ã§ã¯æ£ããåäœããŸããããæéãå€§å¹ ã«ç¯çŽã§ããŸãã ã²ãŒã ãé©çšãããšã次ã®ããã«ãªããŸãã
ç§å¯ã¯ç°¡åã§ã-çŸåšãåããžã·ã§ã³ã¯åå¥ã«èª¬æãããŠããŸãã äœçœ®ã®èšè¿°ã®é åºã¯ãäºãã«ãéãªãåããã¿ã€ã«ã®zã·ãŒã±ã³ã¹ã決å®ããŸãã
(positions ... (g5 108 304 158 354) (f5 90 304 140 354) (e5 72 304 122 354) (d5 54 304 104 354) (c5 36 304 86 354) (b5 18 304 68 354) (a5 0 304 50 354) ... )
æ®å¿µãªãããPulukã«åºæã®æ°åã®ã°ã«ãŒãåºæã®åãã«ãããç»åã¯å£ããŠããŸãã èŠãããå³ã¯2çªç®ã«ç§»åãããã¬ãŒã€ãŒã移åããå³ãããé ãæç»ãããŸãã ããã§ã¯äœãã§ããŸããããããZillions of Gamesã®ä»çµã¿ã§ãã
Pulukã¯ããã®ãããªæ°åã®è¡šç€ºæ¹æ³ã«ã¯é©ããŠããŸããã ãããããŠã«-æ¥ãŠããŸãïŒ
ãŠã«ã§ã¯ãæ°åã¯ã°ã«ãŒãã§ç§»åããŸãã ã åäžã®ãããã¯ãããã€ã«ãã®äžïŒäžéšã®ããŒããã£ãŒã«ãäžïŒã«é 眮ããããšããããã€ã«ãã®äžéšããé¢ããããšãã§ããŸãã ãã®ç¹ã§ããUrãã®ã²ãŒã ã®ã«ãŒã«ã¯ãéžæããã¢ãããŒãã«æé©ã§ãã å¯äžã®ããšã¯ãããŒãäžã®äœçœ®ãæ£ãã決å®ãïŒäœçœ®ã®äžéšãäžäžã«æ°ãã¯ã»ã«ç§»åããããšã«ããïŒãããããæ¥ç¶ããããšã§ãïŒ
ã¢ãããŒãã¯æ©èœããŸãããå Žåã«ãã£ãŠã¯ç¶æ³ã厩ããŸãã
äžè¬çã«ãããã§ã¯ãã¹ãŠãæ確ã§ãã ãéæãªãè²ã§éšåçã«æãããé·æ¹åœ¢ã®ã¿ã€ã«ãæ±ã£ãŠããŸãããZoGããéæãªãè²ãæããšãåãå Žæã«éãªãå³åœ¢ã§ã¯ãªããããŒãã®ç»åïŒèæ¯ç»åïŒã®äžéšãåããŸãã ã MarGo ãã®å³ãæããŠãããšãã«ãã§ã«ããã«ééããŠããããã®å¯ŸåŠæ¹æ³ãç¥ã£ãŠããŸãã ããªããããå¿ èŠãããã®ã¯ãã·ã§ãŒãã£ã³ã°ãããå³äžé ã§è¿œå ã®ã¿ã€ã«ãæãããšã§ãã å¡ãã€ã¶ãã®è²ã¯ãäžã®å³åœ¢ã®è²ãšäžèŽããå¿ èŠããããŸãã
æ®å¿µãªãããåé¡ã¯ã°ã©ãã£ãã¯ãªãœãŒã¹ã®æºåã«éå®ãããŸããã å®éãZillions of Gamesã·ã§ã«ã¯ãäœåãªãäœæ¥ãã奜ãŸãªããã®ã§ãã 1ã€ã®å³åœ¢ã移åããŠããä»ã®å³åœ¢ã¯åæç»ãããŸããã 移åã®ã¢ãã¡ãŒã·ã§ã³ã®åŸãå³åœ¢ã¯æ°ããäœçœ®ã«åçŽã«æç»ãããå€ãäœçœ®ã¯ïŒåã³ïŒããŒãã®èæ¯ç»åã®é·æ¹åœ¢ã®æçã§å¡ãã€ã¶ãããŸãã ãã·ã¹ãã ãã ãŸããæ¹æ³ããããŸãã ã¹ã¿ãã¯ã®äžçªäžããéå§ããŠããã¹ãŠã®å³ã®åæç»ããã¡ããã©ãéå§ããå¿ èŠããããŸãã
ããã¯èŠãç®ã§ã
(define refresh (if (im-white?) (if friend? (create White $1) else (create Black $1) ) else (if friend? (create Black $1) else (create White $1) ) ) ) (define check-refresh (if (on-board? down) (if (or (and (flag? is-enemy?) not-enemy?) (and (not-flag? is-enemy?) enemy?) ) (refresh $3) else (refresh $2) ) else (refresh $1) ) ) (define pre-action ... (if (on-board? down) mark down (while (and (on-board? up) (not-empty? up)) (if (or (piece? King) (piece? KingE) (piece? KingF)) (check-refresh King KingF KingE) else (check-refresh Man ManF ManE) ) (set-flag is-enemy? enemy?) up ) back ) )
å®éããã¹ãŠã®ããã€ã«ãããŒã¹ã¯ããããããããåé€ããåãã®äžéšãšåãã¿ã€ãã§åäœæãããŸãã ããã¯å®å šã«æ©èœãããœãªã¥ãŒã·ã§ã³ã§ãã ãã¡ãããã¢ãã¡ãŒã·ã§ã³ã泚ææ·±ãç£èŠãããšãããããåãå€ããšãã«ç»åãçæéç Žå£ããããããè§ããå¡ãã€ã¶ãããç¶æ ã§ãã£ã®ã¥ã¢ãåããã¢ãã¡ãŒã·ã§ã³ã«æ°ã¥ããŸããã移åã®çµããã«ãç»åã¯ããªã蚱容ã§ããç¶æ ã«åŸ©å ãããŸãã ããããããã¯ãZillions of Gamesã«ãã£ãŠéæã§ããæé«ã®ãã®ã§ãã
æ®å¿µãªãããå¥ã®åé¡ããããŸãã
é»è²ã®é·æ¹åœ¢ã¯ã圢ç¶ã«é¢é£ä»ããããé åã§ãã ããã€ã«ãã§ã¯ãäžéšã®é åãäžéšã®é åãšéãªã£ãŠããããšãããããŸãã ãããåé¡ã§ãã å±±ã®æ ¹å ã«ãããããããã¯ãªãã¯ãããã«ã¯ãããŠã¹ãæ°ãã¯ã»ã«å¹ ã®çãã¹ããªããã«å ¥ããå¿ èŠããããŸãã ããŠã¹ã«ãŒãœã«ã¯ããã«å°ã圹ç«ã¡ãŸãã移åãå®äºããããšãã§ããããŒã¹ã®äžã«ã«ãŒãœã«ãåããããšåœ¢ç¶ãå€ãããŸããã倧ããªåŸ ã¡äŒãããããŸãã
Zillions of Gamesã·ã§ã«ã¯ãããªãæ±ãã«ããUIé¢é£ãªãã·ã§ã³ããµããŒãããŠããŸãã ãã¹ããŒãã ãŒãããæå¹ã«ãããšããã¬ãŒã€ãŒã¯ããŠã¹ã§ããŒãäžã®ããŒã¹ããã©ãã°ããå¿ èŠããªããªããŸãã åäžã®ç§»åãå®è¡ã§ããããŒã¹ãã¯ãªãã¯ãããšããã©ãã°ã¢ã³ããããããªãã§ç§»åãèªåçã«å®è¡ãããŸãã Hurrayã®å Žåãããã¯éåžžã«äŸ¿å©ã§ãïŒãã ãããã§ã¹ã§ã¯ãããã§ãªãå ŽåããããŸãïŒã ãã ãããã®ãªãã·ã§ã³ã«ã¯æ¬ ç¹ããããŸãã1åã®ç§»åã§å®è¡ã§ãã空ã®ãã£ãŒã«ããã¯ãªãã¯ãããšããã®ç§»åãå®è¡ãããŸãã ããã§ã3ã€ã®æ°åã®ã¹ã¿ãã¯ãæ³åããŠãã ããã äžéšã®é·æ¹åœ¢ã®é¢ç©ã¯2ãã¯ã»ã«ã®è§ãããå€§å¹ ã«å€§ããããã®äžã§ç§»åãå¯èœãªå Žåããããã«éããŠããæããããå šäœã§ç°¡åã«æåã«ã€ãªããå¯èœæ§ããããŸãã
é»è²ã®é·æ¹åœ¢ã¯ã圢ç¶ã«é¢é£ä»ããããé åã§ãã ããã€ã«ãã§ã¯ãäžéšã®é åãäžéšã®é åãšéãªã£ãŠããããšãããããŸãã ãããåé¡ã§ãã å±±ã®æ ¹å ã«ãããããããã¯ãªãã¯ãããã«ã¯ãããŠã¹ãæ°ãã¯ã»ã«å¹ ã®çãã¹ããªããã«å ¥ããå¿ èŠããããŸãã ããŠã¹ã«ãŒãœã«ã¯ããã«å°ã圹ç«ã¡ãŸãã移åãå®äºããããšãã§ããããŒã¹ã®äžã«ã«ãŒãœã«ãåããããšåœ¢ç¶ãå€ãããŸããã倧ããªåŸ ã¡äŒãããããŸãã
Zillions of Gamesã·ã§ã«ã¯ãããªãæ±ãã«ããUIé¢é£ãªãã·ã§ã³ããµããŒãããŠããŸãã ãã¹ããŒãã ãŒãããæå¹ã«ãããšããã¬ãŒã€ãŒã¯ããŠã¹ã§ããŒãäžã®ããŒã¹ããã©ãã°ããå¿ èŠããªããªããŸãã åäžã®ç§»åãå®è¡ã§ããããŒã¹ãã¯ãªãã¯ãããšããã©ãã°ã¢ã³ããããããªãã§ç§»åãèªåçã«å®è¡ãããŸãã Hurrayã®å Žåãããã¯éåžžã«äŸ¿å©ã§ãïŒãã ãããã§ã¹ã§ã¯ãããã§ãªãå ŽåããããŸãïŒã ãã ãããã®ãªãã·ã§ã³ã«ã¯æ¬ ç¹ããããŸãã1åã®ç§»åã§å®è¡ã§ãã空ã®ãã£ãŒã«ããã¯ãªãã¯ãããšããã®ç§»åãå®è¡ãããŸãã ããã§ã3ã€ã®æ°åã®ã¹ã¿ãã¯ãæ³åããŠãã ããã äžéšã®é·æ¹åœ¢ã®é¢ç©ã¯2ãã¯ã»ã«ã®è§ãããå€§å¹ ã«å€§ããããã®äžã§ç§»åãå¯èœãªå Žåããããã«éããŠããæããããå šäœã§ç°¡åã«æåã«ã€ãªããå¯èœæ§ããããŸãã
ããŒãã¹ãšããŠãäºæãã¬èŽãç©ãåãåããŸããã äžè¬çã«ãZRFã®åŸã«AxiomããŒãžã§ã³ãæžãçŽãäºå®ã§ããããå¿ èŠãããŸããã§ããïŒ ã²ãŒã ããžãã¯ãç°¡çŽ åããããããAIã¯ã²ãŒã ã«ãããã察å¿ã§ããããã«ãªããŸããã 圌ã¯æã ç§ã«åã¡ãã»ãšãã©ã®å Žåããã£ã1ã€ã®ãããã䜿ãæéããªããšèšãã ãã§ååã§ãã ãŸã AndroidããŒãžã§ã³ãããæªãã§ãããããã§éã¶ã®ã¯ãã§ã«ãšãŠã楜ããã§ãã
ã象ãã®ç©ã
ããã¯ç§ã®ééãã§ã¯ãããŸããã§ããããç§ã®æã¯éåžžã«ããã¿ãæããŸããã çç±ã¯ããããŸããã ããã¯ã ã€ãã¥ãªã®ãã°ããŒã®éã§äººæ°ããããšæããããããªãç¬åµçãªãã§ã¹ã®ãããªã²ãŒã ã§ãã èè ã«ãããšããã®ã²ãŒã ã®èª¬æã¯ã1821幎ã®ãã©ã³ã¹ã®å®£æåž«ã¢ãŒãªã¹ã¢ã«ãœãŒã®æ¥èšã§å人ã«ãã£ãŠçºèŠãããŸããã
ãšã¬ãã¡ã³ããã³ãã®ã²ãŒã ã«é¢ããæåã®èšåã¯ã1821幎ã«ã€ãã¥ãªã®æ£®ãžã®ä»»åäžã«è·¡åœ¢ããªãæ¶ãããã©ã³ã¹ã®å®£æåž«ãã¢ãŒãªã¹ã¢ã«ãœãŒã®ç¶èŠªã®æ¥èšã§èŠã€ãããŸããã æ¥èšãå«ã圌ã®ç§ç©ã¯ã人é¡åŠã®é åŸã«ãã£ãŠäººé£ãã®æã§åŸã«çºèŠãããŸããã
æ®å¿µãªãããèè ã®åæ§ç¯ã®ã¿ãæ±ã£ãŠããŸãã ã²ãŒã ã®èª¬æã¯æããã«äžå®å šã§ããããœãŒã¹ã«ã¢ã¯ã»ã¹ã§ãããå人ãšã®é£çµ¡ã¯ãã®åŸå€±ãããŸããã ç¹ã«ãã²ãŒã ãã ä¹éŠ¬ ãã®åãã䜿çšããŠãããã©ããã¯çãããã§ãã
èè ã¯ã象ããã°ããŒã®10x10ãã£ãŒã«ãããååã«éããã5x5ãã£ãŒã«ãã«ç§»åãããã°ããŒãããã§ã¹ã®éšå£«ã®ããã«è·³ãåããããšã§ç§»åããããšãèšåããŸããããç§ã¯å®éã«åœŒããäœã£ããšã¯æããŸãããã€ãã ãŒããããã¯äžçš®ã®æœè±¡çã§ãã ãããããã°ããŒã¯è²ãæçžãããŠãããšåãŠãªãå¯èœæ§ããããããä»ã®å¯èœãªéžæè¢ïŒDãAãªã©ïŒã¯åé¡å€ã®ããã§ãã
ã¡ãªã¿ã«ããã®åŒçšã¯ã ã©ã«ãã»ãããã¡ã®ãé¢çœãèšæ³ããã䜿çšããŠããŸãã ãã®ã²ãŒã ã«èå³ãããã®ã¯ãªãã§ããïŒ ãããç解ããŠã¿ãŸãããã
2ã€ã®ç°ãªããµã€ãºã®ãã£ã®ã¥ã¢ã䜿çšããçããã²ãŒã ã®1ã€ããããŸãã 象ã¯å€§ããªæ°åã§ãããŒãã®4ã€ã®ãã£ãŒã«ããããã«å æããŸãã çŽäº€ã«æ²¿ã£ãŠã倧ããªãã¹ãããã1ã€ç§»åãã4ã€ã®ã¿ãŒã²ããã»ã«ã«ãããã¹ãŠã®ãã®ããæŒãã€ã¶ããããšãã§ããŸãã 圌ã¯ãã銬ãã«ãã£ãŠåããŠããããã°ããŒããšã8ã€ã®åŽé¢ã®ããããã§1ã€ãŸãã¯2ã€ã®ã»ã«ã§åããŠãã1ã€ã®ãã·ã£ãŒãã³ãã«å察ããŠããŸãã
ãã¡ããããå°ããªãå³ã¯ãã象ããå æããã»ã«ã«ç§»åããããšã¯ã§ããŸããïŒããã¯åçŽãããŸãïŒã 象ã¯ããã®äžã®ãã¹ãŠã®ãã£ãŒã«ããæ»æããããšããæ¡ä»¶ã§ã®ã¿ãé£ã¹ããããšãã§ããŸãïŒ èè èªèº«ã¯ãã ãã©ãã¯ã¹ãšã®ãŒã¹ ããšé¡ãããäžäžã®ãšãŒãããã®ã²ãŒã ãšé¡äŒŒããŠããŸãã æªãèãã§ã¯ãããŸããããæ®å¿µãªãããå®è£ ã¯ç§ãã¡ã倱æãããŸããã
ããã€ãã®ã³ãŒã
(define Ele-shift ( $1 (verify not-friend?) (verify (not-friend? ul)) (verify (not-friend? ur)) (verify (not-friend? dl)) (verify (not-friend? dr)) (set-attribute vulnerable? (and (attacked? ul) (attacked? ur) (attacked? dl) (attacked? dr))) (capture ul) (capture ur) (capture dl) (capture dr) add )) (define Shaman-shift2 ( $1 (if empty? add $2) (verify (and not-friend? (or (empty? c) (vulnerable? c)))) (if (not-empty? c) (capture c)) add ))
ããã«ã¯2ã€ã®ãšã©ãŒããããŸãã 1ã€ã¯æ»æçã§ããããã1ã€ã¯åºæ¬ã§ãïŒ ç¬¬äžã«ãå®å šã«äºæ³å€ã«ãã·ã£ãŒãã³ã¯å€ç¬ãªè±¡ãæ»æããããšãã§ããŸãïŒåæã«ããŸã£ããäºæ³éããçµµããå£ããïŒã åæã«ã圌ã¯è±¡èªäœãé£ã¹ãããã®äžã®ã±ãŒãžãåã«å æããŸãã
æªã®æ ¹æºã¯ããã«ãããŸãïŒ
(if empty? add ...)
ã»ã«ã空ã®å Žåããã®äžã«ç«ã¡ãŸãïŒãããŠå ã«é²ã¿ãŸãããããã¯å¥ã®çŸå®ã§ãïŒã ç§Theã¯ãã象ã®äžãã®ã»ã«ãæ¬åœã«ç©ºã§ããããšã§ãã ããã¯å¥ã®ã°ãªããã«ãããå°ããããã¹ãŠã®æ¬²æ±ã§ã象ãã¯ããã«åãŸããªãã§ãããã ãããä¿®æ£ããã®ã¯ãšãŠãç°¡åã§ãïŒ
(define my-empty? (and not-friend? (or (empty? c) (vulnerable? c))) ) ... (if (my-empty?) (if (not-empty? c) (capture c)) add $2) ...
ããã«ãã£ãšïŒ
ãã®ãããªç°¡åãªæ¹æ³ã§ãã·ã£ãŒãã³ãé€ãšããŠäœ¿çšãããšãäžäººã®ãã°ããŒãè±¡å šäœãåãããšãã§ããŸãïŒ ãã¡ãããããã¯èè ãæå³ãããã®ã§ã¯ãããŸããã ãããããªããããèµ·ãã£ãã®ã§ããïŒ å®éããã¹ãŠãã·ã³ãã«ã§ãã 象ã¯ããããç«ã£ãŠãã4ã€ã®ã»ã«ãã¹ãŠãæ»æãåããŠããå Žåã«æç²ã§ããŸãã ã³ãŒããèŠãŠã¿ãŸãããïŒ
(set-attribute vulnerable? (and (attacked? ul) (attacked? ur) (attacked? dl) (attacked? dr)))
ãã¹ãŠãéåžžã«éæã§ãããããã°ããŒãã®ã¿ãã²ãŒã ã«åå ããå Žåã§ãæ©èœããŸãã ã銬ã®åããã§æŠéãè¡ããš ã圌ãã¯èªåããã2x2ã®ãã¹ã®ãã£ãŒã«ããæ»æããŸãã ã ã·ã£ãŒãã³ã¯å¥ã®åé¡ã§ãïŒ åœŒã¯ãèªåãç«ã£ãŠããåºå Žã®4ã€ã®ãã£ãŒã«ãã®ãã¡3ã€ããã«ããŒãããŸãã ã·ã£ãŒãã³èªèº«ãäœçœ®ãããã©ããã®æºåãã§ããŠãããã£ãŒã«ãããã«ããŒãããããã«æ®ã£ãŠããŸãã ã·ã£ãŒãã³ãé£ã¹å°œããããŠãæ§ããŸãã-è匱æ§å±æ§ã¯ãã§ã«èšå®ãããŠããã次ã®åãå šäœãæå¹ã«ãªããŸãïŒ
ãšã©ãŒãç解ããããç°¡åã«ä¿®æ£ã§ããŸãã ãããèªäœã¯ããªãåé·ã§ããããã®æ¬è³ªã¯åçŽã§ãã æ»æãããè¿°èªã®äœ¿çšãæåŠããŸããïŒ ãã®ã²ãŒã ã§ã¯ïŒããã«ã¯åãŸããŸããïŒæåãã§ãã¯ã«çœ®ãæããŸãã ããæè»ãªã¢ãããŒãã«ããããã·ã£ãŒãã³ããç¹å¥ã«æ±ãããšãã§ããŸãã æ®å¿µãªãããã²ãŒã ã®å€èŠ³ã«ã¯äœãã§ããŸããã ç¶æ³ã¯åžžã«ãç Žå£çãã§ãã ãã®ã²ãŒã ã¯ãZillions of Gamesã«ã¯ããŸãé©ããŠããŸããïŒãã ããã¢ã€ãã¢èªäœã¯ç¢ºãã«èå³æ·±ãã§ãïŒã
æ¯ãè¿ããªãã§ãã ããïŒ
æ°ããã²ãŒã ã«åãçµãéçšã§ãZillions of Gamesãã©ãããã©ãŒã ãããããåŠã³ãŸãã ãããŸã§èããããªãã£ãå šãæ°ãããœãªã¥ãŒã·ã§ã³ãæãæµ®ãã³ãŸãã å€ãã®å Žåãéåžžã«åªããŠãããããä»ã®å€ãã²ãŒã ãä¿®æ£ã§ããŸãã ãã®ãããDmitry Skiryukã®èšäºã® 1ã€ã§ãéåžžã«ç¬åµçãªã²ãŒã ã Duel ãã説æãããŠããããã§ã¹ã®é§ã®ä»£ããã«ãµã€ã³ãã䜿çšãããŠããŸãã
移åãå®è¡ãããšãç«æ¹äœã¯ã移åã®éå§æã«äžé¢ã«æãããã¹ãããæ°ã®éãããŒãã®åšããå転ããŸãã åãã¯çŽç·ã§ã¯ãªããæ¹åã¯ä»»æã«å€æŽã§ããŸãã ã¿ãŒã³ã®çµããã«ç«æ¹äœãäžãåãé¢ã¯ãéå§ç¹ãšçµäºç¹ã ãã§ãªããéžæãã移åçµè·¯ã«ãäŸåãããããããã¯éèŠã§ãã
ããŒãã²ãŒã ã§ã¯ãåæ§ã®çš®é¡ã®åãïŒãããã段éã§æ¹åãå€ããå¯èœæ§ããããŸãïŒãéåžžã«äžè¬çã§ãã ãããšã Ko Shogi ãã®ThunderclapããããŠã Nine-Tile Cyvasse ãã®ãã£ã®ã¥ã¢ã®éããªåããªã©ã ããã«é¢é£ããäž»ãªåé¡ã¯ã以åã«å®äºãããã£ãŒã«ããžã®æ»ããçŠæ¢ããå¿ èŠãããããšã§ãã æ倧è·é¢ã3ã¹ããããè¶ ããªãå ŽåïŒClaude Leroyã®ã ãã ãã²ãŒã ã®ããã«ïŒã移åæ¹åãæ£å察ã«å€æŽããããšãçŠæ¢ããã®ã«ååã§ãïŒãã®ãããZRFã«ã¯ã æåŸã§ã¯ãªãçŽ æŽãããè¿°èªããããŸãïŒ ïŒã
å³å¯ã«èšãã°ã圌ã¯ãã€ãæãããã§ã¯ãããŸãã
ZRFã§ã®Manaã®å®è£
ã§ã¯ããã®ææ³ã¯æ©èœããŸãããã²ãŒã ãç°åžžçµäºããå¯èœæ§ããããŸãã ã²ãŒã ã§ã¯ã1ã€ãŸãã¯2ã€ã®æåã®éšåçãªåããè¡ãæ¢ãŸãã«ãªããããããæãåºããªãç¶æ³ã«ãªãå¯èœæ§ã¯ãããŸãããããããã«ãããŸããã ããã¯ãåéšåçãªåããç¬ç«ããŠãããä»ããç¬ç«ããŠãããšèããããããã§ãã äœçŸäžãã®ã²ãŒã ã¯ããã¶ã€ããããŸã§åé¡ãèŠãããšãã§ããŸããã Jocly㯠ãã³ã³ããžããå
šäœã®åããå
šäœãšèŠãªããããæ£ç¢ºãªå®è£
ãæ§ç¯ã§ããŸãã
ã·ã§ã€ãã3ã¹ããã以äžç§»åã§ããå Žåã æåŸããã§ã¯ãªãã§ããïŒ ãã§ã«ä¿åãããŠããŸããã 以åã«å ¥åãããã¹ãŠã®ãã£ãŒã«ããäœããã®æ¹æ³ã§ããŒã¯ããå¿ èŠããããŸãã ZRFã§ã¯ãããŒã«å€ã®ãã£ãŒã«ãã«ãã€ã³ãããããã«ããããããäœçœ®ãã©ã°ãã䜿çšãããŸãã æ®å¿µãªããããããã¯ã²ãŒã ã®ç¶æ ã®äžéšã§ã¯ãªããåéšå移åã®éå§æã«èªåçã«ã¯ãªã¢ãããŸãã
ãã¡ãããåºå£ããããŸã
(define clear-mark mark a0 (while (on-board? next) next (if (and enemy? (piece? Mark)) capture ) ) back ) (define step ( (create Mark) $1 (verify (my-empty?)) (clear-mark) (add-partial $2 $3) ))
蚪åãããã£ãŒã«ãã«ã¯ãç®ã«èŠããªãæ°åãé 眮ã§ããŸãïŒãããã£ãŠããããã¯ç¢ºãã«å·ã®äžéšã§ãïŒã äž»ãªããšã¯ãããããæééãã«åé€ããããšãå¿ããªãããšã§ãïŒ ãã®ãã¯ããã¯ã¯éåžžã«çšéãåºããããå€ãã®ãŸã£ããç°ãªãã²ãŒã ã§åœ¹ç«ã¡ãŸãã ãŸãã ãµã«ã¿ããã©ããŒã¹ãªã©ãããããçš®é¡ã®ç§»è¡ã²ãŒã ãæãæµ®ãã³ãŸãããããã¯ãã«ãæã®ã²ãŒã ã«éå®ãããŸããã åãææ³ã«ãããã Luzhanqi ããšé·æã®ã Ossetian Checkers ãã®ã皌åäžãç¶æ ãå®çŸã§ããŸãã ã
ããšããã®ä»£ããã«...
ãã©ããã«ã€ããŠã®äŒè©±ãç¶ãããšããééãã«é¢ããäœæ¥ãã¯åžžã«çŽç²ã«æè¡çãªåé¡ã«éå®ããããã®ã§ã¯ãªãããšã«æ³šæããŠãã ããã éåžžã«é »ç¹ã«ãã²ãŒã ã«åãçµãéçšã§ãç§ã¯äœãæ°ããããšãåŠã³ãŸãã æã ããã®ãããªã詳现ããã²ãŒã ã«é¢ããç§ã®ãã¹ãŠã®ã¢ã€ãã¢ãã²ã£ããè¿ããæ°ããæ¹æ³ã§ãããèŠãããã«åŒ·å¶ããŸãã äŸãšããŠãã ãã«ã³ã®èæ¡ ãã®æãèå³æ·±ãçš®é¡ã®1ã€ã«ã€ããŠã話ããããšæããŸãã
ãã®ã²ãŒã ã¯ããŒã¬ãŒã³ã§è¡ãããŸãã ããã«ã³ã®èæ¡ãã®ãã¹ãŠã®èŠåã«åŸããŸãã å ã®ã²ãŒã ã«ã¯ãªãæ°ããã«ãŒã«ã1ã€ã ãå°å ¥ãããŠããŸãã ãã®ã«ãŒã«ã¯éåžžã«ç°¡åã«å®åŒåãããå Žåã«ãã£ãŠã¯ã²ãŒã ã®æ§è³ªã«å€§ããªåœ±é¿ãäžããããçµã¿åããããããªããŸãã ç§ã«ãšã£ãŠãããã¯éåžžã«äºæãã¬èå³æ·±ãçºèŠã§ããã ã²ãŒã ãèšé²ããããšã§ããããäœã§ããããå€æã§ããŸããïŒ
çã
ã«ãŒã«ã¯ç§ãé©ãããŸããã ããŒã¬ãŒã³ã§è¡ããããã®çš®ã®ããã«ã³ãã§ãã«ãŒãã§ã¯ããã§ã¹ã«éåžžã«ãã䌌ããã§ãã¯ã®æŠå¿µãå°å
¥ãããŠããŸãã å³ã®1ã€ãæ»æãããç¶æ³ã¯ããKishãïŒØŽÙïŒãšåŒã°ããŸãã ã«ãŒã«ã¯ãåã®åãã§æµãããªãã®ããŒã¹ã®1ã€ãæ»æããå Žåãæ»æã§å¿çããããšãçŠæ¢ããŸãïŒã€ãŸãããkish ... kishããå®è¡ããŸãïŒã åæã«ãè
åšãæé€ããå¿
èŠã¯ãããŸããã æµãè
ãããªãéããã©ããªåãã§ãå®è¡ã§ããŸãã
ããªã¿ãŒã³ãæ»æã®æŠè¡ã¯ããã«ã³ã®èæ¡ãã§åºã䜿çšãããŠããããããã®ãããªé©æ°ã¯ã²ãŒã ãå€æ§åããã®ã«éåžžã«æ©æã§ãã ãŸãããã©ããã«ã€ããŠæ°ããããšãåŠã³ã ZRFã§è¡šçŸããããšããããšã¯éåžžã«èå³æ·±ããã®ã§ãã ã
ããªã¿ãŒã³ãæ»æã®æŠè¡ã¯ããã«ã³ã®èæ¡ãã§åºã䜿çšãããŠããããããã®ãããªé©æ°ã¯ã²ãŒã ãå€æ§åããã®ã«éåžžã«æ©æã§ãã ãŸãããã©ããã«ã€ããŠæ°ããããšãåŠã³ã ZRFã§è¡šçŸããããšããããšã¯éåžžã«èå³æ·±ããã®ã§ãã ã