====== Meine Karel Lösungen ======
===== 0.0.1 karelFirstProgram =====
void karelsFirstProgram()
{
moveForward();
pickBeeper();
moveForward();
turnLeft();
moveForward();
turnRight();
moveForward();
dropBeeper();
moveForward();
}
===== 1.1.1 obtainArtifact =====
void obtainArtifact(){
turnRight();
oneWay();
pickBeeper();
oneWay();
dropBeeper();
}
void oneWay(){
moveForward();
turnLeft();
repeat(3){
moveForward();
}
turnLeft();
moveForward();
}
===== 1.1.2 defuseOneBomb =====
void defuseOneBomb()
{
repeat(9){
moveForward()
}
pickBeeper();
turnAround();
repeat(9){
moveForward()
}
turnAround();
}
===== 1.1.3 defuseTwoBombs =====
void defuseTwoBombs(){
defuseOneBomb();
turnLeft();
defuseOneBomb();
}
void defuseOneBomb()
{
goOneWay();
pickBeeper();
goOneWay();
}
void goOneWay(){
repeat(9){
moveForward();
}
turnAround();
}
===== 1.1.4 practiceHomeRun =====
void practiceHomeRun(){
repeat(4){
oneWay();
turnLeft();
}
}
void oneWay(){
repeat(9){
moveForward();
}
pickBeeper();
}
===== 1.2.1 climbTheStairs =====
void climbTheStairs(){
moveForward();
repeat(6){
oneStair();
}
}
void oneStair(){
turnLeft();
moveForward();
turnRight();
moveForward();
}
===== 1.2.2 fillTheHoles =====
void fillTheHoles(){
while(frontIsClear()){
if(rightIsClear()){
fillOneHole();
}
else{
moveForward();
}
}
}
void fillOneHole(){
turnRight();
moveForward();
dropBeeper();
turnAround();
moveForward();
turnRight();
moveForward();
}