[comp.sys.handhelds] H. Piper! game for SUPER-CHIP

vapsppr@prism.gatech.EDU (Paul Raines) (05/19/91)

Below you will find the game H. Piper! for Erik Bryntse's new
Super-CHIP.  This probably not the super game you were hoping
for, Erik, but it has only been three days. The only feature
this game takes advantage of is the higher screen resolution.
It in ASC form so just cut it out, download, and run ASC->
on it.

DISCLAIMER: Since CHIP makes use of undocumented features
of the HP48SX, anything happen: loss of data, meltdown,
etc. Therefore, I take no responsibility for any damage
whatsoever that occurs.

****************  H. Piper!  **********************

OBJECT:
-------
You are presented with a 6 row, 10 column grid and
a preview panel of 5 pipes. A starting pipe will be
placed on the grid and will in a few seconds start
leaking.  The object is to lay pipes on the grid to
contain the leak as long as you can.  If the water
flows onto a empty grid site, onto the side of another
pipe or border, that plumbing job is finished.  If you
did well enough, you may get another job.  Otherwise
the game is over.

HOW TO PLAY:
------------
On the bottom and right borders of the grid are grid
pointers.  The bottom pointer can be moved left with
the (1) key and right with the (2) key.  The side
pointer can be moved up with the (9) key and down with
the (6) key. (Note: this is identical to the movement
keys for Syzygy by Roy Trevino)

Using the pointers, chose a grid site to place a pipe.
The pipe to be placed is the one at the bottom of
the preview column. Once a site is chosen, press the
(7) key to place the pipe there.  You can replace
a pipe already at the grid site with a penalty of one
point.  You cannot replace a pipe that the water has
already flown through.  Trying to do this will make
you lose the pipe you were trying to place and also
penalize you one point.

When you have placed all the pipe you wish to for
a particular job, you can press the (+) key to make
the water flow *FAST*.  You can still lay pipe if
you realize you made a mistake, but hurry!

   KEY SUMMARY:     Left     (1)
                    Right    (2)
                    Up       (9)
                    Down     (6)
                    Place    (7)
                    Fast     (+)

Once a job is over, press (SPACE) to continue.

There are ten levels with increasing water flow speed.
Level 10's speed is the same as that for *FAST*. If
you manage to get through level 10, it repeats at
that level till you don't.

SCORING:
--------
You receive 3 points for every pipe the water flows
through.  For the crossed pipes, flowing through
them in both directions gives you 6 points. (Note:
some adventuresome combinatorist might want to
figure out what the maximum possible score is. If
it is over 255, there could be a problem, but I
doubt it.) You are penalized 1 point for replacing
or trying to replace a pipe already on the grid.

The current job score is shown in upper right corner
up to 99.  If the score goes over 99, the displayed
score rolls over.  However, upto 255, the full
score is kept in memory.

