Prev: A7C4 Up: Map Next: A86E
A814: THROW ACROSS, carried by the rope
Across a river: "it sails across and" -- and if the boat is on the far bank, half the time it "lands in the boat.", tying the boat to it, and otherwise falls short or slides out again. With no boat there it lands on the other side, half the time, or falls short.
THROW_ROPE_ACROSS A814 LD A,(INSTRUMENT) Across what? A river's way over
A817 CALL EXIT_VIA_A
A81A CP $FF
A81C JP Z,REFUSE
A81F CALL FOR_REAL The test ends here
A822 LD HL,MSG_IT_SAIL_ACROSS_AND "it sails across and"
A825 CALL RUN_MESSAGE_HL
A828 LD A,(WOODEN_BOAT_WHERE) Is the boat on the far bank?
A82B CP (IX+$02)
A82E JR NZ,THROW_ROPE_ACROSS_1
A830 CALL HALF_THE_TIME Then half the time into it; if not, short or out again
A833 JR C,THROW_ROPE_ACROSS_0
A835 LD HL,MSG_FALL_JUST_SHORT_OF
A838 CALL HALF_THE_TIME
A83B JR C,THROW_ROPE_ACROSS_2
A83D LD HL,MSG_BUT_SLIDE_OUT_AGAIN
A840 JR THROW_ROPE_ACROSS_2
THROW_ROPE_ACROSS_0 A842 LD A,$12 In the boat: the boat is tied to the rope
A844 LD (WOODEN_BOAT_HOLDER),A
A847 LD HL,MSG_LAND_S_IN_THE
A84A JR THROW_ROPE_ACROSS_2
THROW_ROPE_ACROSS_1 A84C LD HL,MSG_FALL_JUST_SHORT_OF No boat: half the time short
A84F CALL HALF_THE_TIME
A852 JR C,THROW_ROPE_ACROSS_2
A854 LD A,(IX+$02) ...otherwise over, onto the far bank
A857 LD IX,(TARGET_RECORD)
A85B LD (IX+$10),A
A85E LD (IX+$01),$FF
A862 LD A,(TARGET)
A865 CALL MOVE_CONTENTS
A868 LD HL,MSG_LAND_S_ON_THE
THROW_ROPE_ACROSS_2 A86B JP RUN_MESSAGE_HL Say which
Prev: A7C4 Up: Map Next: A86E