Path: seq!spell
From: DOUG CANNON <dougc@bert.cs.byu.edu>
Subject:  v01i012:  skunk10 - Skunk v1.0: An animated game of dice skill, Part01/01
Newsgroups: comp.sources.hp48
Followup-To: comp.sys.hp48
Approved: spell@seq.uncwil.edu

Checksum: 4247296838 (verify with brik -cv)

Submitted-by: DOUG CANNON <dougc@bert.cs.byu.edu>
Posting-number: Volume 1, Issue 12
Archive-name: skunk10/part01


BEGIN_DOC skunk.doc

Description:	SKUNK is a 2 dice game of part strategy, part luck.
		This game was written entirely in RPL code
		and is loaded with great graphics and animation.
		SKUNK may be played with one player and HP as
		the opponent, or with two human players.

About me:	SKUNK was written by Douglas R. Cannon.  I am currently
		an electrical engineering student at Brigham Young
		University in Provo, Utah.  As I am now on summer
		vacation, I have had time for such frivolity. Fall
		semester begins on Sept 4th and my HP48 fun will
		abruptly end.

		Douglas R. Cannon
		178 Wymount #4A
		Provo, UT 84604
		(801) 371-2632
		dougc@bert.cs.byu.edu

----------------
   A long time ago I learned the game of Skunk.  I am unaware of the author
of the original idea for the game, I think it (the game) is ancient.  I
first wrote this for the HP28s, but have not yet worked it to the point
of being posted.  Instead, I have been spending my time re-writing it for
the HP48s.  I finished the program today, August 7, 1991.
   The game is simple.  SKUNK will first give you an options menu:

1) HP as player #1
2) HP as player #2
3) Two players

Only two players can play at one time, and HP will be one of those players
if you so desire.  Playing with two people gets boring fast, but the option
is available.  Choose an option by pressing 1, 2, or 3.  If you choose HP
to be one of the players, then you are given a Skill level menu:

1) Terribly easy
2) Average
3) Challenging

The strategies are as follows: The easy strategy will always roll the dice
5 times before passing. The average strategy will always roll the dice 3
times before passing. Surprisingly enough, this is a good strategy. (See
the RDME section as to why I think so.) and, the Challenging strategy
would be less challenging if I told you what it is. If you can beat this
strategy 6 times out of 10 with a destination score of 200, then I
applaud you.

After choosing a strategy, or if you choose two human players, then you are
given a destination score menu:

1) 100 points
2) 200 points
3) 300 points

This is self-explanitory. Obviously, the winner is the one who gains or
passes this score.

   At this point you begin play.  Player #1 rolls first, and his options are
to Roll or Pass. By pressing the A key, the dice are rolled, and by pressing
the F key you may pass.  Skunk is played with two dice.  The object is to
roll as many times as you can without getting "Skunked".  One is "Skunked"
when a one is rolled on either die.  If no ones are rolled, then the sum of
the two dice is added to the pot. If you are "Skunked" then you lose your
turn and the pot goes to zero.  If you choose to pass at some time, then the
current pot is added to your score.  The pot then returns to zero, and the
play passes to the next player.
   It is extremely disastrous to be "Double Skunked".  This is, of course,
when a one is rolled on each die.  At this point, the pot goes to zero, your
score goes to zero, and you lose your turn.  This is most undesireable.
   Now, it is only fair that everyone get the same amount of turns, so if
player #1 should reach or pass the destination score, then player #2 has one
more turn to pass the score of player #1.  Thus, if both players reach the
destination score, the winner is the player with the highest score.  You can
see the advantages to being player #2.  If player #2 reaches the destination
score, and player #1 has not yet reached it, player #2 wins immeadiately.
If both players reach the destination score and are tied, then it will go
into overtime until one player is >= the destination and > the other player's
score.

   This is all you should need to know to play the game! I hope everyone enjoys
this game!  I cannot compete with those who program the schip stuff, and have
not tried this method as of yet.  My main goal of writing this game was to
create some software that has nice animation, is fun, and is written completely
in RPL code.

---------------------
To Install:

