HP Forums
(41C) Roll 2 Dice at Random - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: HP-41C Software Library (/forum-11.html)
+--- Thread: (41C) Roll 2 Dice at Random (/thread-11765.html)



(41C) Roll 2 Dice at Random - Gamo - 11-08-2018 06:34 AM

This is another implementation from my previous post on HP-11C but this one
use different RANDOM algorithm.

Here is the program to Roll Two Dice at Random.

Procedure: Assign [Rv] to run program

First start must create SEED on Register 09 [STO 09]

SEED STO 09
[Rv] x.x // Integer Part is 1st Dice and Fractional Part is 2nd Dice

-----------------------------------
Example:

I put 0.1234 as a SEED on Register 09

.1234 STO 09
[Rv] 5.4 // 5 and 4
[Rv] 1.2 // 1 and 2
[Rv] 5.6 // 5 and 6

----------------------------------
Program:
Code:

LBL 2DICE
XEQ 01
STO 00
XEQ 01
STO 01
10
/
XEQ FRC
STO 02
FIX 1
RCL 00
RCL 02
+
RTN
---------------
LBL 01
RCL 09
LN
E2
x
1
XEQ MOD
STO 09
6
x
1
+
XEQ INT
RTN

Assign Key to run program:

ASN ALPHA 2DICE ALPHA [Rv]

--------------------------------------
Gamo


RE: (41C) Roll 2 Dice at Random - Dieter - 11-09-2018 07:44 PM

(11-08-2018 06:34 AM)Gamo Wrote:  This is another implementation from my previous post on HP-11C but this one
use different RANDOM algorithm.
Here is the program to Roll Two Dice at Random.

Gamo, why does this program waste no less than four (!) data registers just for adding two random numbers?

In R01 you even store a value which is never recalled afterwards. Actually this program dues not require any registers at all – except the one for the seed.

Code:
LBL "2DICE"
XEQ 01
XEQ 01
10
/
+
FIX 1
RTN
...

The RNG looks interesting, but it can cause problems. Why? Try a seed of 0,006737947 or 0,0982735856 or 0,3328710837.

BTW, in an HP41 program you can simply write "FRC", "MOD" and "INT" instead of "XEQ FRC", "XEQ MOD" and XEQ INT".

Dieter