# , too late?

**URL:** <https://www.ruby-forum.com/t/too-late/80739>\
**Category:** Ruby\
**Created:** [December 30, 2006, 8:32pm UTC](https://www.ruby-forum.com/t/too-late/80739 "2006-12-30T20:32:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alex\_Watt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/cab0a1/32.png) [@Alex\_Watt](https://www.ruby-forum.com/u/Alex_Watt)\
**Post date:** [December 30, 2006, 8:32pm UTC](https://www.ruby-forum.com/t/too-late/80739/1 "2006-12-30T20:32:54Z")

</div>

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”

---

<div class="post-metadata">

**Author:** ![Alex\_Watt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/cab0a1/32.png) [@Alex\_Watt](https://www.ruby-forum.com/u/Alex_Watt)\
**Post date:** [December 30, 2006, 8:44pm UTC](https://www.ruby-forum.com/t/too-late/80739/2 "2006-12-30T20:44:55Z")

</div>

Mistake in the King’s Table (Kingt):

```
         "NNRQKR", # 48
         "NNRQKR", # 64

```

should be  
“NNRQKR”, # 48  
“NNRKQR”, # 64

---

<div class="post-metadata">

**Author:** ![Alex\_Watt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/cab0a1/32.png) [@Alex\_Watt](https://www.ruby-forum.com/u/Alex_Watt)\
**Post date:** [December 31, 2006, 4:46pm UTC](https://www.ruby-forum.com/t/too-late/80739/3 "2006-12-31T16:46:50Z")

</div>

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 G. II
