Routines 
Prev: 31996  Up: Map  Next: 32131 
Used by the routine at 32178. Makes the teacher wipe the board (if there is one), tell the kids what to do, and then walk up and down until the end of the lesson.


32048  CALL 28968  A=identifier of the blackboard the teacher is next to  
32051  LD C,A  Copy this to C  
32052  CP 236  Is the teacher on the top floor?  
32054  JR NZ,32062  Jump if not  
32056  INC L  L=98  
32057  LD A,(HL)  A=teacher's xcoordinate  
32058  CP 58  Is the teacher in the Map Room?  
32060  JR NC,32112  Jump if so (there's no blackboard in the Map Room)  
32062  LD BC,29148  Hand over control to the routine at 29148, making the teacher wipe the blackboard  
32065  CALL 31985  
Control returns here when the teacher has finished wiping the blackboard.


32068  LD L,98  A=teacher's xcoordinate (equal to that of the left edge of the blackboard)  
32070  LD A,(HL)  
32071  ADD A,3  Place the xcoordinate of the middle of the blackboard into byte 107 of the teacher's buffer, and the same value into byte 108 (which ensures that the routine at 25404 will not relinquish control before the teacher has reached the middle of the blackboard)  
32073  LD L,107  
32075  LD (HL),A  
32076  INC L  
32077  LD (HL),A  
32078  LD BC,25404  Hand over control to the routine at 25404, making the teacher walk to the middle of the blackboard  
32081  CALL 31985  
Control returns here when the teacher has reached the middle of the blackboard.


32084  CALL 24993  A=random number  
32087  CP 160  Should the teacher write on the blackboard?  
32089  JR C,32112  Jump if not  
32091  LD BC,29284  Hand over control to the routine at 29284, making the teacher write on the blackboard  
32094  CALL 31985  
Control returns here when the teacher has finished writing on the blackboard.


32097  CALL 24993  A=random number  
32100  CP 160  Should the teacher tell the kids to write an essay?  
32102  JR C,32112  Jump if not  
32104  LD BC,62166  62166: 'WRITE AN ESSAY WITH THIS TITLE'  
32107  CALL 32038  Make the teacher tell the kids to write an essay  
32110  JR 32115  
32112  CALL 31996  Make the teacher tell the kids to go to a page in their books  
Now we enter a loop that makes the teacher walk up and down next to the blackboard (or the map).


32115  LD L,98  A=teacher's xcoordinate  
32117  LD A,(HL)  
32118  XOR 3  Store the xcoordinate of the location 1 or 3 spaces behind the teacher in byte 107 of his buffer  
32120  LD L,107  
32122  LD (HL),A  
32123  LD BC,25404  Hand over control to the routine at 25404, making the teacher turn round and walk 1 or 3 paces  
32126  CALL 31985  
32129  JR 32115  Make the teacher turn round and walk 1 or 3 paces again 
Prev: 31996  Up: Map  Next: 32131 