Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: N5110 PowerControl mbed
Diff: main.cpp
- Revision:
- 22:03acb7389497
- Parent:
- 21:f2bcb2c399ab
- Child:
- 23:e7f69bc42b29
diff -r f2bcb2c399ab -r 03acb7389497 main.cpp
--- a/main.cpp Wed Apr 29 19:25:24 2015 +0000
+++ b/main.cpp Wed Apr 29 21:35:36 2015 +0000
@@ -9,8 +9,8 @@
float frequency[]= {494,494,988,988,740,622,988,587,622,440,1047,784,659,1047,784,659,494,988,740,622,988,587,622,659,698,698,740,784,784,831,880,988}; //frequency array
float beat[]= {0.5,0.5,0.5,0.5,0.5,1,1,0.5,0.5,0.5,0.5,0.5,1,1,0.5,0.5,0.5,0.5,0.5,1,1,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.5,1}; //beat array
-
-
+Ticker ghost;
+int followflag=0;
@@ -35,27 +35,53 @@
void creditscreen();
-void tune()
-{
-
- for (int q=0; q<=31; q++) {
- buzzer.period(1/(frequency[q])); // set PWM period
- buzzer=0.5; // set duty cycle
- wait(0.5*beat[q]); // hold for beat period
- buzzer=0;
+void ghosttimerexpired()
+{
+ followflag=1;
+}
+void ghostfollow()
+{
+
+
+
+ if( y<j) { // I
+ y++;
+ }
+
+ if(y>j) { // If ghost is directly below pacman, move upwards
+ y--;
+
+ }
+ if ( x>i) {
+ x--;
+ }
+ if (x<i) {
+ x++;
+ }
}
+
+void tune()
+{
+
+ for (int q=0; q<=31; q++) {
+ buzzer.period(1/(frequency[q])); // set PWM period
+ buzzer=0.5; // set duty cycle
+ wait(0.5*beat[q]); // hold for beat period
+ buzzer=0;
+
}
+}
void creditscreen()
{
-
+
lcd.printString("Thank You",15,1);
- lcd.printString("For",14,2);
- lcd.printString("Playing",8,3);
-
-
+ lcd.printString("For",14,20);
+ lcd.printString("Playing",10,3);
+
+
}
void calibrateJoystick() // read default positions of the joystick to calibrate later readings
{
@@ -676,16 +702,14 @@
calibrateJoystick(); // get centred values of joystick
pollJoystick.attach(&updateJoystick,1.0/10.0); // read joystick 10 times per second
PHY_PowerDown();
- tune();
-
-
-
+ //tune();
+ ghost.attach(&ghosttimerexpired,0.2);
+
+
while(win==false&& lose==false) {
-
-
-
-
- lcd.setBrightness(bright);
+
+
+ lcd.setBrightness(bright);
lcd.clear();
pause();
winningcondition();
@@ -700,6 +724,15 @@
Boundarycheck();
WastedCheck();
checkCoin();
+ if (followflag){
+ followflag=0;
+
+
+
+
+ ghostfollow();
+
+ }
lcd.refresh();
wait_ms(35);
@@ -714,15 +747,16 @@
if (lose==true) {
lcd.setBrightness(bright);
lcd.clear();
- lcd.printString("Game Over", 15,10);
+ lcd.printString("Game Over", 10,10);
tune();
- creditscreen();
+ lcd.clear();
+ creditscreen();
}
-
-
-
-
-}
+
+
+}
+
+