Lukas Feldgrill
/
WHILE_TASK_Bertl
WHILE_TASK 1 & 2
Meine Projekte
Dieses Projekte habe ich im SS 2015 in FSST programmiert.
Task_if : While Task
main.cpp@0:26ddfe6c824d, 2015-04-24 (annotated)
- Committer:
- feldgrill1
- Date:
- Fri Apr 24 09:17:19 2015 +0000
- Revision:
- 0:26ddfe6c824d
WHILE_TASK 1 & 2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
feldgrill1 | 0:26ddfe6c824d | 1 | #include "ur_Bertl.h" |
feldgrill1 | 0:26ddfe6c824d | 2 | #include "mbed.h" |
feldgrill1 | 0:26ddfe6c824d | 3 | #include "const.h" |
feldgrill1 | 0:26ddfe6c824d | 4 | #include "Robot.h" |
feldgrill1 | 0:26ddfe6c824d | 5 | |
feldgrill1 | 0:26ddfe6c824d | 6 | class task_Bertl : public ur_Bertl |
feldgrill1 | 0:26ddfe6c824d | 7 | { |
feldgrill1 | 0:26ddfe6c824d | 8 | public: |
feldgrill1 | 0:26ddfe6c824d | 9 | void TurnRight() { |
feldgrill1 | 0:26ddfe6c824d | 10 | TurnLeft(); |
feldgrill1 | 0:26ddfe6c824d | 11 | TurnLeft(); |
feldgrill1 | 0:26ddfe6c824d | 12 | TurnLeft(); |
feldgrill1 | 0:26ddfe6c824d | 13 | } |
feldgrill1 | 0:26ddfe6c824d | 14 | void Move2Boxes() { |
feldgrill1 | 0:26ddfe6c824d | 15 | Move(); |
feldgrill1 | 0:26ddfe6c824d | 16 | Move(); |
feldgrill1 | 0:26ddfe6c824d | 17 | } |
feldgrill1 | 0:26ddfe6c824d | 18 | void ClearAllBeepersToTheWall(); |
feldgrill1 | 0:26ddfe6c824d | 19 | }; |
feldgrill1 | 0:26ddfe6c824d | 20 | |
feldgrill1 | 0:26ddfe6c824d | 21 | |
feldgrill1 | 0:26ddfe6c824d | 22 | |
feldgrill1 | 0:26ddfe6c824d | 23 | void task_Bertl :: ClearAllBeepersToTheWall() |
feldgrill1 | 0:26ddfe6c824d | 24 | { |
feldgrill1 | 0:26ddfe6c824d | 25 | while (FrontIsClear()) { |
feldgrill1 | 0:26ddfe6c824d | 26 | if ( NextToABeeper()) { |
feldgrill1 | 0:26ddfe6c824d | 27 | PickBeeper(); |
feldgrill1 | 0:26ddfe6c824d | 28 | Move();} |
feldgrill1 | 0:26ddfe6c824d | 29 | else { |
feldgrill1 | 0:26ddfe6c824d | 30 | Move();} |
feldgrill1 | 0:26ddfe6c824d | 31 | } |
feldgrill1 | 0:26ddfe6c824d | 32 | } |
feldgrill1 | 0:26ddfe6c824d | 33 | |
feldgrill1 | 0:26ddfe6c824d | 34 | int main () |
feldgrill1 | 0:26ddfe6c824d | 35 | { |
feldgrill1 | 0:26ddfe6c824d | 36 | task_Bertl karel; |
feldgrill1 | 0:26ddfe6c824d | 37 | |
feldgrill1 | 0:26ddfe6c824d | 38 | // Task 1 & 2 |
feldgrill1 | 0:26ddfe6c824d | 39 | |
feldgrill1 | 0:26ddfe6c824d | 40 | while(karel.WaitUntilButtonPressed()){} |
feldgrill1 | 0:26ddfe6c824d | 41 | |
feldgrill1 | 0:26ddfe6c824d | 42 | while(karel.IsButtonPressed(BTN_FLL)) { // Vorne Links |
feldgrill1 | 0:26ddfe6c824d | 43 | karel.TurnLedOn(0x01); |
feldgrill1 | 0:26ddfe6c824d | 44 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 45 | karel.TurnLedOn(0x00); |
feldgrill1 | 0:26ddfe6c824d | 46 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 47 | } |
feldgrill1 | 0:26ddfe6c824d | 48 | |
feldgrill1 | 0:26ddfe6c824d | 49 | while(karel.IsButtonPressed(BTN_FRR)) { // Vorne Rechts |
feldgrill1 | 0:26ddfe6c824d | 50 | karel.TurnLedOn(0x04); |
feldgrill1 | 0:26ddfe6c824d | 51 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 52 | karel.TurnLedOn(0x00); |
feldgrill1 | 0:26ddfe6c824d | 53 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 54 | } |
feldgrill1 | 0:26ddfe6c824d | 55 | |
feldgrill1 | 0:26ddfe6c824d | 56 | while(karel.IsButtonPressed(BTN_BR)) { // Hinten Rechts |
feldgrill1 | 0:26ddfe6c824d | 57 | karel.TurnLedOn(0x80 | 0x40); |
feldgrill1 | 0:26ddfe6c824d | 58 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 59 | karel.TurnLedOn(0x00); |
feldgrill1 | 0:26ddfe6c824d | 60 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 61 | } |
feldgrill1 | 0:26ddfe6c824d | 62 | |
feldgrill1 | 0:26ddfe6c824d | 63 | while(karel.IsButtonPressed(BTN_BL)) { // Hinten Links |
feldgrill1 | 0:26ddfe6c824d | 64 | karel.TurnLedOn(0x20 | 0x10 ); |
feldgrill1 | 0:26ddfe6c824d | 65 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 66 | karel.TurnLedOn(0x00); |
feldgrill1 | 0:26ddfe6c824d | 67 | wait(0.3); |
feldgrill1 | 0:26ddfe6c824d | 68 | } |
feldgrill1 | 0:26ddfe6c824d | 69 | |
feldgrill1 | 0:26ddfe6c824d | 70 | while(!karel.IsButtonPressed(BTN_FLL && BTN_FRR && BTN_BR && BTN_BL)) { |
feldgrill1 | 0:26ddfe6c824d | 71 | karel.TurnLedOn(0x00);} |
feldgrill1 | 0:26ddfe6c824d | 72 | |
feldgrill1 | 0:26ddfe6c824d | 73 | |
feldgrill1 | 0:26ddfe6c824d | 74 | if(karel.IsButtonPressed(BTN_BM)) |
feldgrill1 | 0:26ddfe6c824d | 75 | karel.TurnLedOff(0xFF); |
feldgrill1 | 0:26ddfe6c824d | 76 | |
feldgrill1 | 0:26ddfe6c824d | 77 | } |