Invaders game for the Gameduino

Dependencies:   Gameduino mbed

Committer:
TheChrisyd
Date:
Sat Oct 26 22:32:18 2013 +0000
Revision:
4:e82f4a87df9e
Parent:
2:20a89dc286d5
Shields are now destroyed when hit, corrected score displays

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TheChrisyd 2:20a89dc286d5 1 #include "mbed.h"
TheChrisyd 2:20a89dc286d5 2 #include "GD.h"
TheChrisyd 2:20a89dc286d5 3 #include "shield.h"
TheChrisyd 2:20a89dc286d5 4 GDClass GD(ARD_MOSI, ARD_MISO, ARD_SCK, ARD_D9, USBTX, USBRX) ;
TheChrisyd 2:20a89dc286d5 5
TheChrisyd 2:20a89dc286d5 6 /*---------------------------------------------------------
TheChrisyd 2:20a89dc286d5 7 A Space Invaders clone for Gameduino
TheChrisyd 2:20a89dc286d5 8
TheChrisyd 2:20a89dc286d5 9 http://www.artlum.com/gameduino/gameduino.html#invaders
TheChrisyd 2:20a89dc286d5 10
TheChrisyd 2:20a89dc286d5 11 Version 0.9 alpha - Still seme things to add
TheChrisyd 2:20a89dc286d5 12 but I'm out of memory!
TheChrisyd 2:20a89dc286d5 13
TheChrisyd 2:20a89dc286d5 14 Edit "joystick.cpp" if you have a custom joystick.
TheChrisyd 2:20a89dc286d5 15 ---------------------------------------------------------*/
TheChrisyd 2:20a89dc286d5 16
TheChrisyd 2:20a89dc286d5 17 #include "game.h"
TheChrisyd 2:20a89dc286d5 18 #include "arduino.h"
TheChrisyd 2:20a89dc286d5 19
TheChrisyd 2:20a89dc286d5 20 void setup() {
TheChrisyd 2:20a89dc286d5 21 GD.begin();
TheChrisyd 2:20a89dc286d5 22 makeGraphics();
TheChrisyd 2:20a89dc286d5 23 Coprocessor::reset(samplePlaybackBuffer);
TheChrisyd 4:e82f4a87df9e 24 randomSeed(GD.rd(FRAME));
TheChrisyd 2:20a89dc286d5 25 resetGameSounds();
TheChrisyd 2:20a89dc286d5 26 initGame();
TheChrisyd 2:20a89dc286d5 27 }
TheChrisyd 2:20a89dc286d5 28
TheChrisyd 2:20a89dc286d5 29 void loop() {
TheChrisyd 2:20a89dc286d5 30 GD.waitvblank();
TheChrisyd 2:20a89dc286d5 31 updateGame();
TheChrisyd 2:20a89dc286d5 32 updateGameSounds();
TheChrisyd 2:20a89dc286d5 33
TheChrisyd 2:20a89dc286d5 34 // Debugging/info
TheChrisyd 2:20a89dc286d5 35 if (0) {
TheChrisyd 2:20a89dc286d5 36 joystick.dump(0,33); // Show the joystick state
TheChrisyd 2:20a89dc286d5 37 int yline = Coprocessor::yline();
TheChrisyd 2:20a89dc286d5 38 showNumber(yline,0,31);
TheChrisyd 2:20a89dc286d5 39 }
TheChrisyd 2:20a89dc286d5 40 // Screenshot when you press the select button
TheChrisyd 2:20a89dc286d5 41 if (0 and joystick.isPressed(Joystick::buttonSelect)) {
TheChrisyd 2:20a89dc286d5 42 sendScreenshot();
TheChrisyd 2:20a89dc286d5 43 }
TheChrisyd 2:20a89dc286d5 44 }
TheChrisyd 2:20a89dc286d5 45
TheChrisyd 2:20a89dc286d5 46
TheChrisyd 2:20a89dc286d5 47 int main() {
TheChrisyd 2:20a89dc286d5 48 setup();
TheChrisyd 2:20a89dc286d5 49 while (1) {
TheChrisyd 2:20a89dc286d5 50 loop();
TheChrisyd 2:20a89dc286d5 51 }
TheChrisyd 0:8a7c58553b44 52 }