The Museum of HP Calculators

Robot Trap for the HP-41C/CV/CX

This program is Copyright © HP and is used here by permission. It was originally printed in the Games Solution Book. This program was entered and uploaded by Tony Duell. The documentation was entered by Dave Hicks. The Barcode for this program was provided by Brian Ward.

This program is supplied without representation or warranty of any kind. Tony Duell, Hewlett Packard and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.

Overview

You move your android to any adjacent square on a 10 x 10 playing board studded with destructive force fields and up to 49 enemy robots in such a way as to lure the robots into their own electronic booby traps and save the android. The robots will always close on the android, moving to the square adjacent to their present position which is nearer to the row and column position of the android, and will team up to destroy him. The android, like the robots, is destroyed by moving into a force field, and the android is also destroyed by colliding with a robot. If robots collide all but one involved are destroyed. You choose the initial number of robots. The number of force fields is equal to the initial number of robots plus one. Even a few robots can be challenging and the more robots the more difficult. All initial positions are randomly generated.

If you move the android into a force field you will see "ZAP" then "TOO BAD". If you move the android into a robot you will see "STOMP" then "TOO BAD". If a robot stumbles into a force field you will see "STUMBLE". And, if robots hit, you will see "BUMP". Finally, if all robots are destroyed, you will see "YOU WIN".

The board is set up as below:

Board positions are denoted as x.y . The android shown is at 7,2. To move the android use the digits keys to specify directions as follows:

```        1 - down and left       6 - right
2 - down                7 - up and left
3 - down and right      8 - up
4 - left                9 - up and right
5 - no movement
```

Note: Do not move off the board. Execution times at all points in the program increase with the initial number of robots.

Note: Requires 1 Memory Module on HP-41C

