(41C) Roll 2 Dice at Random
11-08-2018, 06:34 AM
Post: #1
 Gamo Senior Member Posts: 548 Joined: Dec 2016
(41C) Roll 2 Dice at Random
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
11-09-2018, 07:44 PM (This post was last modified: 11-09-2018 07:45 PM by Dieter.)
Post: #2
 Dieter Senior Member Posts: 2,397 Joined: Dec 2013
RE: (41C) Roll 2 Dice at Random
(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
 « Next Oldest | Next Newest »

User(s) browsing this thread: 1 Guest(s)