ProfessorCode

Click here to return to “Professor”

PROGRAM ; MARCUS

  OBJECT   victor: MESSAGE;
  OBJECT   1-10: RANDOM(10);

  VARIABLE secretnumber;
  VARIABLE askq;

  INITIAL TASK wannaplay;
   askq := 100;
   secretnumber := 1-10;
   SEND askq;
   WHILE victor = 0
   END WHILE;
   START TASK YesorNo
  END;

  TASK yesorno;
   IF victor = 101
     THEN
       TONE 40, 400;
       STOP TASK YesorNo;
     ELSE
       CLEAR victor;
       SEND 120;
       WHILE victor = 0
       END WHILE;
       START TASK HighLow
   END IF
  END;

  TASK highlow;
   LOOP FOREVER
     TONE 300, 100;
     TONE 262, 100;
     TONE 300, 100;
     IF victor = secretnumber
       THEN
         LOOP secretnumber
           TONE 650, 100;
           WAIT 50
         END LOOP;
         STOP TASK HighLow;
       ELSE
         IF secretnumber < victor
           THEN
             SOUND 2;
             WAIT 100;
             CLEAR victor;
             SEND 130;
           ELSE
             SOUND 2;
             WAIT 100;
             CLEAR victor;
             SEND 140
         END IF
     END IF
   END LOOP
  END;

END.

PROGRAM ; VICTOR

  OBJECT   marcus: MESSAGE;
  OBJECT   playlust: RANDOM(10);
  OBJECT   1-10: RANDOM(10);

  VARIABLE playanswer;
  VARIABLE guess;

  INITIAL TASK wannaplay;
   playanswer := playlust;
   WHILE marcus = 0
   END WHILE;
   CLEAR marcus;
   IF playanswer < 3
     THEN
       SEND 101;
     ELSE
       SEND 102;
       WHILE marcus = 0
       END WHILE;
       CLEAR marcus;
       START TASK YesorNo
   END IF
  END;

  TASK yesorno;
   guess := 1-10;
   SEND guess;
   WHILE marcus = 0
   END WHILE;
   START TASK Guessing
  END;

  TASK guessing;
   LOOP FOREVER
     IF marcus = 140
       THEN
         CLEAR marcus;
         SOUND 1;
         WAIT 200;
         guess := guess + 1;
         SEND guess;
         WHILE marcus = 0
         END WHILE;
       ELSE
         CLEAR marcus;
         guess := guess - 1;
         SOUND 5;
         WAIT 200;
         SEND guess;
         WHILE marcus = 0
         END WHILE
     END IF
   END LOOP
  END;

END.

[Home] [Eva] [F-M] [Marcus] [Victor] [Lucas Oscar] [HAL9000]