karel:loesungen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
karel:loesungen [2023/01/05 11:03] – angelegt silversurferkarel:loesungen [2023/01/05 11:39] (aktuell) – [1.2.1 climbTheStairs] silversurfer
Zeile 1: Zeile 1:
 ====== Meine Karel Lösungen ====== ====== Meine Karel Lösungen ======
 +===== 0.0.1 karelFirstProgram =====
 +<codedoc code:c++>
 +void karelsFirstProgram()
 +{
 +    moveForward();
 +    pickBeeper();
 +    moveForward();
 +    turnLeft();
 +    moveForward();
 +    turnRight();
 +    moveForward();
 +    dropBeeper();
 +    moveForward(); 
 +}
 +</codedoc>
 +===== 1.1.1 obtainArtifact =====
 +<codedoc code:c++>
 +void obtainArtifact(){
 +    turnRight();
 +    oneWay();
 +    pickBeeper();
 +    oneWay();
 +    dropBeeper();
 +}
 +
 +void oneWay(){
 +    moveForward();
 +    turnLeft();
 +    repeat(3){
 +        moveForward();
 +    }
 +    turnLeft();
 +    moveForward();
 +    
 +}
 +</codedoc>
 +===== 1.1.2 defuseOneBomb =====
 +<codedoc code:c++>
 +void defuseOneBomb()
 +{
 +    repeat(9){
 +        moveForward()
 +    }
 +    pickBeeper();
 +    turnAround();
 +    repeat(9){
 +        moveForward()
 +    }
 +    turnAround();
 +}
 +</codedoc>
 +===== 1.1.3 defuseTwoBombs =====
 +<codedoc code:c++>
 +void defuseTwoBombs(){
 +    defuseOneBomb();
 +    turnLeft();
 +    defuseOneBomb();
 +}
 +
 +void defuseOneBomb()
 +{
 +    goOneWay();
 +    pickBeeper();
 +    goOneWay();
 +}
 +
 +void goOneWay(){
 +    repeat(9){
 +        moveForward();
 +    }
 +    turnAround();
 +}
 +</codedoc>
 +===== 1.1.4 practiceHomeRun =====
 +<codedoc code:c++>
 +void practiceHomeRun(){
 +    repeat(4){
 +        oneWay();
 +        turnLeft();
 +    }
 +}
 +
 +void oneWay(){
 +    repeat(9){
 +        moveForward();
 +    }
 +    pickBeeper();
 +    
 +}
 +</codedoc>
 +===== 1.2.1 climbTheStairs =====
 +<codedoc code:c++>
 +void climbTheStairs(){
 +    moveForward();
 +    repeat(6){ 
 +        oneStair();
 +    }
 +}
 +
 +void oneStair(){
 +    turnLeft();
 +    moveForward();
 +    turnRight();
 +    moveForward();
 +}
 +</codedoc>
 +===== 1.2.2 fillTheHoles =====
 +<codedoc code:c++>
 +void fillTheHoles(){
 +    while(frontIsClear()){
 +        if(rightIsClear()){
 +            fillOneHole();
 +        }
 +        else{
 +            moveForward();
 +        }
 +    }
 +    
 +}
 +
 +void fillOneHole(){
 +    turnRight();
 +    moveForward();
 +    dropBeeper();
 +    turnAround();
 +    moveForward();
 +    turnRight();
 +    moveForward();
 +}
 +</codedoc>
  
  • karel/loesungen.1672913031.txt.gz
  • Zuletzt geändert: 2023/01/05 11:03
  • von silversurfer