![]() |
Routines |
| 28002 | LD H,210 | 210=ERIC |
| 28004 | CALL 27886 | Collect in C and B the lower and upper x-coordinates of the 20-character-space-wide "visibility region" around the boy |
| 28007 | EXX | |
| 28008 | LD H,200 | 200=MR WACKER |
| 28010 | LD B,6 | There are 6 adult characters |
| 28012 | EXX | |
| 28013 | CALL 27954 | Find the first adult character inside the visibility region (if any) |
| 28016 | JR C,28025 | Jump if we found one who can see the boy |
| 28018 | AND A | Are there any adult characters left to check? |
| 28019 | RET Z | Return with the carry flag reset if not |
| 28020 | CALL 27980 | We must have found an adult character who is facing the wrong way to see the boy; skip this character and find the next one inside the visibility region |
| 28023 | JR NC,28018 | Jump if there are no others inside the visibility region, or we found another one facing the wrong way |
| 28025 | EXX | |
| 28026 | LD A,H | A=character number of adult who saw the boy |
| 28027 | EXX | |
| 28028 | RET | Return with the carry flag set |