Prev: 83EF Up: Map Next: 842E
83F5: "you have mastered ... % of this adventure."
Used by the routines at DO_QUIT, DO_SCORE and PLAYER_DIES.
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