Skip to content

Instantly share code, notes, and snippets.

@mtimkovich
Created October 29, 2011 00:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mtimkovich/1323941 to your computer and use it in GitHub Desktop.
Save mtimkovich/1323941 to your computer and use it in GitHub Desktop.
Chess960 Initial Position Generator (Ruby)
#!/usr/bin/ruby
board = Array.new(8)
# Bishops
2.times do |i|
r = rand(4) * 2
if i == 1
r += 1
end
board[r] = "B"
end
# Queen, Knights
%w[Q N N].each do |s|
empty = board.each_index.select { |i| board[i].nil? }
board[empty.sample] = s
end
# Rook, King, Rook
%w[R K R].each do |s|
board[board.index(nil)] = s
end
board.each do |i|
print "#{i} "
end
puts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment