Sammelt Beeper auf :) Wenn Bertl auf eine Wand zukommt dreht er sich um (Muss noch umändern) Programm ist aber noch nicht fertig :)

Dependencies:   ur_Bertl mbed

Fork of While_Task3 by Martina Le

Committer:
martinale
Date:
Fri May 08 09:10:14 2015 +0000
Revision:
2:8994684be6dc
Parent:
1:af4b812a6957
:)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
martinale 0:27a5933a5e04 1 #include "mbed.h"
martinale 0:27a5933a5e04 2 #include "Robot.h"
martinale 0:27a5933a5e04 3 #include "const.h"
martinale 0:27a5933a5e04 4
martinale 1:af4b812a6957 5 int Beeper=0;
martinale 1:af4b812a6957 6
martinale 1:af4b812a6957 7 class Bertl_Beeper : public Bertl
martinale 0:27a5933a5e04 8 {
martinale 0:27a5933a5e04 9 public:
martinale 0:27a5933a5e04 10 void ClearAllBeeperToTheWall();
martinale 0:27a5933a5e04 11 void TurnAround();
martinale 0:27a5933a5e04 12 };
martinale 0:27a5933a5e04 13
martinale 0:27a5933a5e04 14 void Bertl_Beeper :: TurnAround()
martinale 0:27a5933a5e04 15 {
martinale 0:27a5933a5e04 16 TurnLeft();
martinale 0:27a5933a5e04 17 TurnLeft();
martinale 0:27a5933a5e04 18 }
martinale 0:27a5933a5e04 19
martinale 0:27a5933a5e04 20 void Bertl_Beeper :: ClearAllBeeperToTheWall()
martinale 0:27a5933a5e04 21 {
martinale 0:27a5933a5e04 22 while(FrontIsClear())
martinale 0:27a5933a5e04 23 {
martinale 0:27a5933a5e04 24 if(NextToABeeper())
martinale 0:27a5933a5e04 25 {
martinale 0:27a5933a5e04 26 PickBeeper();
martinale 1:af4b812a6957 27 Beeper++;
martinale 0:27a5933a5e04 28 NibbleLeds(AnyBeeperInBag());
martinale 0:27a5933a5e04 29 wait(1);
martinale 0:27a5933a5e04 30 Move();
martinale 1:af4b812a6957 31
martinale 0:27a5933a5e04 32 } else
martinale 1:af4b812a6957 33 Move(25);
martinale 1:af4b812a6957 34
martinale 0:27a5933a5e04 35 }
martinale 0:27a5933a5e04 36 }
martinale 0:27a5933a5e04 37
martinale 0:27a5933a5e04 38 int main()
martinale 0:27a5933a5e04 39 {
martinale 0:27a5933a5e04 40 Bertl_Beeper karel;
martinale 1:af4b812a6957 41
martinale 1:af4b812a6957 42 karel.TurnLedOff(LED_ALL);
martinale 0:27a5933a5e04 43
martinale 0:27a5933a5e04 44 while(1)
martinale 0:27a5933a5e04 45 {
martinale 0:27a5933a5e04 46 karel.ClearAllBeeperToTheWall();
martinale 0:27a5933a5e04 47 while(!karel.FrontIsClear())
martinale 0:27a5933a5e04 48 {
martinale 2:8994684be6dc 49 karel.TurnLeft();
martinale 1:af4b812a6957 50 karel.Move(Beeper);
martinale 0:27a5933a5e04 51 break;
martinale 0:27a5933a5e04 52 }
martinale 1:af4b812a6957 53
martinale 0:27a5933a5e04 54 }
martinale 1:af4b812a6957 55
martinale 0:27a5933a5e04 56 }