PIECES=:;:NAMES=:'LR KN BB QU KI WB KN RR BI'
   S=:s:PIECES  NB. symbols make a pretty display
   ([NAMES) =: S
   A=:(A.~ i.@:!@:#) 8{.S  NB. all anagrams
   position=:A&(i."1)
   lt=:<&position
   white=:(2 | ])@position
   black=:-.@:white

   NB. king surrounded by rooks, white and black bishops.
   B=:((LR lt KI)*.(KI lt RR)*.(black BB)*.(white WB))#A

   NB. whoops!  Bishops are indistinguishable
   C=:(e.&(WB,BB))`(,:&BI)}B

   FISCHER_RANDOM_SETS =: ~. C

   #FISCHER_RANDOM_SETS  NB. Fischer 960 indeed.
960

   8 (] {~ [: ? (# #)) FISCHER_RANDOM_SETS  NB. 8 sampled setups.
`LR `BI `KN `KN `BI `KI `QU `RR
`KN `LR `KN `QU `BI `BI `KI `RR
`LR `BI `KN `KI `BI `RR `KN `QU
`BI `KN `LR `KN `KI `BI `RR `QU
`LR `BI `BI `QU `KN `KN `KI `RR
`KN `QU `KN `BI `BI `LR `KI `RR
`BI `LR `KI `KN `RR `BI `QU `KN
`LR `BI `KI `QU `BI `RR `KN `KN

   NB. Can't tell left from right rooks?  ha ha.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to