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();
}