Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
[RUBY QUIZ #106], too late?
Alex Watt
12/30/2006 7:31:00 PM
I've only just had time to finish it. If it's not too late, here's what I've
done:
Bishopt = [
"BB------", # 0
"B--B----", # 1
"B----B--", # 2
"B------B", # 3
"-BB-----", # 4
"--BB----", # 5
"--B--B--", # 6
"--B----B", # 7
"-B--B---", # 8
"---BB---", # 9
"----BB--", # 10
"----B--B", # 11
"-B----B-", # 12
"---B--B-", # 13
"-----BB-", # 14
"------BB" # 15
]
Kingt = [
"QNNRKR", # 0
"NQNRKR", # 16
"NNQRKR", # 32
"NNRQKR", # 48
"NNRQKR", # 64
"NNRKRQ", # 80
"QNRNKR", # 96
"NQRNKR", # 112
"NRQNKR", # 128
"NRNQKR", # 144
"NRNKQR", # 160
"NRNKRQ", # 176
"QNRKNR", # 192
"NQRKNR", # 208
"NRQKNR", # 224
"NRKQNR", # 240
"NRKNQR", # 256
"NRKNRQ", # 272
"QNRKRN", # 288
"NQRKRN", # 304
"NRQKRN", # 320
"NRKQRN", # 336
"NRKRQN", # 352
"NRKRNQ", # 368
"QRNNKR", # 384
"RQNNKR", # 400
"RNQNKR", # 416
"RNNQKR", # 432
"RNNKQR", # 448
"RNNKRQ", # 464
"QRNKNR", # 480
"RQNKNR", # 496
"RNQKNR", # 512
"RNKQNR", # 528
"RNKNQR", # 544
"RNKNRQ", # 560
"QRNKRN", # 576
"RQNKRN", # 592
"RNQKRN", # 608
"RNKQRN", # 624
"RNKRQN", # 640
"RNKRNQ", # 656
"QRKNNR", # 672
"RQKNNR", # 688
"RKQNNR", # 704
"RKNQNR", # 720
"RKNNQR", # 736
"RKNNRQ", # 752
"QRKNRN", # 768
"RQKNRN", # 784
"RKQNRN", # 800
"RKNQRN", # 816
"RKNRQN", # 832
"RKNRNQ", # 848
"QRKRNN", # 864
"RQKRNN", # 880
"RKQRNN", # 896
"RKRQNN", # 912
"RKRNQN", # 928
"RKRNNQ", # 944
"QNNRKR", # 960
]
pieces = %w(K Q R R B B N N)
row = [*("A".."H")]
loop do
pieces = pieces.sort_by { rand }
break if pieces.to_s =~ /.*R.*K.*R.*/ and pieces.to_s =~ /.*B(..)*B.*/
end
bCombo = pieces.to_s.gsub(/[KQRN]/,'-')
bishopComboNo = Bishopt.index(bCombo)
kCombo = pieces.to_s.gsub(/B/,'')
kingComboNo = (Kingt.index(kCombo) == 0) ? 0 : Kingt.index(kCombo) +
(15*Kingt.index(kCombo))
puts "Starting position: #{kingComboNo + bishopComboNo}"
puts
puts "Black Pieces"
puts row.map { |square| square + "8" }.join(" ")
puts pieces.join(" ")
4.times { puts }
puts pieces.join(" ")
puts row.map { |square| square + "1" }.join(" ")
puts "White Pieces"
_________________________________________________________________
MSN Hotmail is evolving ? check out the new Windows Live Mail
http://idea...
1 Answer
James Gray
12/31/2006 3:46:00 PM
0
On Dec 30, 2006, at 1:31 PM, Alex Watt wrote:
> I've only just had time to finish it. If it's not too late, here's
> what I've done:
It's never too late. Thanks for sharing!
James Edward Gray II
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
[RUBY QUIZ #106], too late?
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password