
Kaif Kutchwala 201267448 ELEC2645 Project
Dependencies: mbed
main.cpp@0:e47aa16004e6, 2020-04-24 (annotated)
- Committer:
- KaifK
- Date:
- Fri Apr 24 22:24:14 2020 +0000
- Revision:
- 0:e47aa16004e6
- Child:
- 1:35d2e82b764e
game idea confirmed and all sprites drawn;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
KaifK | 0:e47aa16004e6 | 1 | /* |
KaifK | 0:e47aa16004e6 | 2 | Stay Home Stay Safe |
KaifK | 0:e47aa16004e6 | 3 | ELEC2645 Project |
KaifK | 0:e47aa16004e6 | 4 | EL18KK |
KaifK | 0:e47aa16004e6 | 5 | 201267448 |
KaifK | 0:e47aa16004e6 | 6 | */ |
KaifK | 0:e47aa16004e6 | 7 | |
KaifK | 0:e47aa16004e6 | 8 | #include "mbed.h" |
KaifK | 0:e47aa16004e6 | 9 | #include "Gamepad.h" |
KaifK | 0:e47aa16004e6 | 10 | #include "N5110.h" |
KaifK | 0:e47aa16004e6 | 11 | |
KaifK | 0:e47aa16004e6 | 12 | Gamepad pad; |
KaifK | 0:e47aa16004e6 | 13 | N5110 lcd; |
KaifK | 0:e47aa16004e6 | 14 | |
KaifK | 0:e47aa16004e6 | 15 | int goal[24][70] = { |
KaifK | 0:e47aa16004e6 | 16 | {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, |
KaifK | 0:e47aa16004e6 | 17 | {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, |
KaifK | 0:e47aa16004e6 | 18 | {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, |
KaifK | 0:e47aa16004e6 | 19 | {0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 20 | {0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 21 | {0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 22 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 23 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 24 | {0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 25 | {0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 26 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 27 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 28 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 29 | {0,1,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 30 | {0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 31 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 32 | {0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 33 | {0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 34 | {0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 35 | {0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 36 | {0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0}, |
KaifK | 0:e47aa16004e6 | 37 | {0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 38 | {0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 39 | {0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 40 | |
KaifK | 0:e47aa16004e6 | 41 | }; |
KaifK | 0:e47aa16004e6 | 42 | int ball[11][15] = { |
KaifK | 0:e47aa16004e6 | 43 | {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0}, |
KaifK | 0:e47aa16004e6 | 44 | {0,0,0,1,1,0,1,1,1,0,1,1,0,0,0}, |
KaifK | 0:e47aa16004e6 | 45 | {0,0,1,0,0,0,0,1,0,0,0,0,1,0,0}, |
KaifK | 0:e47aa16004e6 | 46 | {0,1,0,0,0,0,0,1,0,0,0,0,0,1,0}, |
KaifK | 0:e47aa16004e6 | 47 | {0,1,1,0,0,0,1,1,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 48 | {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, |
KaifK | 0:e47aa16004e6 | 49 | {0,1,1,0,0,0,1,1,1,0,0,0,1,1,0}, |
KaifK | 0:e47aa16004e6 | 50 | {0,1,0,0,0,0,0,1,0,0,0,0,0,1,0}, |
KaifK | 0:e47aa16004e6 | 51 | {0,0,1,0,0,0,0,1,0,0,0,0,1,0,0}, |
KaifK | 0:e47aa16004e6 | 52 | {0,0,0,1,1,0,1,1,1,0,1,1,0,0,0}, |
KaifK | 0:e47aa16004e6 | 53 | {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0}, |
KaifK | 0:e47aa16004e6 | 54 | }; |
KaifK | 0:e47aa16004e6 | 55 | |
KaifK | 0:e47aa16004e6 | 56 | int grass1[7][7] = { |
KaifK | 0:e47aa16004e6 | 57 | {0,0,0,0,0,0,0}, |
KaifK | 0:e47aa16004e6 | 58 | {0,0,0,0,0,0,0}, |
KaifK | 0:e47aa16004e6 | 59 | {0,0,1,0,0,0,0}, |
KaifK | 0:e47aa16004e6 | 60 | {0,0,1,0,1,0,0}, |
KaifK | 0:e47aa16004e6 | 61 | {0,1,0,1,0,1,0}, |
KaifK | 0:e47aa16004e6 | 62 | {0,1,0,1,0,1,0}, |
KaifK | 0:e47aa16004e6 | 63 | {1,0,1,0,0,0,1}, |
KaifK | 0:e47aa16004e6 | 64 | }; |
KaifK | 0:e47aa16004e6 | 65 | int grass2[3][3] = { |
KaifK | 0:e47aa16004e6 | 66 | {1,0,1}, |
KaifK | 0:e47aa16004e6 | 67 | {0,1,0}, |
KaifK | 0:e47aa16004e6 | 68 | {1,1,1}, |
KaifK | 0:e47aa16004e6 | 69 | }; |
KaifK | 0:e47aa16004e6 | 70 | |
KaifK | 0:e47aa16004e6 | 71 | int initial_pos = WIDTH/2; |
KaifK | 0:e47aa16004e6 | 72 | int main() { |
KaifK | 0:e47aa16004e6 | 73 | lcd.init(); |
KaifK | 0:e47aa16004e6 | 74 | lcd.setContrast(0.5); |
KaifK | 0:e47aa16004e6 | 75 | pad.init(); |
KaifK | 0:e47aa16004e6 | 76 | lcd.backLightOn(); |
KaifK | 0:e47aa16004e6 | 77 | while(1) { |
KaifK | 0:e47aa16004e6 | 78 | lcd.drawSprite(7,0,24,70,(int *)goal); |
KaifK | 0:e47aa16004e6 | 79 | lcd.drawSprite(1,17,7,7,(int *)grass1); |
KaifK | 0:e47aa16004e6 | 80 | lcd.drawSprite(76,17,7,7,(int *)grass1); |
KaifK | 0:e47aa16004e6 | 81 | lcd.drawSprite(67,26,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 82 | lcd.drawSprite(67,26,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 83 | lcd.drawSprite(16,30,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 84 | lcd.drawSprite(6,35,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 85 | lcd.drawSprite(72,32,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 86 | lcd.drawSprite(69,43,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 87 | lcd.drawSprite(12,45,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 88 | lcd.drawSprite(32,34,3,3,(int *)grass2); |
KaifK | 0:e47aa16004e6 | 89 | Vector2D joystick = pad.get_mapped_coord(); |
KaifK | 0:e47aa16004e6 | 90 | float ballx = WIDTH/2 - 7; |
KaifK | 0:e47aa16004e6 | 91 | float bally = 39; |
KaifK | 0:e47aa16004e6 | 92 | lcd.drawSprite(ballx,bally,11,15,(int *)ball); |
KaifK | 0:e47aa16004e6 | 93 | lcd.drawLine(0,24,84,24,1); |
KaifK | 0:e47aa16004e6 | 94 | lcd.drawLine(WIDTH/2-3,37,initial_pos,HEIGHT/2+4,1); |
KaifK | 0:e47aa16004e6 | 95 | lcd.drawLine(WIDTH/2+3,37,initial_pos,HEIGHT/2+4,1); |
KaifK | 0:e47aa16004e6 | 96 | lcd.drawLine(WIDTH/2+3,37,WIDTH/2-3,37,1); |
KaifK | 0:e47aa16004e6 | 97 | lcd.printString("Score",0,5); |
KaifK | 0:e47aa16004e6 | 98 | |
KaifK | 0:e47aa16004e6 | 99 | |
KaifK | 0:e47aa16004e6 | 100 | |
KaifK | 0:e47aa16004e6 | 101 | |
KaifK | 0:e47aa16004e6 | 102 | lcd.refresh(); |
KaifK | 0:e47aa16004e6 | 103 | lcd.clear(); |
KaifK | 0:e47aa16004e6 | 104 | } |
KaifK | 0:e47aa16004e6 | 105 | } |