dorbird icon

Hamster 2 Aufgabe 3

dorbird | PRO | 10/31/13 04:53:36 PM UTC | 0 ⭐ | 157 👁️ | Never ⏰ | []
Java |

1.79 KB

|

None

|

0 👍

/

0 👎

int feldBreite=0;
int anzahlUmlaeufe=0;
int vorhandenekoerner=0;
int benoetigteKoerner=0;
void main() {
   vorhandenekoerner=testeVorhandeneKoerener();
   feldBreite=testeFeldBreite();
   geheMitte();
   while (vorhandenekoerner< berechneBenoetigteKoerner()){
        feldBreite=feldBreite-2;
   }
   anzahlUmlaeufe=(feldBreite-1/2);
   legeRaute();
}
 
void laufeBisZurWand() {
    while (vornFrei()){
         vor();
    }
}
int testeVorhandeneKoerener(){
    int zaehler=0;
    while (!maulLeer()){
         gib();
         zaehler++;
    }
    while (kornDa()){
         nimm();
    }
    return zaehler;
}
int testeFeldBreite(){
    int zaehler=0;
    laufeBisZurWand();
    linksUm();
    laufeBisZurWand();
    linksUm();    
    while (vornFrei()){
         vor();
         zaehler++;
    }
    linksUm();
    return zaehler;
}
int berechneBenoetigteKoerner(){
   int i=0;
   int benoetigteKoerner=1;
   for(i=0;i<=(feldBreite-1/2);i++){      
      benoetigteKoerner=benoetigteKoerner+i*4;
   }
   return benoetigteKoerner;
}
void geheMitte(){
    int i=0;
    int j=0;
    for (i=0;i<=((feldBreite-1)/2) ;i++){
       vor();
    }
    linksUm();
    for (j=0;j<=((feldBreite-1)/2) ;j++){
       vor();
    }
}
void rechtsUm(){
    linksUm();
    linksUm();
    linksUm();
}
void geheDiagonal(){
    vor();
    linksUm();
    vor();
    rechtsUm();
    gib();
}
void legeRaute(){
    int i=0;
    int j=0;
    int k=0;
    gib();    
    for (i=1;i<=anzahlUmlaeufe;i++){
       if(vornFrei()){
          vor();
          linksUm();
          for(j=1;j<=4;j++){
             for (k=1;k<=i;k++){
                 geheDiagonal();
             }
             linksUm();
          } 
          rechtsUm();  
        }      
    }
}

Comments