Hi Linda,
What exactly do you mean when you say you can't get toss to work?
As far as I can see pretty much all of what you've written below works fine.
The only thing that I imagine isn't working as you expect is the
definition of c.
c=: f'' NB. roll 2 six-sided dice 10 times and store noun result in c
If you toss again then you'll re-roll the dice. If you just want to
visualize the dice for c, then you just need to display c.
(dice {~ <:) c
On Sun, Dec 4, 2011 at 10:31 PM, Linda Alvord <[email protected]> wrote:
> Me too.
>
> toss =: (dice =: (6 6 6#:12 145 157 185 197 215)<@:{"1 2 (#:i.6){' o'){~ 2
> 10 ?@$ 6:
> a=:' o'
> b=:#:i.6
> d=:b{a
> e=:6 6 6#:12 145 157 185 197 215
> dice=: e<@:{"1 2 d
> dice
> f=:2 10?@ $ 6:
> c=: 13 :'(2 10?@$6:){dice'
> c''
> toss =:dice{~f
> c''
> toss''
> c''
> toss''
> c''
> 5!:2 ;:'a b d e dice f c toss'
>
> I can't get the toss to work
>
> Linda
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Ric Sherlock
> Sent: Sunday, December 04, 2011 4:09 AM
> To: Programming forum
> Subject: Re: [Jprogramming] Turkey Roll - Challenge 2
>
> NB. Inspired by Henry's dice:
>
> facechars=: ' o'
> facerows=: #: i.6
> faces=: 6 #.inv 12 145 157 185 197 215
> dice=: <"2 facechars {~ facerows {~ faces NB. create dice
> dvals=: 1 + i. # dice
>
> NB. Sort of what you've asked for:
>
> throw=: ] {~ [: ? [ $ [: # ] NB. verb to throw dice
> throw210=: 2 10 throw ] NB. throw 2 dice 10 times
> displayDi=: dice {~ <: NB. show dice
> toss=: [: displayDi throw210 NB. throw 2 dice 10 times
>
> dvals
> 1 2 3 4 5 6
> throw210 dvals
> 2 3 6 4 5 3 5 5 1 5
> 5 3 3 5 5 3 2 4 3 4
> displayDi throw210 dvals NB. display as toss as dice
> toss dvals NB. equivalent as single verb
> toss dvals
>
> I don't really like hiding the assignment of a global noun inside the
> verb toss but if I had to do it:
>
> tossc=: 3 : 'displayDi c =: throw210 y'
>
> On Sun, Dec 4, 2011 at 4:40 AM, Linda Alvord <[email protected]>
> wrote:
>> I'm comparing tosses, so could you match this in your own style:
>>
>> sla=: 13 :'cla=:1+? 2 10$y'
>> tossla=: 13 :'(<"2)3 3$"1(<:sla y){d'
>> tossla 6
>> cla
>> tossla 6
>> cla
>>
>> My c is a noun of the actual "dice" that are tossed. The display should
>> no longer be necessary for everyone to know what is happening.
>>
>> Toss will then require the number of faces on the die. This will ultimate
>> be the result of a toss.
>>
>> throwrs=: ] {~ [: ? [ $ [: # ]
>> tossrs=: 2 10 throw dice
>>
>> Thanks in advance. I'm enjoying your style.
>>
>> Linda
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] 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
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm