SHOW_SCORE prints the score at
SCORE as a percentage with one decimal place, from tenths of a per cent -- so a full game would be 1000. It prints two digits, a point and a third: the tens of per cent, left out when 0, the units and the tenths. There is no hundreds digit.
DIGIT counts how many times the place value goes in and adds the count to the character 0, so a score of 1000 would give ten tens and print the character after 9, a colon: watched in the emulator with the score set to 1000, SCORE said ":0.0%". But the only thing that ever adds to the score is MOVE (
MOVE), the first time the player reaches a place listed in
VISIT_SCORES, and those fourteen places are worth 750 between them: the lower halls 20%, the long lake 10%, the goblins' dungeon 7.5%, the trolls' cave, the dark stuffy passage, the dark dungeon and the smooth straight passage 5% each, and the lonelands, the narrow place, Beorn's house, the smothering forest, the levelled elvish clearing, Dale valley and the side door 2.5% each. Nothing else writes to the score -- no action, no character's script, no treasure -- and winning (
CHECK_WON) adds nothing and does not even show it. So the best any game can do is 75.0% -- and the routine could not show a full score even if one were reached. Where the missing quarter was meant to come from -- the treasure, perhaps, or the dragon -- the code does not say.