No extra software is needed to install skunk1.0
You will need about 25K free before you download it.  SKUNK only takes
just over 13K when all setup, but downloading, setup, etc. takes some room.
Simply name the file SKUNK, and download it.  There will be a directory
named SKUNK that will be created with all the programs in it.  ( At this
point it may be wise to do a RESET.  Just hold down the ON key and Press the
C key. This makes sure the maximum available memory is actually available.
My HP only had 7K available at this point, and it was enough.
The first program will be called SETUP.  Run this one, and it will set things
up.  ( This takes about 10 seconds ).  Then SKUNK will be the first program
in the directory. Run this one to play the game!

BYTES:
Before running SETUP	#4E85h	17579.5
After running SETUP	#6ABFh	13068

About the ABOUT:
   You can run the program ABOUT to find out about the author ( that's me )
This software is distributed under the "I don't care ware" system and thus 
you can give it to anybody, use any or all programs and shapes elsewhere,
and even change them if it pleases you.  Just leave the ABOUT program intact,
and I don't care. Otherwise I do care even though I will never know.

END_DOC

BEGIN_RDME skunk.rdm

   Here is a list of all the programs and shapes for anyone who is interested.
Some of these programs (DNUM, NEWS, NANNY) may be useful in other applications.
I have listed each program, it's purpose, and the arguments it needs.

Programs in order of appearance:
--------------------------------

SKUNK	Run This. It starts the game		( no arguments )
ABOUT	Run This. About the Author		( no arguments )
SKMAIN	The master control program		3: destination score
						2: skill level (0 if 2 humans)
						1: HP player # (3 if 2 humans)
NEWS	prints final score menu			2: message (String)
						1: coordinates
DNUM	Display a number			2: number
						1: coordinates
NANNY	The international song of the child	( no arguments )
Roll	Roll dice				( no arguments )
					exit:	2: dice #1
						1: dice #2
ERNUM	Erase a 25 by 8 spot ( a number )	1: 1, 2, or 3
TURN	Allows a human a turn			2: score (size 2 array)
						1: destination score
HPTURN	Allows HP a turn ( knows 3 strategies )	4: score (size 2 array)
						3: HP player # (1-2)
						2: skill level (1-3)
						1: destination score
QUIT	Do you REALLY want to quit?		( no arguments )
FANF	The "FANFARE" Somebody has won!		4: destination score
						3: skill level (0-3)
						2: HP player # (1-3)
						1: score (size 2 array)
SK	Someone is SKUNKED!			3: die #1
						2: die #2
						1: destination score
DSK	Someone is DOUBLE SKUNKED!!		1: destination score
MYTH	Well, this really is a myth you know    ( no arguments )


Shapes in order of apearance:
-----------------------------

BOARD	GROB 131 64		The playing Board
SKSKP	GROB 71 31		The big SKUNK shape
DICE	A list of 6 GROBs	The dots on the dice
WAVES	A list of 10 GROBs	The wave in the options menu
DOTS	A list of 4 GROBs	The moving dots in the skill menu
BALLS	A list of 10 GROBs	The bouncing balls in the destination menu
DESTIN	A list of 3 GROBs	Shows 100, 200, or 300 destination scores
YOUWON	A list of 13 GROBs	This creates the YOU WON! graphic
HPWON	A list of 13 GROBs	This creates the HP WON! graphic
PLANT	A list of 3 GROBs	The plant
POT	A list of 3 GROBs	The pot
SHAPES	A list of 7 GROBs	Various shapes

--------------------------------------------------------------------------

   Following is some interesting data I collected while trying to find
three suitable strategies for HP to use.  I originally wrote a SKUNK 
simulation on the HP to test various strategies and find the best one.
It was much to slow, ( It would take almost an hour to simulate 100 games
without the use of graphics ) so I wrote a version in Pascal. On a 386 it
could simulate 20,000 games in under 15 minutes.
   Now, I am not a stats man, but I used this simulator as follows: I would
program a specific strategy, and play it against another. They would play
for 3000 or 5000 games, and whichever strategy won the highest percentage
of games was obviously better. If I played the two against each other again,
they would consistently produce the same percentages. ( As long as the
number of simulated games was high enough.  3000 seemed adequate. )

	Strategy #1: Roll once
	Strategy #2: Roll twice
	Strategy #3: Roll three times	( Used as average skill level )
	Strategy #4: Roll four times
	Strategy #5: Roll five times	( Uses as terribly easy skill level )

	#1: won 35.4% vs. #2: won 64.6%	( 3000 games )
	#2: won 52.8% vs. #3: won 47.2%	( 3000 games )
	#2: won 51.8% vs. #3: won 48.2%	( 20000 game re-match )
	#2: won 60.3% vs. #4: won 39.7%	( 3000 games )
	#2: won 68.5% vs. #5: won 31.5%	( 3000 games )

	#3: won 66.3% vs. #5: won 33.6%	( 10000 games )

   From this we can see that rolling twice always is the best strategy of
the five listed. Rolling 3 times always is not too bad, and I chose this
as the average strategy. It is above average when compared to these, but
only average when compared to better strategies.

	Strategy #19: The Challenging strategy.

	#5: won 22.1% vs. #19: won 77.9%
	#3: won 37.1% vs. #19: won 62.9%

Not too bad, really.

END_RDME

BYTES: #4E85h  17579.5

BEGIN_RPL skunk
%%HP: T(3)A(R)F(.);
DIR
  SETUP
    \<< CLLCD
"Please wait" 1
DISP
"10 seconds..." 2
DISP BOARD ST\->
'BOARD' STO SKSHP
ST\-> 'SKSHP' STO
DICE ST\-> 'DICE' STO
WAVES ST\-> 'WAVES'
STO DOTS ST\-> 'DOTS'
STO DESTIN ST\->
'DESTIN' STO PLANT
ST\-> 'PLANT' STO POT
ST\-> 'POT' STO
SHAPES ST\-> 'SHAPES'
STO { SETUP ST\-> }
PURGE
    \>>
  ST\->
    \<< \-> S
      \<< "" 1 S SIZE
        FOR N S N
GET +
        NEXT STR\->
      \>>
    \>>
  SKUNK
    \<< 0 0 0 0 \-> N
KY HP SK
      \<< BOARD {
# 0h # 0h } { # 82h
# 1Ch } SUB PICT
STO { # 0h # 0h }
PVIEW PICT { # 1Fh
# 1Fh } "OPTIONS:"
1 \->GROB REPL PICT {
# 1Fh # 26h }
"1) HP AS PLAYER #1"
1 \->GROB REPL PICT {
# 1Fh # 2Dh }
"2) HP AS PLAYER #2"
1 \->GROB REPL PICT {
# 1Fh # 34h }
"3) TWO PLAYERS" 1
\->GROB REPL
        DO
          IF KY
          THEN 200
.1 BEEP
          END
          DO 1 'N'
STO+ PICT { # 17h
# 26h } WAVES N GET
REPL N 10
            IF ==
            THEN 0
'N' STO
            END
          UNTIL KEY
          END 'KY'
STO
        UNTIL KY 82
\>= KY 84 \<= AND
        END KY 81 -
'HP' STO
        IF KY 84 \=/
        THEN PICT {
# 17h # 1Eh } # 50h
# 1Eh BLANK REPL
PICT { # 1Fh # 1Fh
} "SKILL LEVEL:" 1
\->GROB REPL PICT {
# 1Fh # 26h }
"1) TERRIBLY EASY"
1 \->GROB REPL PICT {
# 1Fh # 2Dh }
"2) AVERAGE" 1
\->GROB REPL PICT {
# 1Fh # 34h }
"3) CHALLENGING" 1
\->GROB REPL 1 'N'
STO 0 'KY' STO
          DO
            IF KY
            THEN
200 .1 BEEP
            END
            DO PICT
{ # 14h # 26h }
DOTS N GET REPL 1
'N' STO+ 5 N
              IF ==
              THEN
1 'N' STO
              END
            UNTIL
KEY
            END
'KY' STO
          UNTIL KY
82 \>= KY 84 \<= AND
          END KY 81
- 'SK' STO
        END PICT {
# 14h # 1Eh } # 5Ah
# 1Eh BLANK REPL
PICT { # 1Fh # 1Fh
}
"DESTINATION SCORE:"
1 \->GROB REPL PICT {
# 1Fh # 26h }
"1) 100 POINTS" 1
\->GROB REPL PICT {
# 1Fh # 2Dh }
"2) 200 POINTS" 1
\->GROB REPL PICT {
# 1Fh # 34h }
"3) 300 POINTS" 1
\->GROB REPL 1 'N'
STO 0 'KY' STO
        DO
          IF KY
          THEN 200
.1 BEEP
          END
          DO PICT {
# 16h # 26h } BALLS
N GET REPL 'N' 1
STO+ N 11
            IF ==
            THEN 1
'N' STO
            END
          UNTIL KEY
          END 'KY'
STO
        UNTIL KY 82
\>= KY 84 \<= AND
        END KY 81 -
100 * SK HP SKMAIN
      \>>
    \>>
  ABOUT
    \<< PICT { # 0h
# 0h } BOARD {
# 1Fh # 1Eh }
"BROUGHT TO YOU BY:"
1 \->GROB REPL {
# 1Fh # 24h }
"DOUGLAS R. CANNON"
1 \->GROB REPL {
# 23h # 2Ah }
"BYU, PROVO, UTAH"
1 \->GROB REPL {
# 2Ch # 30h }
"AUGUST 1991" 1
\->GROB REPL { # 0h
# 37h } # 83h # 9h
BLANK REPL { # 3h
# 38h }
"dougc@bert.cs.byu.edu"
2 \->GROB REPL REPL {
# 0h # 0h } PVIEW
      DO
      UNTIL KEY
      END DROP
    \>>
  SKMAIN
    \<<
[ 0 0 ]
1 { { # 45h # 1Eh }
{ # 45h # 26h } } \->
DEST SK HP SC P C
      \<< PICT { # 0h
# 0h } BOARD
        CASE HP 1
==
          THEN {
# 32h # 1Eh } "HP"
2 \->GROB REPL
          END HP 2
==
          THEN {
# 2Ch # 1Eh }
SHAPES 1 GET GXOR {
# 32h # 26h } "HP"
2 \->GROB REPL {
# 2Ch # 1Eh }
SHAPES 1 GET GXOR
          END
        END { # 19h
# 38h } DESTIN DEST
100 / GET REPL REPL
        DO PICT {
# 2Ch # 1Eh }
SHAPES 1 GET GXOR
          IF P HP
==
          THEN SC
HP SK DEST HPTURN
          ELSE SC P
GET DEST TURN
          END MYTH
DUP SIGN DUP
          IF
          THEN
            IF 0 <
            THEN P
ERNUM
            END SC
P GET + DUP 'SC' P
ROT PUT C P GET
DNUM
          ELSE
DROP2
          END 3
ERNUM 0 { # 45h
# 2Eh } DNUM P 1 ==
2 1 IFTE 'P' STO
        UNTIL SC 1
GET DEST \>= SC 2 GET
DEST \>= OR P 1 ==
AND SC ARRY\-> DROP \=/
AND
        END DEST SK
HP SC FANF
      \>>
    \>>
  NEWS
    \<< 0 \-> M C A
      \<< 1 M SIZE
        FOR N PICT
C M N N SUB 1 \->GROB
DUP SIZE DROP 'A'
STO REPL 2000 .005
BEEP C 1 GET A +
'C' 1 ROT PUT
        NEXT
      \>>
    \>>
  DNUM
    \<< \-> N C
      \<< PICT C N 2
\->GROB REPL
      \>>
    \>>
  NANNY
    \<< 554 .3 659 .3
740 .075 554 .15
659 .075 659 .15 1
6
      FOR N BEEP
      NEXT
    \>>
  Roll
    \<< 0 0 \-> D1 D2
      \<< RAND 6 * 1
+ IP 'D1' STO RAND
6 * 1 + IP 'D2' STO
PICT { # 5h # 6h }
DICE D1 GET REPL
4000 .03 BEEP PICT
{ # 6Bh # 6h } DICE
D2 GET REPL 4000
.03 BEEP D1 D2
      \>>
    \>>
  ERNUM
    \<< PICT # 45h
ROT R\->B # 8h *
# 16h + 2 \->LIST
# 19h # 8h BLANK
REPL
    \>>
  TURN
    \<< 0 0 0 0 0 \->
SC DEST POT D1 D2
KY DONE
      \<<
        DO KEY NOT
0 IFT
        UNTIL NOT
        END
        DO
          DO
          UNTIL KEY
          END 'KY'
STO
          IF KY 35
==
          THEN QUIT
          END
          IF KY 11
==
          THEN Roll
'D2' STO 'D1' STO
            IF D1 1
== D2 1 == AND
            THEN
DEST DSK 1 'DONE'
STO SC NEG
            END
            IF D1 1
== D2 1 == OR DONE
NOT AND
            THEN D1
D2 DEST SK 1 'DONE'
STO 0
            END
            IF DONE
NOT
            THEN
'POT' D1 D2 + STO+
POT { # 45h # 2Eh }
DNUM
            END
          END
          IF KY 16
\=/ KY 11 \=/ AND
          THEN 200
.1 BEEP
          END
        UNTIL KY 16
== DONE OR
        END DONE
NOT POT IFT
      \>>
    \>>
  HPTURN
    \<< 0 0 0 0 0 \->
SC HP SL DEST KP
POT D1 D2 DONE
      \<<
        CASE SL 1
==
          THEN 5
'KP' STO
          END SL 2
==
          THEN 3
'KP' STO
          END SL 3
==
          THEN 1
'KP' STO
          END
        END
        DO 'KP' 1
STO- Roll 'D2' STO
'D1' STO
          IF D1 1
== D2 1 == AND
          THEN DEST
DSK 1 'DONE' STO SC
HP GET NEG
          END
          IF D1 1
== D2 1 == OR DONE
NOT AND
          THEN D1
D2 DEST SK 1 'DONE'
STO 0
          END
          IF DONE
NOT
          THEN
'POT' D1 D2 + STO+
POT { # 45h # 2Eh }
DNUM
          END
          IF SL 3
==
          THEN SC
HP GET SC HP 1 == 2
1 IFTE GET > 16 23
IFTE POT \<= 0 1 IFTE
'KP' STO
          END
          IF SC HP
GET POT + DEST \>=
          THEN 0
'KP' STO
          END
          IF HP 2
== SC HP 1 == 2 1
IFTE GET SWAP OVER
DEST \>= AND SWAP SC
HP GET POT + \>= AND
          THEN 1
'KP' STO
          END
        UNTIL KP 0
\<= DONE OR
        END DONE
NOT POT IFT
      \>>
    \>>
  QUIT
    \<< 0 \-> KY
      \<< CLLCD
"Do you REALLY" 2
DISP
"want to quit?" 3
DISP TEXT 1000 .3
BEEP
        DO
          DO
          UNTIL KEY
          END 'KY'
STO
          IF KY 31
\=/ KY 52 \=/ AND
          THEN 200
.1 BEEP
          END
          IF KY 52
==
          THEN KILL
          END
        UNTIL KY 32
==
        END { # 0h
# 0h } PVIEW
      \>>
    \>>
  FANF
    \<< 0 1 0 \-> DEST
SK HP SC C WON ME
      \<<
        IF HP 3 \=/
        THEN SC
ARRY\-> DROP > HP 1
== OVER AND SWAP
NOT HP 2 == AND OR
        ELSE 0
        END DUP
'ME' STO 'HPWON'
'YOUWON' IFTE 'WON'
STO 0 24
        FOR N PICT
# 1Eh N R\->B 2 \->LIST
'C' STO C SKSHP
REPL PICT C WON N 2
/ 1 + GET REPL 2
        STEP PICT {
# 1Eh # 36h }
SHAPES 6 GET REPL
        IF ME
        THEN NANNY
        ELSE 1 4
          FOR N 1 2
            FOR O
PICT { # 20h # 1Ch
} SHAPES 5 GET GXOR
10000 .005 BEEP
            NEXT
          NEXT
        END 1 WAIT
PICT { # 1Eh # 3h }
# 47h # 12h BLANK
REPL "FINAL SCORE:"
{ # 1Fh # 0h } NEWS
        IF HP 1 ==
        THEN {
# 21h # 6h } "HP: "
        ELSE {
# 1Fh # 6h } "#1: "
        END SC 1
GET \->STR + SWAP
NEWS
        IF HP 2 ==
        THEN {
# 21h # Ch } "HP: "
        ELSE {
# 1Fh # Ch } "#2: "
        END SC 2
GET \->STR + SWAP
NEWS
        IF HP 3 \=/
        THEN
"SKILL: "
          CASE SK 1
==
            THEN
"EASY"
            END SK
2 ==
            THEN
"AVERAGE"
            END SK
3 ==
            THEN
"CHALLENGING"
            END
          END + {
# 1Fh # 12h } NEWS
        END # 1Eh
SC ARRY\-> DROP >
# 5h # Bh IFTE 2
\->LIST 'C' STO
        DO KEY NOT
0 IFT
        UNTIL NOT
        END
        DO PICT C
SHAPES 7 GET GXOR
.5 WAIT
        UNTIL KEY
        END DROP
      \>>
    \>>
  SK
    \<< 0 \-> D1 D2
DEST C
      \<< PICT {
# 20h # 38h }
SHAPES 3 GET REPL
        IF D1 1 ==
        THEN { # 2h
# 2h }
        ELSE {
# 68h # 2h }
        END 'C' STO
1 4
        FOR N PICT
C SHAPES 2 GET GXOR
2000 .01 BEEP
        NEXT PICT {
# 19h # 38h }
DESTIN DEST 100 /
GET REPL
      \>>
    \>>
  DSK
    \<< 1 0 \-> DEST D
C
      \<< PICT {
# 22h # 38h }
SHAPES 4 GET REPL
PICT { # 20h # 2h }
SHAPES 5 GET GXOR 1
4
        FOR N PICT
# 2h # 66h D * + {
# 2h } + 'C' STO C
SHAPES 2 GET GXOR
2000 .02 BEEP 'D' 1
          IF D
          THEN STO-
          ELSE STO+
          END PICT
C SHAPES 2 GET GXOR
1000 .02 BEEP
        NEXT PICT {
# 20h # 2h } SHAPES
5 GET GXOR PICT {
# 19h # 38h }
DESTIN DEST 100 /
GET REPL
      \>>
    \>>
  MYTH
    \<< RAND 40 * IP
      IF 1 ==
      THEN
        IF RAND 2 *
IP
        THEN 2 3
          FOR N
PICT { # 0h # 1Eh }
PLANT N GET REPL
          NEXT 2 1
          FOR N
PICT { # 0h # 1Eh }
PLANT N GET REPL -1
          STEP
        ELSE 2 3
          FOR N
PICT { # 67h # 1Eh
} POT N GET REPL
          NEXT 2 1
          FOR N
PICT { # 67h # 1Eh
} POT N GET REPL -1
          STEP
        END
      END
    \>>
  BOARD {
"GROB 131 64 0FFFFF10040E70CFCF00E70000CFFFF700CFFFFF700A02404848082400"
"00FFFFFF10E30008F0051A504B4B0CA50008F0000E30E00000E08E2A501B4B0AA50108"
"30000830700000C14F5A582B4B09A5820C10000070700000C1ABB8545A4B8AA5450C10"
"00007030000081D5795ABA4B4BA5AB0C0000006030000089EAE25D5A4BABA0D50C0000"
"00603000008571D5DE2B4BCB22E20C0000006030000089E2A2571B4BEB05610C000000"
"6030000081D5499B4B4B6B8A800C0000006030000081AB88D54B4B2B47500C00000060"
"300E0081471AF24B4B4BAB200C00830060300F10818E2A714B4B6BD5100C00C7006030"
"0F10810D5AF24B4B4BE2200C00C70060300F10812AB8D54B4B4379500C00C70060300E"
"008154799B4B4B4BB8B00C0083006030000089A8E2571B4B4F54710C00000060300000"
"8571D5DE2B4B4F2DE20C0000006030000089EAE25D5A4B4795D50C0000006030000081"
"D5795AB84B4B85AB0C0000006030000081ABB854797B45A5471C00000060300000814F"
"5A58E20B42A58E2C00000060700000C18E2A50D5EB41A50D5C10000070700000C1051A"
"50ABCBC0A50ABC10000070E00000E00A024047184024047930000830E30008F0040E70"
"8ACF00E708A8F0000E30CFFFFF70000000050000000050FFFFFF100FFFFF1000000002"
"0000000020CFFFF700000000000000000000000000000000000000000F10000082480C"
"1000000000FF100000008F3000008268022000000000FF10000000C7300000C7481230"
"00000000EF00000000E120000082483A2000000000EF00000C30F0000000C748162000"
"000000FF10000E7078F00000824802200000000CFF70000F703CF1000082E80C100000"
"0007BDE1008FF83EF3000000080000000000CBD6B7008FF81F8300016D1B0C10000000"
"ED6BDE0081F8930300036DEA0220000000FFFFFF1080CDC101000728FA123000000030"
"000810008DC000000F6D3B3A20000008FFFFFF30878D6C70000728DB1620000008D6D6"
"D630CF9D6FF000036DEB02200000086D6D6D20EFBDEFF000016D0A0C10000008BBBBBB"
"30E33FFFF0000000080000000008D6D6D630E16F70F1000F83F90C100000086D6D6D20"
"ECFFF7C1000154480220000008FFFFFF30CCF0E7810001544812300000003000081048"
"FFF381000154483A20000000FFFFFF1008308380000F44481620000000ED6BDE0000FF"
"F180000144480220000000CBD6B70000E0E000000183480C100000000FBDE100008F30"
"0000000000000000000008FF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7000000010"
"00000000000000000040000000F833C0100000000000000000004F83E830FD73C01000"
"00000000000000004FD7FD70BD63C0100000000000000000004BD63C00BD63C0100000"
"000000000000004BD6FC30FD63C0100000000000000000004FD7E970FC63C010000000"
"0000000000004FC78160BD7FD71000000000000000000043C6FD70B93FD71000000000"
"000000000043C6E830"
}
  SKSHP {
"GROB 71 31 0000000000000000000000000000000000000018F10F3F308F100008280"
"1012120A010000458610D2D20B610000AB8614C2D28A614000D7961AC2D24A61A008EE"
"261592D2AA6151047D569EA2D2DA69E20ABAB45792DAEA24710D5475BBC2D2FA88B00A"
"B8A4D5C2DAF24950047156E2D2DAD2A22008E22671D2DAC2D51000D58EB0D2D2DAEA00"
"00AB8E50D2DAD6750000479EB0D2D2DAB800088E2671D2D2DC5610041D56E2D2D2DE2E"
"200A2AB4D5C2D2D71D500D5475BBC2D2DB4BB00ABAB45792D2D56571047D569E22D2D2"
"69E208EE261D5ED25961D500D7961AB0C29861AB00AB861479F258614710458618E2F2"
"38618E20828010D50218010D50018F10A2F308F10A2000000041000000041000000080"
"000000080" }
  DICE {
"{ GROB 19 17 00000000000000000000000000000000000000700008F00008F00008F"
"000007000000000000000000000000000000000000000 GROB 19 17 000830000C700"
"00C70000C70000830000000000000000000000000000000000000000000E00000F1000"
"0F10000F10000E00000 GROB 19 17 000830000C70000C70000C70000830000000007"
"00008F00008F00008F000007000000000E00000F10000F10000F10000E00000 GROB 1"
"9 17 E00830F10C70F10C70F10C70E0083000000000000000000000000000000000000"
"0000000E00830F10C70F10C70F10C70E00830 GROB 19 17 E00830F10C70F10C70F10"
"C70E0083000000000700008F00008F00008F000007000000000E00830F10C70F10C70F"
"10C70E00830 GROB 19 17 E07830F9FC70F9FC70F9FC70E0783000000000000000000"
"0000000000000000000000000E07830F9FC70F9FC70F9FC70E07830 }"
}
  WAVES {
"{ GROB 6 20 70E0C1838383C1E0707070E0C1838383C1E07070 GROB 6 20 E0C1838"
"383C1E0707070E0C1838383C1E0707070 GROB 6 20 C1838383C1E0707070E0C18383"
"83C1E0707070E0 GROB 6 20 838383C1E0707070E0C1838383C1E0707070E0C1 GROB"
" 6 20 8383C1E0707070E0C1838383C1E0707070E0C183 GROB 6 20 83C1E0707070E"
"0C1838383C1E0707070E0C18383 GROB 6 20 C1E0707070E0C1838383C1E0707070E0"
"C1838383 GROB 6 20 E0707070E0C1838383C1E0707070E0C1838383C1 GROB 6 20 "
"707070E0C1838383C1E0707070E0C1838383C1E0 GROB 6 20 7070E0C1838383C1E07"
"07070E0C1838383C1E070 }"
}
  DOTS {
"{ GROB 9 19 C000E100CC000E106C00F0006C000E106C00F0006C000E106C00F0006C"
"000E10CC00E100C000 GROB 9 19 8100C30081006C00FE106C0000006C00FE106C000"
"0006C00FE106C0000006600FF0066000000 GROB 9 19 030087006300F0006C000E10"
"6C00F0006C000E106C00F0006C000E106C00F000630087000300 GROB 9 19 0000660"
"0FF00660000006C00FE106C0000006C00FE106C0000006C00FE106C008100C3008100 "
"}" }
  BALLS {
GROB 7 18 C1E3E3E3C10000C1632263C1C1E3E3E3C100
GROB 7 18 E3E3E3C100000000C16363E3E3E3E3C10000
GROB 7 18 F7E3C1000000000000C163F7F7E3C1000000
GROB 7 18 E3E3E3C100000000C16363E3E3E3E3C10000
GROB 7 18 C1E3E3E3C10000C1632263C1C1E3E3E3C100
GROB 7 18 00C1E3E3E3C1C1632263C10000C1E3E3E3C1
GROB 7 18 0000C1E3E3E3E36363C100000000C1E3E3E3
GROB 7 18 000000C1E3F7F763C1000000000000C1E3F7
GROB 7 18 0000C1E3E3E3E36363C100000000C1E3E3E3
GROB 7 18 00C1E3E3E3C1C1632263C10000C1E3E3E3C1
}
  DESTIN {
"{ GROB 81 8 0000000E0F3E70000000000000000B8255A0000000000000008A8255A0"
"000000000000000A8255A0000000000000000A8255A0000000000000000A8255A00000"
"00000000000A8255A0000000000000008F3F3E7000000000 GROB 81 8 0000000F3E7"
"CF0000000000000008055AA41000000000000000055AA41000000000000000835AA410"
"00000000000000705AA41000000000000008205AA41000000000000008205AA4100000"
"0000000008F7E7CF000000000 GROB 81 8 0000000F3E7CF0000000000000008055AA"
"41000000000000000055AA41000000000000000E35AA41000000000000000055AA4100"
"0000000000000055AA41000000000000008055AA41000000000000000F3E7CF0000000"
"00 }" }
  YOUWON {
GROB 1 1 00
GROB 1 1 00
GROB 1 1 00
GROB 71 2 00000000000300000000C100000003000070
GROB 71 2 C16F9F91E913F9F91363B9FC81B9999FC813
GROB 71 2 6ED0F681BD9D0FED030E703681CED603ED81
GROB 71 2 0C6033C0CED6036F810C6033C0CB76036F81
GROB 71 2 066813E0CB7681668106EC03F0C93EC03600
GROB 71 2 03C70ED1C81C7C1CC0E10000000000000C00
GROB 71 2 000000000000000830000000000000000000
GROB 1 1 00
GROB 1 1 00
GROB 1 1 00 }
  HPWON {
GROB 1 1 00
GROB 71 2 0000000000000000000F7BFFF00000000000
GROB 71 2 0F730EF000000000000F1308F00000000000
GROB 71 2 078100E00003000000078100E00003000070
GROB 71 2 038100C0E913F9F91303C7C7C0B9999FC813
GROB 71 2 01CCCC80BD9D0FED0301CCCC80CED603ED81
GROB 71 2 01666680CED6036F8101666680CB76036F81
GROB 71 2 0366E3C0CB76816681030030C0C93EC03600
GROB 71 2 070030E0C81C7C1CC0070030E00000000C00
GROB 71 2 0F1818F000000008300F781EF00000000000
GROB 71 2 0FFBDFF00000000000000000000000000000
GROB 1 1 00
GROB 1 1 00 }
  PLANT {
"{ GROB 30 24 00000F1000008F300000C7300000E1200C30F0000E7078F00F703CF18"
"FF83EF38FF81F8381F8930380CDC101008DC000878D6C70CF9D6FF0EFBDEFF0E33FFFF"
"0E16F70F1ECFFF7C1CCF0E78148FFF3810830838000FFF18000E0E000008F3000 GROB"
" 30 24 00008F000000CF100000EB100C30F0100E7878F00F783CF18FF81EF38FFC1F8"
"381FC830380CDC101008DC000878D6C70CF9D6FF0EFBDEFF0EFBDEFF0E17FF0F1E06F7"
"0C1CCFFF7814CF0E78108FFF3800830838000FFF10000E0E000008F3000 GROB 30 24"
" 0000C7000000EF000C30FD000E7878F00F783CF18FF81EF38FF81F8381ED170380CD9"
"30100CDD100878DEE70CF9D6FF0EFBDEFF0EFBDEFF0E1FDE0F1E06F70C1C06F70814CF"
"FF7810CF0E78008FFF3800830830000FFF10000E0E000008F3000 }"
}
  POT {
"{ GROB 27 24 00EF300000EF300000CF100000CF100000EF300008FFF0000E6BD3008"
"7BD6F00CBD6BD10EFFFFF3060000030FFFFFF70BDADAD60DADADA5077777770BDADAD6"
"0DADADA50FFFFFF7060000030EFFFFF30CBD6BD1087BD6F000E7BD30000FF7000 GROB"
" 27 24 000000000000000000EF300000EF300000CF100000CF100000EF3000087BF00"
"00FBDE700CBD6BF10EFFFFF3060000030FFFFFF70BDADAD60DADADA5077777770BDADA"
"D60DADADA50FFFFFF7070000070EFFFFF30EBD6BD30C7BD6F100FFFF700 GROB 27 24"
" 0000000000000000000000000000000000EF300000EF300000CF100000CF100000FF7"
"0000EBDE300CBD6BF10EFFFFF3060000030FFFFFF70BDADAD60DADADA5077777770BDA"
"DAD60DADADA50FFFFFF7070000070EFFFFF30CBD6BF100EFFF300 }"
}
  SHAPES {
"{ GROB 18 15 1EFF303EFF307EFF30FEFF307EFF303EFF301EFF300000001EFF303EF"
"F307EFF30FEFF307EFF303EFF301EFF30 GROB 25 25 0FFFF100CFFFF700EFFFFF00E"
"FFFFF00FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF1"
"0FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFFF10FFFFF"
"F10EFFFFF00EFFFFF00CFFFF7000FFFF100 GROB 67 8 E7ECD9B377EEFDF170DFAE49"
"A2557AF5F25050A749A65D3A049250D7A349AE5D1A749250EBA349AE5D1A7492700AA7"
"49AA5D3A049200FBAE4FA2557AF5F270E7EC9F9377EEFDF170 GROB 63 8 F7CFC9BF3"
"70EF937DBA759AE550AF9255AA459A2550A08255AA459AE350A78255AA459AE350A783"
"75AA459A2550A0000DBA75FAE5DFAF937F7CF8F9F3FFEF937 GROB 67 25 040810030"
"3008100000E08100303008100000F18100303008100008B3810120302810100C178183"
"20303818300E0E01C12038380C10070C11E0303C300E000E080170303E3006000C1089"
"30303630200008308D10303230700000708F00303038300000E0870030303C100000C1"
"8F0030303E000000838D103030378100000789303030B38300020E01703030F1070007"
"0C11E03030F01E000E0E01C12030781C100C178183003038183008B381070030181070"
"00F1810E00300810E000E0810C1E300810C1004081083C300810830000000070000000"
"070000000020000000020 GROB 71 1 FFFFFFF9CFFFFFFF94 GROB 71 7 EFFFFFFF1"
"000000004FFFFFFFF339AC23E64FFFFFFFF3292BC2512FFFFFFFF394294A312FFFFFFF"
"F3D29429800FFFFFFFF3B19429901EFFFFFFF1000000000 }"
}
END

END_RPL

