| Pyjamarama | Routines |
| Prev: 84EF | Up: Map |
|
Used by the routine at Game_DisplayFinalScore.
|
|||||||||
|
Calculates the overall percentage score using how many rooms visited and which objects collected.
|
|||||||||
| Game_CalculateScore | 84F4 | LD B,$20 | Table holding which objects collected and percentage values of each object. | ||||||
| 84F6 | LD HL,Object_FoundTable | ||||||||
| 84F9 | XOR A | Total percent. | |||||||
| Game_CalculateScore_0 | 84FA | DEC (HL) | See if objects has been picked up. | ||||||
| 84FB | JR NZ,Game_CalculateScore_1 | ||||||||
| 84FD | INC HL | If it has, then add value of object to total percentage. | |||||||
| 84FE | ADD A,(HL) | ||||||||
| 84FF | DAA | Keep in decimal by using BCD. | |||||||
| 8500 | JR Game_CalculateScore_2 | ||||||||
| Game_CalculateScore_1 | 8502 | INC HL | Skip object (if not marked as carried) | ||||||
| Game_CalculateScore_2 | 8503 | INC HL | Next object in table. | ||||||
| 8504 | DJNZ Game_CalculateScore_0 | ||||||||
| 8506 | LD B,$1E | Number of rooms. | |||||||
| Game_CalculateScore_3 | 8508 | ADD A,(HL) | 1 percent for each room visited. | ||||||
| 8509 | DAA | Again keep decimal. | |||||||
| 850A | INC HL | Next room flag. | |||||||
| 850B | DJNZ Game_CalculateScore_3 | ||||||||
| 850D | RET | ||||||||
| Prev: 84EF | Up: Map |