From: Ruby Quiz Date: 2006-12-15T22:50:58+09:00 Subject: [QUIZ] Chess960 (#106) The three rules of Ruby Quiz: 1. Please do not post any solutions or spoiler discussion for this quiz until 48 hours have passed from the time on this message. 2. Support Ruby Quiz by submitting ideas as often as you can: http://www.rubyquiz.com/ 3. Enjoy! Suggestion: A [QUIZ] in the subject of emails about the problem helps everyone on Ruby Talk follow the discussion. Please reply to the original quiz message, if you can. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= by Kieran Wild Chess960, is a chess variant produced by Grandmaster Bobby Fischer by formalizing the rules of Shuffle Chess. Its goal was to create a chess variant in which chess creativity and talent would be more important than memorization and analysis of opening moves. His approach was to create a randomized initial chess position, which would thus make memorizing chess opening move sequences far less helpful. The initial position is set up in a special way and there are 960 such positions, thus the name Chess960. The starting position for Chess960 must meet certain rules. White pawns are placed on the second rank as in chess. All remaining white pieces are placed randomly on the first rank, but with the following restrictions: * The king is placed somewhere between the two rooks. * The bishops are placed on opposite-colored squares. The black pieces are placed equal-and-opposite to the white pieces. For example, if the white king is placed on b1, then the black king is placed on b8. Note that the king never starts on file a or h, because there would be no room for a rook Can I suggest a nice little ruby program to generates all 960 possible starting positions and outputs a random one on request. Output could be as follows. Starting Position 432: White a1 b1 c1 d1 e1 f1 g1 h1 N B B R K R Q N Black a8 b8 c8 d8 e8 f8 g8 h8 N B B R K R Q N Or some better output.