10 initWorld('Underground');
20 Self::construct (); 

 30 World->createEvent (random); 
40 Event->engage (Self); 

50 init (TRAIN); 
60 if (Self.isEngaged (Event) ==true) {
70         TRAIN->destroy (Self);
80         } 

 90 Self->reTrace(Event); 

100 if (Self->correct (Event) == true or Self->erase (Event) ==true) {
110         Self::reconstruct ();
120         }
130 else {
140         Self->exitWorld ();
150         } 

 160 echo "The next train arrives in 2 minutes!"; 

 170 wait (120s);
 180 goto(30);