Instructions

 Step Instructions Input Data/Units Keys Output Data/Units 1 Enter program 2 Initialize [XEQ] RT SEED? 3 Key in number between 0 and 1 seed [R/S] NO.OF ROBOTS 4 Key in the number of robots you wish. num [R/S] SET SIZE(NNN) 5 Set size specified. [XEQ] SIZE(NNN) [R/S] F.F. AT ()* (If size was already set at or above specified, the program will skip that prompt.) 6 Continue pressing [R/S] to see the rest of the force field and robot Placements until the android placement appears. [R/S]. . . . . . [R/S] ANDROID: () 7 Move the android (only when "ANDROID: ( )" is in display. direction [R/S] ROBOT AT () 8 Go to 6 to see the rest of the robot placements and new android placement. 9 For a new game [E] NO.OF ROBOTS 10 Go to step 4. * Force field placements are only output at the beginning of the game.

Example

```   Keystrokes:          Display:
[XEQ] [ALPHA]
SIZE [ALPHA] 014
[XEQ] [ALPHA]
RT [ALPHA]              SEED?
.12569 [R/S]            NO. OF ROBOTS
3 [R/S]                 F.F. AT 7,8
[R/S]                   F.F. AT 7,1
[R/S]                   F.F. AT 3,6
[R/S]                   F.F. AT 3,3
[R/S]                   ROBOT AT 6,8
[R/S]                   ROBOT AT 0,6
[R/S]                   ROBOT AT 7,9
[R/S]                   ANDROID: 6,1
3 [R/S]                 STUMBLE
ROBOT AT 7,7
[R/S]                   ROBOT AT 1,5
[R/S]                   ANDROID: 7,0
4 [R/S]                 ROBOT AT 6,6
[R/S]                   ROBOT AT 2,4
[R/S ]                  ANDROID: 6,0
.                        .
.                        .
.                        .
```

How to get this Program to your Calculator (via HP-IL, disk, wand, and fingers)
Display the Program Barcode (.pdf) for printing and scanning

Program Listing

```LINE  KEYS
01 LBL "RT"
02 SF 27
03 "SEED?"
04 PROMPT
05 STO 00
06 LBL E
07 "NO. OF ROBOTS"
08 PROMPT
09 STO 03
10 2
11 *
12 1
13 +
14 6
15 +
16 "SET SIZE "
17 FIX 00
18 CF 29
19 ARCL X
20 SF 25
21 1
22 -
23 STO IND X
24 FC?C 25
25 PROMPT
26 RCL 03
27 1 E3
28 /
29 ST+ 03
30 6.005
31 +
32 STO 02
33 RCL 03
34 +
35 .001
36 +
37 STO 01
38 FRC
39 6
40 +
41 STO 03
42 5.004
43 STO 04
44 100
45 XEQ 99
46 10
47 /
48 STO 05
49 LBL 00
50 RCL 04
51 100
52 XEQ 99
53 10
54 /
55 LBL 11
56 RCL IND Y
57 X=Y?
58 GTO 00
59 RDN
60 DSE Y
61 GTO 11
62 STO IND 03
63 1
64 ST+ 04
65 ISG 03
66 GTO 00
67 FIX 01
68 CF 28
69 RCL 01
70 "F. F. "
71 ASTO 03
72 XEQ 10
73 LBL 98
74 CF 28
75 RCL 02
76 "ROBOT "
77 ASTO 03
78 CF 05
79 XEQ 10
80 "ANDROID: "
81 ARCL 05
82 AVIEW
83 SF 28
84 FS? 05
85 GTO 97
86 PSE
87 "ANDROID SAFE"
88 AVIEW
89 TONE 09
90 TONE 08
91 TONE 09
92 TONE 07
93 TONE 09
94 RTN
95 LBL 10
96 STO 04
97 LBL 16
98 RCL IND 04
99 X<0?
100 GTO 10
101 SF 05
102 CLA
103 ARCL 03
104 "AT "
105 ARCL X
106 AVIEW
107 STOP
108 LBL 10
109 ISG 04
110 GTO 16
111 RTN
112 LBL 97
113 CF 22
114 STOP
115 FC? 22
116 GTO 98
117 GTO IND X
118 LBL 01
119 -1.1
120 GTO 10
121 LBL 02
122 -.1
123 GTO 10
124 LBL 03
125 .9
126 GTO 10
127 LBL 04
128 -1
129 GTO 10
130 LBL 05
131 0
132 GTO 10
133 LBL 06
134 1
135 GTO 10
136 LBL 07
137 -.9
138 GTO 10
139 LBL 08
140 .1
141 GTO 10
142 LBL 09
143 1.1
144 LBL 10
145 ST+ 05
146 RCL 05
147 XEQ 96
148 FS? 05
149 GTO 95
150 RCL 02
151 STO 03
152 LBL 14
153 RCL 05
154 INT
155 RCL IND 03
156 X<0?
157 GTO 10
158 INT
159 -
160 X#0?
161 SIGN
162 RCL 05
163 FRC
164 RCL IND 03
165 FRC
166 -
167 X#0?
168 SIGN
169 10
170 /
171 +
172 ST+ IND 03
173 LBL 10
174 ISG 03
175 GTO 14
176 RCL 02
177 STO 03
178 LBL 15
179 -1
180 X<> IND 03
181 X<0?
182 GTO 10
183 XEQ 96
184 FC? 05
185 GTO 10
186 -1
187 "BUMP"
188 FS? 06
189 "STUMBLE"
190 AVIEW
191 TONE 09
192 CLD
193 LBL 10
194 STO IND 03
195 ISG 03
196 GTO 15
197 RCL 05
198 XEQ 96
199 FC? 05
200 GTO 98
201 LBL 95
202 "STOMP"
203 FS? 06
204 "ZAP"
205 AVIEW
206 TONE 00
208 AVIEW
209 RTN
210 LBL 96
211 SF 05
212 SF 06
213 RCL 01
214 X<>Y
215 LBL 12
216 RCL IND Y
217 X=Y?
218 RTN
219 RDN
220 ISG Y
221 GTO 12
222 CF 06
223 RCL 02
224 X<>Y
225 LBL 13
226 RCL IND Y
227 X=Y?
228 RTN
229 RDN
230 ISG Y
231 GTO 13
232 CF 05
233 RTN
234 LBL 99
235 RCL 00
236 9821
237 *
238 .211327
239 +
240 FRC
241 STO 00
242 *
243 INT
244 RTN
245 END
```