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: 4DGL-uLCD-SE PinDetect mbed
Revision 2:c92f0e749b94, committed 2014-10-21
- Comitter:
- cmathis
- Date:
- Tue Oct 21 15:29:16 2014 +0000
- Parent:
- 1:cd222334a4fe
- Commit message:
- revision3
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Oct 21 14:01:21 2014 +0000
+++ b/main.cpp Tue Oct 21 15:29:16 2014 +0000
@@ -28,6 +28,7 @@
// analog input for seeding rand() function
AnalogIn adcReading(p18);
+AnalogIn pot(p19);
// variable declarations
int levels[16];
@@ -38,6 +39,7 @@
int failed;
int start = 1;
int randomSeed;
+float volume;
// function prototypes
void enableInterrupts();
@@ -62,6 +64,8 @@
while(1) {
+ volume = pot.read();
+
// only initialize these variables at the start of each game
if(start == 1){
failed = 0;
@@ -83,7 +87,8 @@
// wait in this loop until the user pushes buttons the same number of times as the current level
// or until the user has pushed an incorrect button
while(buttonPushes != level && failed == 0){
- wait(0.5);
+ volume = pot.read();
+ wait(0.1);
}
// if the user has failed, disable the pushbutton interrupts, notify the user that they failed,
@@ -96,7 +101,7 @@
// if the user has completed all of the levels without failing, disable the pushbutton interrupts,
// notify the user that they won, and set start=1 so that the game restarts from level 1
- if(level == 5 && failed == 0){
+ if(level == 10 && failed == 0){
disableInterrupts();
endGame();
start = 1;
@@ -215,25 +220,25 @@
switch(levels[i]){
case 1:
led1 = 1;
- mySpeaker.PlayNote(659.26, 0.50, 0.2);
+ mySpeaker.PlayNote(659.26, 0.50, volume);
led1 = 0;
wait(0.025);
break;
case 2:
led2 = 1;
- mySpeaker.PlayNote(554.00, 0.50, 0.2);
+ mySpeaker.PlayNote(554.00, 0.50, volume);
led2 = 0;
wait(0.025);
break;
case 3:
led3 = 1;
- mySpeaker.PlayNote(440.00, 0.50, 0.2);
+ mySpeaker.PlayNote(440.00, 0.50, volume);
led3 = 0;
wait(0.025);
break;
case 4:
led4 = 1;
- mySpeaker.PlayNote(329.63, 0.50, 0.2);
+ mySpeaker.PlayNote(329.63, 0.50, volume);
led4 = 0;
wait(0.025);
break;
@@ -253,7 +258,7 @@
buttonPushes++;
led1 = 1;
- mySpeaker.PlayNote(659.26, 0.25, 0.2);
+ mySpeaker.PlayNote(659.26, 0.25, volume);
led1 = 0;
if(levels[buttonPushes-1] != 1){
@@ -268,7 +273,7 @@
buttonPushes++;
led2 = 1;
- mySpeaker.PlayNote(554.00, 0.25, 0.2);
+ mySpeaker.PlayNote(554.00, 0.25, volume);
led2 = 0;
if(levels[buttonPushes-1] != 2){
@@ -283,7 +288,7 @@
buttonPushes++;
led3 = 1;
- mySpeaker.PlayNote(440.00, 0.25, 0.2);
+ mySpeaker.PlayNote(440.00, 0.25, volume);
led3 = 0;
if(levels[buttonPushes-1] != 3){
@@ -298,7 +303,7 @@
buttonPushes++;
led4 = 1;
- mySpeaker.PlayNote(329.63, 0.25, 0.2);
+ mySpeaker.PlayNote(329.63, 0.25, volume);
led4 = 0;
if(levels[buttonPushes-1] != 4){
@@ -320,10 +325,10 @@
uLCD.printf("Over");
- mySpeaker.PlayNote(147.00, 0.60, 1);
- mySpeaker.PlayNote(139.00, 0.60, 1);
- mySpeaker.PlayNote(131.00, 0.60, 1);
- mySpeaker.PlayNote(123.00, 1.60, 1);
+ mySpeaker.PlayNote(147.00, 0.60, volume);
+ mySpeaker.PlayNote(139.00, 0.60, volume);
+ mySpeaker.PlayNote(131.00, 0.60, volume);
+ mySpeaker.PlayNote(123.00, 1.60, volume);
}
@@ -341,42 +346,42 @@
int time = 0.01;
- mySpeaker.PlayNote(392.00, 0.33, 0.2);
+ mySpeaker.PlayNote(392.00, 0.33, volume);
wait(time);
- mySpeaker.PlayNote(349.23, 0.17, 0.2);
+ mySpeaker.PlayNote(349.23, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(311.13, 0.33, 0.2);
+ mySpeaker.PlayNote(311.13, 0.33, volume);
wait(time);
- mySpeaker.PlayNote(311.13, 0.17, 0.2);
+ mySpeaker.PlayNote(311.13, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(311.13, 0.33, 0.2);
+ mySpeaker.PlayNote(311.13, 0.33, volume);
wait(time);
- mySpeaker.PlayNote(349.23, 0.17, 0.2);
+ mySpeaker.PlayNote(349.23, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(392.00, 0.33, 0.2);
+ mySpeaker.PlayNote(392.00, 0.33, volume);
wait(time);
- mySpeaker.PlayNote(392.00, 0.17, 0.2);
+ mySpeaker.PlayNote(392.00, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(392.00, 0.165, 0.2);
+ mySpeaker.PlayNote(392.00, 0.165, volume);
wait(time);
- mySpeaker.PlayNote(349.23, 0.165, 0.2);
+ mySpeaker.PlayNote(349.23, 0.165, volume);
wait(time);
- mySpeaker.PlayNote(311.13, 0.17, 0.2);
+ mySpeaker.PlayNote(311.13, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(349.23, 0.165, 0.2);
+ mySpeaker.PlayNote(349.23, 0.165, volume);
wait(time);
- mySpeaker.PlayNote(392.00, 0.165, 0.2);
+ mySpeaker.PlayNote(392.00, 0.165, volume);
wait(time);
- mySpeaker.PlayNote(349.23, 0.17, 0.2);
+ mySpeaker.PlayNote(349.23, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(311.13, 0.33, 0.2);
+ mySpeaker.PlayNote(311.13, 0.33, volume);
wait(time);
- mySpeaker.PlayNote(293.66, 0.17, 0.2);
+ mySpeaker.PlayNote(293.66, 0.17, volume);
wait(time);
- mySpeaker.PlayNote(311.13, 0.5, 0.2);
+ mySpeaker.PlayNote(311.13, 0.5, volume);
}
\ No newline at end of file