Prev: 39499 Up: Map Next: 39674
39589: End Round
Used by the routines at MainLoop and LoseLife.
Used when every sector has either been destroyed or activated. It shows how many of each there are. If at least eight sectors have been activated then the player goes on to the next round, and otherwise the game is lost.
EndRound 39589 LD A,(38489) Fetch the number of sectors that have been destroyed.
39592 ADD A,48 Convert it into a digit...
39594 LD (39680),A ...and write it into the text of the message that shows it (see Message_SectorsDestroyed).
39597 LD A,(38488) Fetch the number of sectors that have been activated.
39600 ADD A,48 Convert it into a digit...
39602 LD (39699),A ...and write it into the text of the message that shows it (see Message_SectorsActivated).
39605 LD A,71 Use bright white on black as the attribute.
39607 CALL ClearPlayWindowWithAttributes Clear the play window using ClearPlayWindowWithAttributes.
39610 LD DE,39674 Point DE' at the attributes of the two lines of text (see RoundResult_Attributes).
39613 EXX Switch to the shadow registers, as PrintTextList expects the attributes there.
39614 LD HL,39676 Point HL at RoundResult_Coordinates.
39617 LD DE,39680 Point DE at Message_SectorsDestroyed.
39620 LD B,2 There are two lines to print.
39622 CALL PrintTextList Print them using PrintTextList.
39625 LD A,(38488) Fetch the number of sectors that have been activated.
39628 CP 8 Jump if at least eight sectors have been activated.
39630 JR NC,EndRound_Continue
39632 LD DE,39720 Point DE' at the attributes of the last two lines of the defeat message.
39635 EXX Switch to the shadow registers.
39636 LD HL,39726 Point HL at DefeatMessage_Coordinates_LastLines.
39639 LD DE,39761 Point DE at DefeatMessage_TextFailed.
39642 LD B,2 There are two lines to print.
39644 CALL PrintTextList Print them using PrintTextList.
39647 LD DE,49897 Point DE at GameLostTune.
39650 CALL PlayMusic Play it using PlayMusic.
39653 JP LoseGame_Wait Wait for a while and end the game using LoseGame_Wait.
The player has activated at least eight sectors.
EndRound_Continue 39656 LD DE,39795 Point DE' at the attributes of the last two lines of the victory message.
39659 EXX Switch to the shadow registers.
39660 LD HL,39803 Point HL at VictoryMessage_Coordinates_LastLines.
39663 LD DE,39852 Point DE at VictoryMessage_TextContinue.
39666 LD B,2 There are two lines to print.
39668 CALL PrintTextList Print them using PrintTextList.
39671 JP WinRound_Tune Play the victory tune and start the next round using WinRound_Tune.
Prev: 39499 Up: Map Next: 39674