summaryrefslogtreecommitdiff
path: root/hamster/ls-Herbert und Robbi 2
blob: 7394932ac599d12d47efb148e8a7cb9140b416e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(* 
        
          ********************************************************* 
          ********************************************************* 
          **                                                     ** 
          **               ls-Herbert und Robbi 2                ** 
          **                                                     ** 
          **                     Version 1.1                     ** 
          **                                                     ** 
          **                  (Stand: 30.03.88)                  ** 
          **                                                     ** 
          **                                                     ** 
          **         Autor: Wolfgang Weber, Bielefeld            ** 
          **                                                     ** 
          **                                                     ** 
          ** Copyright (C) 1987, 1988 Eva Latta-Weber, Bielefeld ** 
          **                                                     ** 
          ** Copyright (C) 1988 ERGOS GmbH, Siegburg             ** 
          **                                                     ** 
          ********************************************************* 
          ********************************************************* 
 
                                                                           *) 
 
PACKET ls herbert und robbi 2  DEFINES{}       rechts frei,{}       links frei,{}       hinten frei,{}       korn vorn,    werkstueck vorn,{}       korn links,   werkstueck links,{}       korn rechts,  werkstueck rechts,{}       korn hinten,  werkstueck hinten:{}BOOL PROC rechts frei:{}  rechts um;{}  IF vorn frei{}     THEN links um; TRUE{}     ELSE links um; FALSE{}  FI{}END PROC rechts frei;{}BOOL PROC links frei:{}  links um;{}  IF vorn frei{}     THEN rechts um; TRUE{}     ELSE rechts um; FALSE{}
  FI{}END PROC links frei;{}BOOL PROC hinten frei:{}  kehrt;{}  IF vorn frei{}     THEN kehrt; TRUE{}     ELSE kehrt; FALSE{}  FI{}END PROC hinten frei;{}BOOL PROC korn vorn:{}  IF vorn frei{}     THEN untersuche feld vor dir{}     ELSE FALSE{}  FI.{}  untersuche feld vor dir:{}    vor;{}    IF korn da{}       THEN mache vorwaertsgehen rueckgaengig; TRUE{}       ELSE mache vorwaertsgehen rueckgaengig; FALSE{}    FI.{}  mache vorwaertsgehen rueckgaengig:{}    kehrt; vor; kehrt{}END PROC korn vorn;{}
BOOL PROC korn links:{}  links um;{}  IF vorn frei{}     THEN untersuche feld links{}     ELSE rechts um; FALSE{}  FI.{}  untersuche feld links:{}    vor;{}    IF korn da{}       THEN mache linkswende rueckgaengig; TRUE{}       ELSE mache linkswende rueckgaengig; FALSE{}    FI.{}  mache linkswende rueckgaengig:{}    kehrt; vor; links um{}END PROC korn links;{}BOOL PROC korn rechts:{}  rechts um;{}  IF vorn frei{}     THEN untersuche feld rechts{}     ELSE links um; FALSE{}  FI.{}  untersuche feld rechts:{}
    vor;{}    IF korn da{}       THEN mache rechtswende rueckgaengig; TRUE{}       ELSE mache rechtswende rueckgaengig; FALSE{}    FI.{}  mache rechtswende rueckgaengig:{}    kehrt; vor; rechts um{}END PROC korn rechts;{}BOOL PROC korn hinten:{}  kehrt;{}  IF vorn frei{}     THEN untersuche feld hinter dir{}     ELSE kehrt; FALSE{}  FI.{}  untersuche feld hinter dir:{}    vor;{}    IF korn da{}       THEN mache kehrtwende rueckgaengig; TRUE{}       ELSE mache kehrtwende rueckgaengig; FALSE{}    FI.{}
  mache kehrtwende rueckgaengig:{}    kehrt; vor{}END PROC korn hinten;{}PROC kehrt:{}  links um; links um{}END PROC kehrt;{}PROC rechts um:{}  links um; links um; links um{}END PROC rechts um;{}BOOL PROC werkstueck vorn:{}  korn vorn{}END PROC werkstueck vorn;{}BOOL PROC werkstueck links:{}  korn links{}END PROC werkstueck links;{}BOOL PROC werkstueck rechts:{}  korn rechts{}END PROC werkstueck rechts;{}BOOL PROC werkstueck hinten:{}  korn hinten{}END PROC werkstueck hinten;{}END PACKET ls herbert und robbi 2;{}
befehlssatz erweitern (TRUE){}