Version of Robotron arcade game using LPC1768, a Gameduino shield, a serial EEPROM (for high scores), two microswitch joysticks and two buttons plus a box to put it in. 20 levels of mayhem.

Dependencies:   25LCxxx_SPI CommonTypes Gameduino mbed

Committer:
RichardE
Date:
Mon Jun 17 15:10:43 2013 +0000
Revision:
18:70190f956a24
Parent:
9:fa7e7b37b632
Improved response to button 1 when entering high scores (HighScoreEntry.cpp).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RichardE 9:fa7e7b37b632 1 /*
RichardE 9:fa7e7b37b632 2 * SOURCE FILE : Notes.cpp
RichardE 9:fa7e7b37b632 3 *
RichardE 9:fa7e7b37b632 4 * Enumeration of notes on a piano keyboard and array
RichardE 9:fa7e7b37b632 5 * of notes frequencies for each note.
RichardE 9:fa7e7b37b632 6 *
RichardE 9:fa7e7b37b632 7 */
RichardE 9:fa7e7b37b632 8
RichardE 9:fa7e7b37b632 9 #include "Notes.h"
RichardE 9:fa7e7b37b632 10
RichardE 9:fa7e7b37b632 11 #define FrequencyConvert( freq ) (UInt16)( freq * 4.0 + 0.5 )
RichardE 9:fa7e7b37b632 12
RichardE 9:fa7e7b37b632 13 // Array of note frequencies.
RichardE 9:fa7e7b37b632 14 const UInt16 Notes::NoteFrequencies[ Notes::NoteCount ] = {
RichardE 9:fa7e7b37b632 15 0,
RichardE 9:fa7e7b37b632 16 0,
RichardE 9:fa7e7b37b632 17 FrequencyConvert( 27.5 ),
RichardE 9:fa7e7b37b632 18 FrequencyConvert( 29.1352350948806 ),
RichardE 9:fa7e7b37b632 19 FrequencyConvert( 30.8677063285078 ),
RichardE 9:fa7e7b37b632 20 FrequencyConvert( 32.7031956625748 ),
RichardE 9:fa7e7b37b632 21 FrequencyConvert( 34.647828872109 ),
RichardE 9:fa7e7b37b632 22 FrequencyConvert( 36.7080959896759 ),
RichardE 9:fa7e7b37b632 23 FrequencyConvert( 38.8908729652601 ),
RichardE 9:fa7e7b37b632 24 FrequencyConvert( 41.2034446141087 ),
RichardE 9:fa7e7b37b632 25 FrequencyConvert( 43.6535289291255 ),
RichardE 9:fa7e7b37b632 26 FrequencyConvert( 46.2493028389543 ),
RichardE 9:fa7e7b37b632 27 FrequencyConvert( 48.9994294977187 ),
RichardE 9:fa7e7b37b632 28 FrequencyConvert( 51.9130871974931 ),
RichardE 9:fa7e7b37b632 29 FrequencyConvert( 55 ),
RichardE 9:fa7e7b37b632 30 FrequencyConvert( 58.2704701897612 ),
RichardE 9:fa7e7b37b632 31 FrequencyConvert( 61.7354126570155 ),
RichardE 9:fa7e7b37b632 32 FrequencyConvert( 65.4063913251497 ),
RichardE 9:fa7e7b37b632 33 FrequencyConvert( 69.295657744218 ),
RichardE 9:fa7e7b37b632 34 FrequencyConvert( 73.4161919793519 ),
RichardE 9:fa7e7b37b632 35 FrequencyConvert( 77.7817459305202 ),
RichardE 9:fa7e7b37b632 36 FrequencyConvert( 82.4068892282175 ),
RichardE 9:fa7e7b37b632 37 FrequencyConvert( 87.307057858251 ),
RichardE 9:fa7e7b37b632 38 FrequencyConvert( 92.4986056779086 ),
RichardE 9:fa7e7b37b632 39 FrequencyConvert( 97.9988589954373 ),
RichardE 9:fa7e7b37b632 40 FrequencyConvert( 103.826174394986 ),
RichardE 9:fa7e7b37b632 41 FrequencyConvert( 110 ),
RichardE 9:fa7e7b37b632 42 FrequencyConvert( 116.540940379522 ),
RichardE 9:fa7e7b37b632 43 FrequencyConvert( 123.470825314031 ),
RichardE 9:fa7e7b37b632 44 FrequencyConvert( 130.812782650299 ),
RichardE 9:fa7e7b37b632 45 FrequencyConvert( 138.591315488436 ),
RichardE 9:fa7e7b37b632 46 FrequencyConvert( 146.832383958704 ),
RichardE 9:fa7e7b37b632 47 FrequencyConvert( 155.56349186104 ),
RichardE 9:fa7e7b37b632 48 FrequencyConvert( 164.813778456435 ),
RichardE 9:fa7e7b37b632 49 FrequencyConvert( 174.614115716502 ),
RichardE 9:fa7e7b37b632 50 FrequencyConvert( 184.997211355817 ),
RichardE 9:fa7e7b37b632 51 FrequencyConvert( 195.997717990875 ),
RichardE 9:fa7e7b37b632 52 FrequencyConvert( 207.652348789973 ),
RichardE 9:fa7e7b37b632 53 FrequencyConvert( 220 ),
RichardE 9:fa7e7b37b632 54 FrequencyConvert( 233.081880759045 ),
RichardE 9:fa7e7b37b632 55 FrequencyConvert( 246.941650628062 ),
RichardE 9:fa7e7b37b632 56 FrequencyConvert( 261.625565300599 ),
RichardE 9:fa7e7b37b632 57 FrequencyConvert( 277.182630976872 ),
RichardE 9:fa7e7b37b632 58 FrequencyConvert( 293.664767917408 ),
RichardE 9:fa7e7b37b632 59 FrequencyConvert( 311.126983722081 ),
RichardE 9:fa7e7b37b632 60 FrequencyConvert( 329.62755691287 ),
RichardE 9:fa7e7b37b632 61 FrequencyConvert( 349.228231433004 ),
RichardE 9:fa7e7b37b632 62 FrequencyConvert( 369.994422711634 ),
RichardE 9:fa7e7b37b632 63 FrequencyConvert( 391.995435981749 ),
RichardE 9:fa7e7b37b632 64 FrequencyConvert( 415.304697579945 ),
RichardE 9:fa7e7b37b632 65 FrequencyConvert( 440 ),
RichardE 9:fa7e7b37b632 66 FrequencyConvert( 466.16376151809 ),
RichardE 9:fa7e7b37b632 67 FrequencyConvert( 493.883301256124 ),
RichardE 9:fa7e7b37b632 68 FrequencyConvert( 523.251130601197 ),
RichardE 9:fa7e7b37b632 69 FrequencyConvert( 554.365261953744 ),
RichardE 9:fa7e7b37b632 70 FrequencyConvert( 587.329535834815 ),
RichardE 9:fa7e7b37b632 71 FrequencyConvert( 622.253967444162 ),
RichardE 9:fa7e7b37b632 72 FrequencyConvert( 659.25511382574 ),
RichardE 9:fa7e7b37b632 73 FrequencyConvert( 698.456462866008 ),
RichardE 9:fa7e7b37b632 74 FrequencyConvert( 739.988845423269 ),
RichardE 9:fa7e7b37b632 75 FrequencyConvert( 783.990871963499 ),
RichardE 9:fa7e7b37b632 76 FrequencyConvert( 830.60939515989 ),
RichardE 9:fa7e7b37b632 77 FrequencyConvert( 880 ),
RichardE 9:fa7e7b37b632 78 FrequencyConvert( 932.32752303618 ),
RichardE 9:fa7e7b37b632 79 FrequencyConvert( 987.766602512248 ),
RichardE 9:fa7e7b37b632 80 FrequencyConvert( 1046.50226120239 ),
RichardE 9:fa7e7b37b632 81 FrequencyConvert( 1108.73052390749 ),
RichardE 9:fa7e7b37b632 82 FrequencyConvert( 1174.65907166963 ),
RichardE 9:fa7e7b37b632 83 FrequencyConvert( 1244.50793488832 ),
RichardE 9:fa7e7b37b632 84 FrequencyConvert( 1318.51022765148 ),
RichardE 9:fa7e7b37b632 85 FrequencyConvert( 1396.91292573202 ),
RichardE 9:fa7e7b37b632 86 FrequencyConvert( 1479.97769084654 ),
RichardE 9:fa7e7b37b632 87 FrequencyConvert( 1567.981743927 ),
RichardE 9:fa7e7b37b632 88 FrequencyConvert( 1661.21879031978 ),
RichardE 9:fa7e7b37b632 89 FrequencyConvert( 1760 ),
RichardE 9:fa7e7b37b632 90 FrequencyConvert( 1864.65504607236 ),
RichardE 9:fa7e7b37b632 91 FrequencyConvert( 1975.5332050245 ),
RichardE 9:fa7e7b37b632 92 FrequencyConvert( 2093.00452240479 ),
RichardE 9:fa7e7b37b632 93 FrequencyConvert( 2217.46104781498 ),
RichardE 9:fa7e7b37b632 94 FrequencyConvert( 2349.31814333926 ),
RichardE 9:fa7e7b37b632 95 FrequencyConvert( 2489.01586977665 ),
RichardE 9:fa7e7b37b632 96 FrequencyConvert( 2637.02045530296 ),
RichardE 9:fa7e7b37b632 97 FrequencyConvert( 2793.82585146403 ),
RichardE 9:fa7e7b37b632 98 FrequencyConvert( 2959.95538169308 ),
RichardE 9:fa7e7b37b632 99 FrequencyConvert( 3135.96348785399 ),
RichardE 9:fa7e7b37b632 100 FrequencyConvert( 3322.43758063956 ),
RichardE 9:fa7e7b37b632 101 FrequencyConvert( 3520 ),
RichardE 9:fa7e7b37b632 102 FrequencyConvert( 3729.31009214472 ),
RichardE 9:fa7e7b37b632 103 FrequencyConvert( 3951.06641004899 ),
RichardE 9:fa7e7b37b632 104 FrequencyConvert( 4186.00904480958 ),
RichardE 9:fa7e7b37b632 105 FrequencyConvert( 4434.92209562995 ),
RichardE 9:fa7e7b37b632 106 FrequencyConvert( 4698.63628667852 ),
RichardE 9:fa7e7b37b632 107 FrequencyConvert( 4978.03173955329 ),
RichardE 9:fa7e7b37b632 108 FrequencyConvert( 5274.04091060592 ),
RichardE 9:fa7e7b37b632 109 FrequencyConvert( 5587.65170292806 ),
RichardE 9:fa7e7b37b632 110 FrequencyConvert( 5919.91076338615 ),
RichardE 9:fa7e7b37b632 111 FrequencyConvert( 6271.92697570799 ),
RichardE 9:fa7e7b37b632 112 FrequencyConvert( 6644.87516127912 ),
RichardE 9:fa7e7b37b632 113 };
RichardE 9:fa7e7b37b632 114