My ELEC2645 project. Nikollao Sulollari. 200804685
Dependencies: N5110 SoftPWM mbed
Diff: main.h
- Revision:
- 8:606a488fa720
- Parent:
- 7:f31a4b4beb91
- Child:
- 9:ce2d9c42edea
--- a/main.h Mon Apr 04 12:20:42 2016 +0000 +++ b/main.h Mon Apr 18 09:59:32 2016 +0000 @@ -270,15 +270,19 @@ volatile int tries = 0;/*!< counts the number of trials */ volatile int n;/*!< number of pixels overlapping */ -int pixels[84][48]; +//int pixels[84][48]; int reset = 0; /*!< used to save current level of difficulty */ -int objectX = 10; +int objectX = 0; /*!< used to move obstacles in the x-axis */ -int objectY = 20; +int objectY = 20; /*!< used to move obstacles in the y-axis */ + +int state = 0; /*!< controls the direction of the objtacle */ +int countObject = 0; void enemies() + { /// generate enemies in the screen depending on the level difficulty @@ -310,16 +314,22 @@ { ///cotrol hero - if (xPot > 0.5) { + if (xPot > 0.60) { heroX++; + } + else if (xPot < 0.40){ + heroX--; } else { - heroX--; + heroX = heroX; } - if (yPot > 0.5) { + if (yPot > 0.60) { heroY--; + } + else if (yPot < 0.40) { + heroY++; } else { - heroY++; + heroY = heroY; } ///set x-axis boundaries so hero does not go out of screen if (heroX > 35) { @@ -340,6 +350,13 @@ ///generate circle shape enemy lcd.drawCircle(circleX,circleY,4,1); circleY = circleY + rand() %4 - 2; + + if (circleY <= 10) { + circleY = 10; + }if (circleY >= 35) { + circleY = 35; + } + circleX++; ///enemy moving towards hero } @@ -402,9 +419,20 @@ game_ticker.detach(); break; } else if (option == 1) { + + lcd.clear(); + g_button_flag = 0; + while(1) { + //settings_menu(); + pc.printf("Modify Settings!"); + lcd.printString("Lcd Inverse <",0,0); + if (g_button_flag) { - //settings_menu(); - pc.printf("Modify Settings!"); + lcd.inverseMode(); + break; + } + sleep(); + } } else { lcd.turnOff(); @@ -442,7 +470,7 @@ g_button_flag = 0; level = 0; - play++; + // play++; lcd.clear(); //main(); } @@ -465,39 +493,38 @@ lcd.drawRect(74,28,2,2,1); } else if (level == 3) { - lcd.drawRect(10,15,2,2,1); - lcd.drawRect(74,15,2,2,1); - lcd.drawRect(10,28,2,2,1); - lcd.drawRect(74,28,2,2,1); - lcd.drawRect(30,15,2,2,1); - lcd.drawRect(54,15,2,2,1); - lcd.drawRect(30,28,2,2,1); - lcd.drawRect(54,28,2,2,1); + lcd.drawRect(5,12,2,2,1); + lcd.drawRect(79,12,2,2,1); + lcd.drawRect(5,30,2,2,1); + lcd.drawRect(79,30,2,2,1); + lcd.drawRect(28,12,2,2,1); + lcd.drawRect(52,12,2,2,1); + lcd.drawRect(28,30,2,2,1); + lcd.drawRect(52,30,2,2,1); } else if (level == 4) { - lcd.drawRect(10 + rand() %4 - 2,15 + rand() &4 -2,2,2,1); - lcd.drawRect(74 + rand() %4 - 2,15 + rand() %4 - 2,2,2,1); - lcd.drawRect(10 + rand() %4 - 2,28 + rand() %4 - 2,2,2,1); - lcd.drawRect(74 + rand() %4 - 2,28 + rand() %4 - 2,2,2,1); - lcd.drawRect(30 + rand() %4 - 2,15,2,2,1); - lcd.drawRect(54,15 + rand() %4 - 2,2,2,1); - lcd.drawRect(30,28 + rand() %4 - 2,2,2,1); - lcd.drawRect(54 + rand() %4 - 2,28,2,2,1); - } else if ( level == 5) { - - bool state = 0; - if (objectX == 71) { + lcd.drawRect(5 ,12+ rand() %4 - 2,2,2,1); + lcd.drawRect(79 + rand() %4 - 2,12 + rand() %4 - 2,2,2,1); + lcd.drawRect(5+ rand() %4 - 2,30 ,2,2,1); + lcd.drawRect(79 + rand() %4 - 2,30,2,2,1); + lcd.drawRect(28 + rand() %4 - 2,12+ rand() %4,2,2,1); + lcd.drawRect(52,12 + rand() %4 - 2,2,2,1); + lcd.drawRect(28,30 + rand() %4 - 2,2,2,1); + lcd.drawRect(52 + rand() %4 - 2,30,2,2,1); + } + if (objectX == 0) { + state = 0; + } + else if (objectX == 58) { state = 1; - } - if (objectX == 15) { - state = 0; + } else { + state = state; } - if (state == 0) { + if (state == 0) { objectX++; - } else if (state == 1) { + } else { objectX--; - } - + } objectY = objectY + rand() %4 - 2; ///keep moving object within boundaries if (objectY <= 10) { @@ -506,13 +533,35 @@ if (objectY >= 37) { objectY = 37; } + if ( level == 5) { lcd.drawLine(15,10,15,37,1); lcd.drawLine(71,10,71,37,1); - lcd.drawRect(10+objectX,objectY,2,2,1); - } else if (level == 6) { - - } else if (level == 7) { + + lcd.drawRect(11+objectX,objectY,2,2,1); + + lcd.drawRect(80,10,2,2,1); + lcd.drawRect(5,10,2,2,1); + lcd.drawRect(80,20,2,2,1); + lcd.drawRect(5,20,2,2,1); + lcd.drawRect(80,30,2,2,1); + lcd.drawRect(5,30,2,2,1); + + } + else if (level == 6) { + + lcd.drawLine(15,10,15,37,1); + lcd.drawLine(71,10,71,37,1); + + lcd.drawRect(11+objectX,objectY,2,2,1); + lcd.drawRect(80,10,2,2,1); + lcd.drawRect(5,10,2,2,1); + lcd.drawRect(80,20,2,2,1); + lcd.drawRect(5,20,2,2,1); + lcd.drawRect(80,30,2,2,1); + lcd.drawRect(5,30,2,2,1); + } + else if (level == 7) { /* lcd.drawLine(50,15,30,15,1);