History of MiniG Script
Webb - all rights reserved - ©2004
spacer


modified by Russ Webb on  2004-04-22 21:07:13

Author - David Winslow
Email: dwinslow@databeam.com
Webpage:

Summary: Scores mini golf for 4 players - very easy scoring ...
safeguards...

Instructions: In the third line of the code, change
P1, P2, P3, and P4 to the initials of the
people you are playing with.

Make sure that "Places(x)" is set to 8.

-----
|Clear| Press "Clear" to set all scores to 0
|     |
|Score| "Drag" holes to the "Score" button
-----  to score a hole (or, tap the hole and
        press "Score").

After pressing "Clear" the stack looks like:

0.00000000 = tos
100.00000000
200.00000000
300.00000000
400.00000000

The "total" score is the top of stack.
The "first hole" is second on the stack,
the "second hole" is third on the stack,
etc ... All the other holes are on the
stack also -- you just can't see them.

So, tap hole one (second on the stack above)and
press the "Score" button. Or, just drag hole
one to the "Score" button. You will see

Score hole
Par P1  P2  P3  P4 Done
< > < > < > < > < > D

100.00000000

Tap the ">" button for "Par".
The number on the top of the stack
changes to 103.00000000.

NOTE: The first tap of ">" for "Par" or any
of the players increases the number by 3.
Subsequent taps of ">" or "<" increment and
decrement by 1.

Tap the ">" button for "Par" once more so that
the number is 104.00000000.

For each of the players tap the ">" button.
Now the number is 104.03030303.

P1 actually got 5, P2 actually got 3
P3 actually got 4, and P4 actually got 3.

Tap the buttons until the number says
104.05030403. Now tap the "D" button.

You have just scored hole 1.

The stack now looks like this:

4.05030403 = tos
104.05030403
200.00000000
300.00000000
400.00000000

The format for the top of the stack
is PT.P1P2P3P4 where PT = par total so far,
P1 = player one's score so far, etc ...
The format for all other numbers is
HHPP.P1P2P3P4 where H is the hole number,
PP is par for that hole, and P1 through P4 are
the players scores for that hole.

Why don't you try scoring holes 2, 3, and 4.
Each hole is par 3 and everyone gets par.

The stack now looks like this:

13.14121312 = tos [ total scores so far ]
500.00000000
600.00000000
700.00000000
800.00000000

For the first four holes, the par is 13
and P1 to P4 have 14, 12, 13, 12 respectively.

All holes are still present on the stack but
in a different order. Now, the next 4 holes
are visible.

Try pressing "Clear" and "Cancel".
The order is restored ...

Now score hole 4 and just press the "D"
button.

The stack again shows totals and holes 5 through
8. After scoring hole 8, holes 9 to 12 will be
visible. After scoring hole 12, holes 13 to 16
will be visible. After scoring hole 16, holes
17 and 18 and holes 1 and 2 will be visible.

Remember that "Clear" and "Cancel" restores the
original order.

When scoring a hole and pressing a "<" key
you will not be permitted to make the score
a negative score.

You can also use this program to play
real golf with TWO people. Score the
first 9 holes just using P1 and P2.
Score holes 10 to 18 just using P3 and
P4. In this case, P1=P3 and P2=P4 ...
You will have to add the first 9 and
the last 9 together to obtain your final
scores. The reason for this is that no
total can be more than 99. Actually, I did
design this to be a "mini golf" program and
only thought of "real golf" after.

Note: YOU can play the holes in ANY order.
      Just use RPN's clear to bring the hole
      into view and drag it to the "Score"
      button.

My wife and I like to play mini golf when it is
not crowded and we play each hole twice (DON'T
TELL). So I renamed P1, P2, P3, P4 to
B1, B2, D1, and D2.


Code:

RPN.2.z \MiniG
[m] xt{UdD
'Score hole\Par     P1        P2       P3        P4  
Done|<|>|<|>|<|>|<|>|<|>|D|'
VvCvc( : v1Cp=0(B:v2/w2*nCpv2/f0=0(-:+)) :
v1Cp=0(B:v2/w2*nCpv2/f0=0(-:g1g1+++)) )}Xtxtw2Cp/wXsxtxs2Cp*-xsX@Cd;
[s] Vv2Cp/w2Cp*vr2-;
[t] f2Cp*;
[u] V{_vCt};
[v] Vv1Cp=0
(
   1
   :
   v2/f0=0
   (
      vXzVvCsxz2/Cuw0>
      (
         v1:v0
      )
      :
      vXzVvCsxz2/Cuw0=0
      (
         v2:v1
      )
   )
);
[c]  D'Reset all scores?|Ok|Cancel|'
c(Cb#'26'V{_v0v1+X@}:)1Xs;
[b] hV{_vd1};
[p]
8+c(#'.00000001'::#'.000001'::#'.0001'::#'.01'::1:#'10':#'100');

[d]
Cbxs4/w4*XzxzV{_vv1+g12Cp*r2x@+}#'18'xz-V{_vv1+xz+g12Cp*r2x@+}#'18'V0{_vv1+x@+};


"MiniG"
"Clear" CcCd;
~
"_Score hole"
h0>(Xtxtw2Cp/wVv0>(v#'19'<(Cm)));