The digits in 4 80 840 8620 86420 865320 correspond to pip positions:

   i.3 3
0 1 2
3 4 5
6 7 8

In other words: 4 is the center pip.  8 is the lower-left pip.  0 is the
upper right pip, and so on...  I arrange the digits in descending order so
that the 0 digit is significant.

I have ignored the "simple J" requirement because I cannot understand that
rule except in a way that makes my code more complex.

-- 
Raul

2011/12/5 Linda Alvord <lindaalv...@verizon.net>

>
> Compare your expression for  dice :
>
>   faces=: {&' o'@((i.3 3)e.&":"1])&.>4 80 840 8620 86420 865320
>    faces
> ------T-----T-----T-----T-----T-----┐
> │     │o    │o    │o   o│o   o│o   o│
> │  o  │     │  o  │     │  o  │o   o│
> │     │    o│    o│o   o│o   o│o   o│
> L-----+-----+-----+-----+-----+------
>
> With Kip Murray's version:
>
>    one =:   '   ',' o ',:'   '
>    two =:   'o  ','   ',:'  o'
>   three =: 'o  ',' o ',:'  o'
>   four =:  'o o','   ',:'o o'
>   five =:  'o o',' o ',:'o o'
>   six =:   'o o','o o',:'o o'
>   ]dice =: one;two;three;four;five;six
> ----T---T---T---T---T---┐
> │   │o  │o  │o o│o o│o o│
> │ o │   │ o │   │ o │o o│
> │   │  o│  o│o o│o o│o o│
> L---+---+---+---+---+----
>
> Your dice are great looking! However that change has greatly increased the
> complexity of the code.  Also, there is a condition of the challenge to
> exclude  @  in each expression. This requirement encourages considering the
> execution from the right toward the left. In your example  4 80 840 8620
> 86420 865320   could  be puzzling to a beginner. Your other ideas are
> thoughtful ideas to incorporate in an actual design of a program. At this
> stage, I'm trying to raise issues that can be discussed and explored
> further.
>
> From your design so far, is it possible for you to capture the actual
> values
> of the  and display them following each   toss  ?  It is this data that
> will
> be useful as you finish the challenge.
>
> Linda
>
>
> -----Original Message-----
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of Raul Miller
> Sent: Monday, December 05, 2011 9:50 AM
> To: Programming forum
> Subject: Re: [Jprogramming] Turkey Roll - Challenge 2
>
> Personally, I have been baffled by a number of the choices and requirements
> here.  And, by this, I mean that I do not understand them.
>
> That said, here is my current interpretation of a mix of some of the
> statements expressed here, about what is being accomplished:
>
> faces=: {&' o'@((i.3 3)e.&":"1])&.>4 80 840 8620 86420 865320
> toss=: (] {~ (?@$ #)) ".bind 'faces'
>
> Example use, with ascii box drawing enabled:
>
>   toss 2 10
> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> |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   o|    o|    o|    o|o   o|    o|
> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
>   toss 2 10
> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> |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|o   o|o   o|o   o|o   o|     |o   o|o   o|o   o|
> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
>
> Notes:
>
> 1. I spaced my pips out wider, horizontally, than the original.  I think
> this looks better.
> 2. toss has 'faces' as an implicit dependency
> 3. I can change the number of dice being tossed by changing the argument to
> toss
>
> In my opinion, this is not a very good design.  In "real life" code, I
> would either replace (". bind 'faces') with (faces) or I would make it an
> argument to the function.
>
> I could probably compress a few characters out of the definition of faces,
> but it would become more mysterious if I did so.
>
> --
> Raul
> ----------------------------------------------------------------------
> 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