Simple fish eat program
Dependencies: mbed mbed-rtos N5110 ShiftReg Tone
main.cpp@10:e221bd1ce3ec, 2021-04-20 (annotated)
- Committer:
- el18a2k
- Date:
- Tue Apr 20 15:35:00 2021 +0000
- Revision:
- 10:e221bd1ce3ec
- Parent:
- 8:fe51fbf81dee
- Child:
- 11:7c1e2a9303d3
gameplay implemented
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18a2k | 0:cf9660998431 | 1 | #include "mbed.h" |
el18a2k | 3:8c9c9794bcf2 | 2 | #include "rtos.h" //allows multiple threads to run at the same time: https://os.mbed.com/handbook/RTOS |
el18a2k | 3:8c9c9794bcf2 | 3 | |
el18a2k | 1:7dfa61225fcf | 4 | #include "FishEngine.h" |
el18a2k | 7:6f951d175df6 | 5 | #include "Sound.h" |
el18a2k | 6:7aafcaf7cbe2 | 6 | #include "Settings.h" |
el18a2k | 0:cf9660998431 | 7 | |
el18a2k | 3:8c9c9794bcf2 | 8 | /*TO DO: |
el18a2k | 6:7aafcaf7cbe2 | 9 | * REMEMBER TO USE VERSION CONTROL |
el18a2k | 6:7aafcaf7cbe2 | 10 | * implement sound on/off */ |
el18a2k | 3:8c9c9794bcf2 | 11 | |
el18a2k | 3:8c9c9794bcf2 | 12 | //Attach |
el18a2k | 0:cf9660998431 | 13 | N5110 lcd(p8,p9,p10,p11,p13,p21); |
el18a2k | 2:532b0225519f | 14 | Joystick joystick(p20, p19); |
el18a2k | 1:7dfa61225fcf | 15 | Tone dac(p18); |
el18a2k | 1:7dfa61225fcf | 16 | |
el18a2k | 2:532b0225519f | 17 | //Objects |
el18a2k | 1:7dfa61225fcf | 18 | FishEngine fish; |
el18a2k | 7:6f951d175df6 | 19 | Sound sound; |
el18a2k | 6:7aafcaf7cbe2 | 20 | Settings settingsMain; |
el18a2k | 7:6f951d175df6 | 21 | Thread thread; |
el18a2k | 0:cf9660998431 | 22 | |
el18a2k | 8:fe51fbf81dee | 23 | void theme(); |
el18a2k | 8:fe51fbf81dee | 24 | |
el18a2k | 0:cf9660998431 | 25 | int main(){ |
el18a2k | 6:7aafcaf7cbe2 | 26 | settingsMain.systemINIT( lcd, dac, joystick); //initialise board |
el18a2k | 10:e221bd1ce3ec | 27 | thread.start(theme); |
el18a2k | 0:cf9660998431 | 28 | |
el18a2k | 0:cf9660998431 | 29 | while(1){ |
el18a2k | 2:532b0225519f | 30 | fish.titleSequence(lcd); //calls title sequence |
el18a2k | 2:532b0225519f | 31 | fish.mainMenu(lcd, dac, joystick); |
el18a2k | 0:cf9660998431 | 32 | } |
el18a2k | 7:6f951d175df6 | 33 | } |
el18a2k | 7:6f951d175df6 | 34 | |
el18a2k | 7:6f951d175df6 | 35 | void theme(){ |
el18a2k | 7:6f951d175df6 | 36 | sound.mainTheme(dac); |
el18a2k | 0:cf9660998431 | 37 | } |