Prev: AD3B Up: Map Next: AE04
AD5C: Report Opponent Score
Used by the routine at Animation_OpponentThrowing.
ReportOpponentScore AD5C LD HL,$AD75 HL=AD75.
AD5F LD A,(HL) A=*HL.
AD60 PUSH AF Stash AF on the stack.
AD61 LD (HL),$20 Write 20 to *HL.
AD63 CALL PrintString_Loop Call PrintString_Loop.
AD66 DEFB $10,$05 INK: CYAN.
AD68 DEFB $11,$00 PAPER: BLACK.
AD6A DEFB $12,$01 FLASH: ON.
AD6C DEFB $16,$17,$10 PRINT AT: 17, 10.
AD6F DEFM "GOT" got
AD72 DEFB $16,$17,$1A PRINT AT: 17, 1A.
AD75 DEFM " " "   ".
AD78 DEFB $FF Terminator.
AD79 POP AF Restore AF from the stack.
AD7A LD C,$14 C=14.
AD7C LD B,$17 B=17.
AD7E CALL ReportOpponentScore_Type Call ReportOpponentScore_Type.
AD81 RET Return.
Now report the "type" of scoring.
ReportOpponentScore_Type AD82 CP $53 Jump to Report_Single if A is equal to 53.
AD84 JR Z,Report_Single
AD86 CP $44 Jump to Report_Double if A is equal to 44.
AD88 JR Z,Report_Double
AD8A CP $54 Jump to Report_Treble if A is equal to 54.
AD8C JR Z,Report_Treble
AD8E CP $4D Jump to Report_MissedBoard if A is equal to 4D.
AD90 JR Z,Report_MissedBoard
AD92 CP $42 Jump to Report_Bullseye if A is equal to 42.
AD94 JR Z,Report_Bullseye
AD96 RET Return.
Report score is a "SINGLE".
Report_Single AD97 LD A,B Write BC to *Report_Single_PrintAt+01/ 02 (co-ordinates).
AD98 LD ($ADA3),A
AD9B LD A,C
AD9C LD ($ADA4),A
AD9F CALL PrintString_Loop Call PrintString_Loop.
Report_Single_PrintAt ADA2 DEFB $16,$16,$00 PRINT AT: 16, 00.
ADA5 DEFM "SINGLE" single
ADAB DEFB $FF Terminator.
ADAC RET Return.
Report score is a "DOUBLE".
Report_Double ADAD LD A,B Write BC to *Report_Double_PrintAt+01/ 02 (co-ordinates).
ADAE LD ($ADB9),A
ADB1 LD A,C
ADB2 LD ($ADBA),A
ADB5 CALL PrintString_Loop Call PrintString_Loop.
Report_Double_PrintAt ADB8 DEFB $16,$16,$00 PRINT AT: 16, 00.
ADBB DEFM "DOUBLE" double
ADC1 DEFB $FF Terminator.
ADC2 RET Return.
Report score is a "TREBLE".
Report_Treble ADC3 LD A,B Write BC to *Report_Treble_PrintAt+01/ 02 (co-ordinates).
ADC4 LD ($ADCF),A
ADC7 LD A,C
ADC8 LD ($ADD0),A
ADCB CALL PrintString_Loop Call PrintString_Loop.
Report_Treble_PrintAt ADCE DEFB $16,$16,$00 PRINT AT: 16, 00.
ADD1 DEFM "TREBLE" treble
ADD7 DEFB $FF Terminator.
ADD8 RET Return.
Report score is a "MISSED BOARD".
Report_MissedBoard ADD9 CALL PrintString_Loop Call PrintString_Loop.
Report_MissedBoard_PrintAt ADDC DEFB $16,$17,$10 PRINT AT: 17, 10.
ADDF DEFM " MISSED BOARD" missed-board
ADEC DEFB $FF Terminator.
ADED RET Return.
Report score is a "BULL".
Report_Bullseye ADEE LD A,B Write BC to *Report_Bullseye_PrintAt+01/ 02 (co-ordinates).
ADEF LD ($ADFA),A
ADF2 LD A,C
ADF3 LD ($ADFB),A
ADF6 CALL PrintString_Loop Call PrintString_Loop.
Report_Bullseye_PrintAt ADF9 DEFB $16,$16,$00 PRINT AT: 16, 00.
ADFC DEFM "BULL " bull
AE02 DEFB $FF Terminator.
AE03 RET Return.
Prev: AD3B Up: Map Next: AE04