![]() |
Routines |
| Prev: 83EF | Up: Map | Next: 842E |
|
The score at SCORE is kept in tenths of a per cent, so a full game would be 1000, and it is printed as two digits, a point and a third: the tens of per cent only if not zero, then the units, a point, and the tenths. There is no hundreds digit: DIGIT would count ten tens in 1000 and print the character after 9, so a full score comes out as ":0.0%" (watched in the emulator with the score set to 1000). No game gets there: the places VISIT_SCORES lists are worth 750. Reaching the lonelands scores 25 (VISIT_SCORES), which is the 2.5% a first death there reports.
|
||||
| SHOW_SCORE | 83F5 | PUSH HL | ||
| 83F6 | PUSH DE | |||
| 83F7 | XOR A | "you have mastered" | ||
| 83F8 | LD (INPUT_STYLE),A | |||
| 83FB | LD HL,MSG_YOU_HAVE_M_A | |||
| 83FE | CALL RUN_MESSAGE_HL | |||
| 8401 | LD HL,(SCORE) | Tens of per cent, if not zero | ||
| 8404 | LD DE,$0064 | |||
| 8407 | CALL DIGIT | |||
| 840A | CALL NZ,PRINT_CHAR | |||
| 840D | LD DE,$000A | Units of per cent | ||
| 8410 | CALL DIGIT | |||
| 8413 | CALL PRINT_CHAR | |||
| 8416 | LD A,$2E | A decimal point | ||
| 8418 | CALL PRINT_CHAR | |||
| 841B | LD A,L | Tenths | ||
| 841C | ADD A,$30 | |||
| 841E | CALL PRINT_CHAR | |||
| 8421 | XOR A | "% of this adventure." | ||
| 8422 | LD (CAPITAL_NEXT),A | |||
| 8425 | LD HL,MSG_OF_THIS_ADVENTURE | |||
| 8428 | CALL RUN_MESSAGE_HL | |||
| 842B | POP DE | |||
| 842C | POP HL | |||
| 842D | RET | |||
| Prev: 83EF | Up: Map | Next: 842E |