Once a job is over, the score earned is added to
the grand total and displayed on the screen shown
after (SPACE) is pressed. This total has two parts.
The first part before the two periods is the total
up to 255.  The second part is the number of times
the total rolled over.  Therefore to get the real
total, multiply the second part by 256 and add the
first part.  (Note: Sorry about this method, but I
haven't worked out the preferred way yet.)

If the game is over, the word OVER will be displayed
above the score and the (DEL) key must be pressed
to exit.  Else, press (SPACE) to go on to the next
job.  The points needed to go to the next job are
obtained by the following formula:

    Points needed = 100 - (41 - 4 * level)

therefore, you need 63 points to go to job 2
                    67 points to go to job 3
                    ...
                    99 points to go to job 11,12,....

DEVELOPMENT NOTES:
-----------------
Grid Pointers  -- determining the best method to mimick the
                  mouse cursor of the arcade game was the
                  trickest conceptual problem.  Having
                  cross-hairs on the grid would be possible
                  but extremely difficult to implement. I
                  will work at it if enough people complain.

Total Score   --  I am no binary mathematician. If someone
                  can show me a way to display a decimal
                  number of greater than 255, I would be
                  much obliged.

Pipe Graphics --  As you will probably notice, a lack of
                  color is a big problem in trying to sort
                  out what you have laid out.  Having 8x8
                  pipe bitmaps was a cornerstone of my
                  design so enlarging them for better
                  resolution would be difficult and probably
                  restrict the grid size unduly.

Randomness    --  Just how random is S-CHIP's random generator?
                  You will probably notice that the cross pipe
                  comes up more often than the others. True. It
                  is twice as likely to be chosen than any of
                  the others.  Another design fluke. However,
                  being the one true symmetrical piece, it
                  will be the most useful to get often.

H. Piper! was written using the excellent compiler Chipper.
I will make the source available if there is any interest.
Be forewarned.  I am a pretty sloppy coder.  There is
much room for improvement in efficiency.


ACKNOWLEDGEMENTS:
----------------
        CHIP-48 is (C) Copyright 1990 Andreas Gustafsson.
                 - Many, many thanks to the one who started it all.

        Chipper is (C) Copyright 1990 Christian Egeberg.
                 - It is amazing that with such a great compiler
                   as this, there are so few CHIP games out there.

        SUPER-CHIP is (C) Copyright 1991 Erik Bryntse
                 - Never be satisfied with limitation.

        ASC-> is written by William C Wickes.

Happy plumbing!

-- (cut here) ---------------------------------------------------------
%%HP: T(3)A(D)F(.);
"C2A2054B0000FF000E86A421A105E202251696E656370282369202139393136A
6F0662169336003FE10D5136500780036421227AA0068616200D51078026502F
E10D517A41068616A20D51078026502FE10D5108086A050F556A26060016000D
210780030621A546206A8306000DC46A4406800DC447C043E321466600526C67
1063502187162306016A270D61078003062168160006066A630D211720138321
49D64006403247E603060332E716206AAA06010D810780030621EA1780132321
CA3C3038E56A0E3FE11F56B800280106335283C633A6205268760052CF622106
FF0F5106700E1A324106800E1A32C206300E1A324406600E1A32C506100E1A32
A006F00E1A86200F700400322921ED526C080D084E528300EE080D3247080D07
FF04FF0600D800324706700E1A314200EE080D3247080D071004A00690D80032
4706800E1A31C300EE080E32E7080E070F040F0600E80032E706300E1A314500
EE080E32E7080E070104060605E80032E706600E1A31C600EE0706420F6A2D0D
4100EE07A0420F6AAC0D8100EE0F510F70030031A800EE0809160F0821040031
6AA350316AB8390670B820A710280AB300312B2680285A080B08650865030031
6DB30027FF080C420F18426A6D0D11F40041E00D11A410412441E0B350316E36
082480312F3865271031CD36102480312F38E52710318E180308036A2B1F556A
2B080C420F17300D21F40041E00D21A4104124A38041C252CF773052CFA60052
09526894B04124080C5281080916101F550808C433074B0F5100EE06B00EE941
830E1A41C300EE06300F814263000E6A2F1F560847F30017106A2F1F55680058
01368246826AEE6F332F560F033DA437B01F033DA437B02F033DA437B06A253D
A46AEE5F332F5637B01F033DA437B02F033DA46A050F56880084208780878F08
071808186507C108410865086508650865086508650865040041ED4263000E06
B0160026007A822FE11F5527202387410C060026006A8E2FE11F552720236041
0D21A17AE106A216810D51078026502FE10D5141EE1800F60F182F1865F6F008
2F08E508E508E50701172000EE070F17EF08650865086518E5084100EE7A8218
00F6F0182F18E51FE1F60F082F0865180018651865084108E50FE100EE380052
811F56560003B056FF140051E416301F8151A652670803420F0D810803528116
0008021F55080252670803420F0D8152CF784574FF760052CF00EE16F0082108
E508E508E56A250FE100EE080C52811F56980000EE0600B4600610B4300601B4
00060FB45006FF180C1840F60F182F140F412414064124180C1840F6F0182F14
F0412414A04124C84000EE1C706A8D1FE10F565800463036006A8E3FE10F5628
00526706400D846A8E3FE108050F55526706400D8447C0580237103350514D00
EE6AEE7F332F561F03368646903DA437B02F033DA400EE080807EF0865086508
6516A018506AEE1F332F561F03368646233DA437B02F033DA400EE8F8F0C0C0C
0C0C0C0C0C0C0C0CFF3030303030303030303030FF000000000000000000003C
3C3C3C3C3C3C3CFFFF00000000FFFF3C3C000000003C3CFFFFFFFFFFFFFFFFFF
FF303030303C3CFFFF0C0C0C0C3C3CFFFF0C0C0C0CFFFFFFFF30303030FFFF3C
3C3C3C3C3CFFFFFFFF3C3C3C3C3C3C00E724242424E70000000000000000003C
3C0C0C0C0CFFFF3C3C30303030FFFF0001010707010100008181E781001020D1
5161E1303060705080009030A000000000000000000000000000003A2A3E2AAA
BB293921A3BB2A3B22A388888804849D292D259DB3AA3BAAB2A929A9199D4B4A
4B4263AEAAEA4A4EEEA8EC989EB000B000B000B000B000B000B000B000B000B0
00B000B000B000B000B000B000B000B000B000B000B000B000B000B000B000B0
00B000B000B000B000B000B000B000B000B000B000B000B000B000B000B000B0
00B000B000B000B000B000B000B000B000B000B000B000B000B000B000B000B0
00B000B0009987"
-- (cut here) ---------------------------------------------------------
-- 
Paul Raines
Georgia Institute of Technology, Atlanta Georgia, 30332
uucp:	  ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!vapsppr
Internet: vapsppr@prism.gatech.edu