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
Sounds.cpp@9:fa7e7b37b632, 2013-06-09 (annotated)
- Committer:
- RichardE
- Date:
- Sun Jun 09 14:28:53 2013 +0000
- Revision:
- 9:fa7e7b37b632
Sound is now working. Now a complete working game, albeit with only 2 levels.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RichardE | 9:fa7e7b37b632 | 1 | /* |
RichardE | 9:fa7e7b37b632 | 2 | * SOURCE FILE : Sounds.cpp |
RichardE | 9:fa7e7b37b632 | 3 | * |
RichardE | 9:fa7e7b37b632 | 4 | * Various sounds in program memory. |
RichardE | 9:fa7e7b37b632 | 5 | * |
RichardE | 9:fa7e7b37b632 | 6 | */ |
RichardE | 9:fa7e7b37b632 | 7 | |
RichardE | 9:fa7e7b37b632 | 8 | #include "Sounds.h" |
RichardE | 9:fa7e7b37b632 | 9 | #include "Gameduino.h" |
RichardE | 9:fa7e7b37b632 | 10 | #include "Notes.h" |
RichardE | 9:fa7e7b37b632 | 11 | |
RichardE | 9:fa7e7b37b632 | 12 | const UInt8 Sounds::FireGun[] = { |
RichardE | 9:fa7e7b37b632 | 13 | Gameduino::WhiteNoise, // waveform |
RichardE | 9:fa7e7b37b632 | 14 | Notes::NoteD1, 15, 10, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 15 | Notes::NoteC1, 12, 5, |
RichardE | 9:fa7e7b37b632 | 16 | Notes::NoteB1, 9, 5, |
RichardE | 9:fa7e7b37b632 | 17 | Notes::NoteA1, 6, 5, |
RichardE | 9:fa7e7b37b632 | 18 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 19 | }; |
RichardE | 9:fa7e7b37b632 | 20 | |
RichardE | 9:fa7e7b37b632 | 21 | const UInt8 Sounds::Explosion[] = { |
RichardE | 9:fa7e7b37b632 | 22 | Gameduino::WhiteNoise, // waveform |
RichardE | 9:fa7e7b37b632 | 23 | Notes::NoteD0, 15, 20, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 24 | Notes::NoteC0, 12, 5, |
RichardE | 9:fa7e7b37b632 | 25 | Notes::NoteB0, 9, 5, |
RichardE | 9:fa7e7b37b632 | 26 | Notes::NoteA0, 6, 5, |
RichardE | 9:fa7e7b37b632 | 27 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 28 | }; |
RichardE | 9:fa7e7b37b632 | 29 | |
RichardE | 9:fa7e7b37b632 | 30 | const UInt8 Sounds::RescueHuman[] = { |
RichardE | 9:fa7e7b37b632 | 31 | Gameduino::SineWave, // waveform |
RichardE | 9:fa7e7b37b632 | 32 | Notes::NoteG4, 15, 5, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 33 | Notes::NoteCS5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 34 | Notes::NoteG5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 35 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 36 | }; |
RichardE | 9:fa7e7b37b632 | 37 | |
RichardE | 9:fa7e7b37b632 | 38 | const UInt8 Sounds::HumanDies[] = { |
RichardE | 9:fa7e7b37b632 | 39 | Gameduino::SineWave, // waveform |
RichardE | 9:fa7e7b37b632 | 40 | Notes::NoteC5, 15, 5, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 41 | Notes::NoteAS5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 42 | Notes::NoteC5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 43 | Notes::NoteAS5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 44 | Notes::NoteC5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 45 | Notes::NoteAS5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 46 | Notes::NoteG4, 15, 5, |
RichardE | 9:fa7e7b37b632 | 47 | Notes::NoteDS4, 15, 5, |
RichardE | 9:fa7e7b37b632 | 48 | Notes::NoteC4, 15, 5, |
RichardE | 9:fa7e7b37b632 | 49 | Notes::NoteAS4, 15, 5, |
RichardE | 9:fa7e7b37b632 | 50 | Notes::NoteG3, 15, 5, |
RichardE | 9:fa7e7b37b632 | 51 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 52 | }; |
RichardE | 9:fa7e7b37b632 | 53 | |
RichardE | 9:fa7e7b37b632 | 54 | const UInt8 Sounds::PlayerDead[] = { |
RichardE | 9:fa7e7b37b632 | 55 | Gameduino::SineWave, // waveform |
RichardE | 9:fa7e7b37b632 | 56 | Notes::NoteA4, 20, 39, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 57 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 58 | Notes::NoteA4, 20, 29, |
RichardE | 9:fa7e7b37b632 | 59 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 60 | Notes::NoteA4, 20, 9, |
RichardE | 9:fa7e7b37b632 | 61 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 62 | Notes::NoteA4, 20, 39, |
RichardE | 9:fa7e7b37b632 | 63 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 64 | Notes::NoteC4, 20, 29, |
RichardE | 9:fa7e7b37b632 | 65 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 66 | Notes::NoteB4, 20, 9, |
RichardE | 9:fa7e7b37b632 | 67 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 68 | Notes::NoteB4, 20, 29, |
RichardE | 9:fa7e7b37b632 | 69 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 70 | Notes::NoteA4, 20, 9, |
RichardE | 9:fa7e7b37b632 | 71 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 72 | Notes::NoteA4, 20, 29, |
RichardE | 9:fa7e7b37b632 | 73 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 74 | Notes::NoteGS3, 20, 9, |
RichardE | 9:fa7e7b37b632 | 75 | Notes::NoteSilent, 0, 1, |
RichardE | 9:fa7e7b37b632 | 76 | Notes::NoteA4, 20, 79, |
RichardE | 9:fa7e7b37b632 | 77 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 78 | }; |
RichardE | 9:fa7e7b37b632 | 79 | |
RichardE | 9:fa7e7b37b632 | 80 | const UInt8 Sounds::StartLevel[] = { |
RichardE | 9:fa7e7b37b632 | 81 | Gameduino::SineWave, // waveform |
RichardE | 9:fa7e7b37b632 | 82 | |
RichardE | 9:fa7e7b37b632 | 83 | Notes::NoteG0, 20, 2, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 84 | Notes::NoteB1, 20, 2, |
RichardE | 9:fa7e7b37b632 | 85 | Notes::NoteD1, 20, 2, |
RichardE | 9:fa7e7b37b632 | 86 | Notes::NoteC1, 20, 2, |
RichardE | 9:fa7e7b37b632 | 87 | Notes::NoteE1, 20, 2, |
RichardE | 9:fa7e7b37b632 | 88 | Notes::NoteG1, 20, 2, |
RichardE | 9:fa7e7b37b632 | 89 | Notes::NoteFS1, 20, 2, |
RichardE | 9:fa7e7b37b632 | 90 | Notes::NoteA2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 91 | Notes::NoteC2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 92 | |
RichardE | 9:fa7e7b37b632 | 93 | Notes::NoteG1, 20, 2, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 94 | Notes::NoteB2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 95 | Notes::NoteD2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 96 | Notes::NoteC2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 97 | Notes::NoteE2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 98 | Notes::NoteG2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 99 | Notes::NoteFS2, 20, 2, |
RichardE | 9:fa7e7b37b632 | 100 | Notes::NoteA3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 101 | Notes::NoteC3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 102 | |
RichardE | 9:fa7e7b37b632 | 103 | Notes::NoteG2, 20, 2, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 104 | Notes::NoteB3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 105 | Notes::NoteD3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 106 | Notes::NoteC3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 107 | Notes::NoteE3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 108 | Notes::NoteG3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 109 | Notes::NoteFS3, 20, 2, |
RichardE | 9:fa7e7b37b632 | 110 | Notes::NoteA4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 111 | Notes::NoteC4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 112 | |
RichardE | 9:fa7e7b37b632 | 113 | Notes::NoteG3, 20, 2, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 114 | Notes::NoteB4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 115 | Notes::NoteD4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 116 | Notes::NoteC4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 117 | Notes::NoteE4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 118 | Notes::NoteG4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 119 | Notes::NoteFS4, 20, 2, |
RichardE | 9:fa7e7b37b632 | 120 | Notes::NoteA5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 121 | Notes::NoteC5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 122 | |
RichardE | 9:fa7e7b37b632 | 123 | Notes::NoteG4, 20, 2, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 124 | Notes::NoteB5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 125 | Notes::NoteD5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 126 | Notes::NoteC5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 127 | Notes::NoteE5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 128 | Notes::NoteG5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 129 | Notes::NoteFS5, 20, 2, |
RichardE | 9:fa7e7b37b632 | 130 | Notes::NoteA6, 20, 2, |
RichardE | 9:fa7e7b37b632 | 131 | Notes::NoteC6, 20, 2, |
RichardE | 9:fa7e7b37b632 | 132 | |
RichardE | 9:fa7e7b37b632 | 133 | Notes::NoteG5, 20, 2, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 134 | Notes::NoteB6, 20, 2, |
RichardE | 9:fa7e7b37b632 | 135 | Notes::NoteD6, 20, 2, |
RichardE | 9:fa7e7b37b632 | 136 | Notes::NoteG6, 20, 20, |
RichardE | 9:fa7e7b37b632 | 137 | Notes::NoteSilent, 0, 10, |
RichardE | 9:fa7e7b37b632 | 138 | Notes::NoteG6, 20, 20, |
RichardE | 9:fa7e7b37b632 | 139 | Notes::NoteSilent, 0, 10, |
RichardE | 9:fa7e7b37b632 | 140 | Notes::NoteG6, 20, 20, |
RichardE | 9:fa7e7b37b632 | 141 | |
RichardE | 9:fa7e7b37b632 | 142 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 143 | }; |
RichardE | 9:fa7e7b37b632 | 144 | |
RichardE | 9:fa7e7b37b632 | 145 | const UInt8 Sounds::ExtraLife[] = { |
RichardE | 9:fa7e7b37b632 | 146 | Gameduino::SineWave, // waveform |
RichardE | 9:fa7e7b37b632 | 147 | Notes::NoteG5, 15, 5, // frequency, amplitude, duration |
RichardE | 9:fa7e7b37b632 | 148 | Notes::NoteCS6, 15, 5, |
RichardE | 9:fa7e7b37b632 | 149 | Notes::NoteG6, 15, 5, |
RichardE | 9:fa7e7b37b632 | 150 | Notes::NoteG5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 151 | Notes::NoteCS6, 15, 5, |
RichardE | 9:fa7e7b37b632 | 152 | Notes::NoteG6, 15, 5, |
RichardE | 9:fa7e7b37b632 | 153 | Notes::NoteG5, 15, 5, |
RichardE | 9:fa7e7b37b632 | 154 | Notes::NoteCS6, 15, 5, |
RichardE | 9:fa7e7b37b632 | 155 | Notes::NoteG6, 15, 5, |
RichardE | 9:fa7e7b37b632 | 156 | Notes::NoteEndMarker |
RichardE | 9:fa7e7b37b632 | 157 | }; |