Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > [RUBY QUIZ #106], too late?

Reply
Thread Tools

[RUBY QUIZ #106], too late?

 
 
Alex Watt
Guest
Posts: n/a
 
      12-30-2006
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://ideas.live.com


 
Reply With Quote
 
 
 
 
James Edward Gray II
Guest
Posts: n/a
 
      12-31-2006
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

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[QUIZ] Gathering Ruby Quiz 2 Data (#189) Daniel Moore Ruby 10 01-31-2009 08:36 PM
[QUIZ] Newbie doubts about the quiz Marcelo Alvim Ruby 15 08-16-2006 02:08 PM
[QUIZ] 1-800-THE-QUIZ (#20) Ruby Quiz Ruby 15 02-24-2005 06:05 AM
[SOLUTION] Ruby Quiz #15 Animal Quiz David Tran Ruby 9 01-21-2005 02:11 AM
[QUIZ] Animal Quiz (#15) Ruby Quiz Ruby 11 01-18-2005 02:42 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57