I left out Kip's toss of the dice.  The best part.
d1=:'    o    '
d2=:'o       o'
d3=:'o   o   o'
d4=:'o o   o o'
d5=:'o o o o o'
d6=:'o oo oo o'
d=:6 9$d1,d2,d3,d4,d5,d6
dice=:(<"2)3 3$"1 d
dice

facerowsrs=: 0 0 0,1 0 0,0 1 0,0 0 1,:1 0 1 
facecharsrs=: ' o'  
facesrs=: 0 2 0,1 0 3,1 2 3,4 0 4,4 2 4,:4 4 4 
dicers=: <"2 facecharsrs {~ facerowsrs {~ facesrs    
dicers

onekm=:   '   ',' o ',:'   '
twokm=:'o  ','   ',:'  o'
threekm=:'o  ',' o ',:'  o'
fourkm=:'o o','   ',:'o o'
fivekm=:'o o',' o ',:'o o'
sixkm=:'o o','o o',:'o o'
dicekm=:(<"2)3 3$"1 d
dicekm


5!:2 ;:'d1 d2 d3 d4 d5 d6 d dice'
5!:2 ;:'facerowsrs facecharsrs facesrs dicers'
5!:2 ;:'onekm twokm threekm fourkm fivekm sixkm dicekm'

5!:4 ;:'d1 d2 d3 d4 d5 d6 d dice'
5!:4 ;:'facerowsrs facecharsrs facesrs dicers'
5!:4 ;:'onekm twokm threekm fourkm fivekm sixkm dicekm'

5!:6 ;:'d1 d2 d3 d4 d5 d6 d dice'
5!:6 ;:'facerowsrs facecharsrs facesrs dicers'
5!:6 ;:'onekm twokm threekm fourkm fivekm sixkm dicekm'

-----Original Message-----
From: programming-boun...@jsoftware.com
[mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
Sent: Saturday, December 03, 2011 12:57 PM
To: 'Programming forum'
Subject: Re: [Jprogramming] Turkey Roll - Challenge 2

Here's how the dice are shaping up so far:


d1=:'    o    '
d2=:'o       o'
d3=:'o   o   o'
d4=:'o o   o o'
d5=:'o o o o o'
d6=:'o oo oo o'
d=:6 9$d1,d2,d3,d4,d5,d6
dice=:(<"2)3 3$"1 d
dice
5!:2 ;:'d1 d2 d3 d4 d5 d6 d dice'

facerowsrs=: 0 0 0,1 0 0,0 1 0,0 0 1,:1 0 1 
facecharsrs=: ' o'  
facesrs=: 0 2 0,1 0 3,1 2 3,4 0 4,4 2 4,:4 4 4 
dicers=: <"2 facecharsrs {~ facerowsrs {~ facesrs    
5!:2 ;:'facerowsrs facecharsrs facesrs dicers'

Linda

-----Original Message-----
From: programming-boun...@jsoftware.com
[mailto:programming-boun...@jsoftware.com] On Behalf Of Ric Sherlock
Sent: Thursday, December 01, 2011 6:01 AM
To: Programming forum
Subject: Re: [Jprogramming] Turkey Roll - Challenge 2

The following is getting away from the actual rules as of the task but
is perhaps useful nonetheless ...

>From a storage and processing POV, it will be leaner and faster not to
store the dice boxed. The boxing is nice for display purposes though
so that could be made a separate verb.

facerows=: 0 0 0,1 0 0,0 1 0,0 0 1,:1 0 1   NB. row types on faces
facechars=: ' o'                            NB. chars used to draw faces
faces=: 0 2 0,1 0 3,1 2 3,4 0 4,4 2 4,:4 4 4  NB. define faces as rows
dice=: facechars {~ facerows {~ faces       NB. create dice
displayDice=: [: smoutput <"2               NB. display boxed di
throw=: ] {~ [: ? [ $ [: # ]                NB. verb to throw dice
toss=: 2 10 throw ]                         NB. throw 2 dice 10 times
sumThrows=: [: +/ [: ([: +/ ,)"2 'o' = ]    NB. sum each throw
fd=: [: /:~ ({. , #)/.~                     NB. calc frequency distribution

   displayDice dice
+---+---+---+---+---+---+
|   |o  |o  |o o|o o|o o|
| o |   | o |   | o |o o|
|   |  o|  o|o o|o o|o o|
+---+---+---+---+---+---+
   displayDice Toss1=: toss dice
+---+---+---+---+---+---+---+---+---+---+
|o  |o  |o o|o  |   |o o|   |o  |o o|o  |
| o | o |o o| o | o |   | o | o |   | o |
|  o|  o|o o|  o|   |o o|   |  o|o o|  o|
+---+---+---+---+---+---+---+---+---+---+
|o  |   |o  |   |o o|   |o o|o  |o o|o o|
|   | o | o | o |   | o |   | o |o o|   |
|  o|   |  o|   |o o|   |o o|  o|o o|o o|
+---+---+---+---+---+---+---+---+---+---+
   sumThrows Toss1
5 4 9 4 5 5 5 6 10 7
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to