Kaif Kutchwala 201267448 ELEC2645 Project

Dependencies:   mbed

Committer:
KaifK
Date:
Sat May 16 13:10:01 2020 +0000
Revision:
4:08a0ff6668df
Parent:
3:f86c1cf90d0d
Child:
5:ed71996c0534
rebuilding lost code initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KaifK 0:e47aa16004e6 1 /*
KaifK 4:08a0ff6668df 2 Shoot
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 3:f86c1cf90d0d 11 #include "Ball.h"
KaifK 3:f86c1cf90d0d 12 #include "Splash.h"
KaifK 4:08a0ff6668df 13 #include "Game.h"
KaifK 0:e47aa16004e6 14
KaifK 4:08a0ff6668df 15 const int a_button [9][9] = {
KaifK 4:08a0ff6668df 16 {0,0,0,1,1,1,0,0,0},
KaifK 4:08a0ff6668df 17 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 18 {0,1,0,0,1,0,0,1,0},
KaifK 4:08a0ff6668df 19 {1,0,0,1,0,1,0,0,1},
KaifK 4:08a0ff6668df 20 {1,0,0,1,1,1,0,0,1},
KaifK 4:08a0ff6668df 21 {1,0,0,1,0,1,0,0,1},
KaifK 4:08a0ff6668df 22 {0,1,0,0,0,0,0,1,0},
KaifK 4:08a0ff6668df 23 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 24 {0,0,0,1,1,1,0,0,0}
KaifK 4:08a0ff6668df 25 };
KaifK 4:08a0ff6668df 26 const int b_button [9][9] = {
KaifK 4:08a0ff6668df 27 {0,0,0,1,1,1,0,0,0},
KaifK 4:08a0ff6668df 28 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 29 {0,1,0,1,1,1,0,1,0},
KaifK 4:08a0ff6668df 30 {1,0,0,1,0,0,1,0,1},
KaifK 4:08a0ff6668df 31 {1,0,0,1,1,1,0,0,1},
KaifK 4:08a0ff6668df 32 {1,0,0,1,0,0,1,0,1},
KaifK 4:08a0ff6668df 33 {0,1,0,1,1,1,0,1,0},
KaifK 4:08a0ff6668df 34 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 35 {0,0,0,1,1,1,0,0,0}
KaifK 4:08a0ff6668df 36 };
KaifK 4:08a0ff6668df 37 const int x_button [9][9] = {
KaifK 4:08a0ff6668df 38 {0,0,0,1,1,1,0,0,0},
KaifK 4:08a0ff6668df 39 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 40 {0,1,0,0,0,0,0,1,0},
KaifK 4:08a0ff6668df 41 {1,0,0,1,0,1,0,0,1},
KaifK 4:08a0ff6668df 42 {1,0,0,0,1,0,0,0,1},
KaifK 4:08a0ff6668df 43 {1,0,0,1,0,1,0,0,1},
KaifK 4:08a0ff6668df 44 {0,1,0,0,0,0,0,1,0},
KaifK 4:08a0ff6668df 45 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 46 {0,0,0,1,1,1,0,0,0}
KaifK 4:08a0ff6668df 47 };
KaifK 4:08a0ff6668df 48 const int y_button [9][9] = {
KaifK 4:08a0ff6668df 49 {0,0,0,1,1,1,0,0,0},
KaifK 4:08a0ff6668df 50 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 51 {0,1,0,0,0,0,0,1,0},
KaifK 4:08a0ff6668df 52 {1,0,0,1,0,1,0,0,1},
KaifK 4:08a0ff6668df 53 {1,0,0,0,1,0,0,0,1},
KaifK 4:08a0ff6668df 54 {1,0,0,0,1,0,0,0,1},
KaifK 4:08a0ff6668df 55 {0,1,0,0,1,0,0,1,0},
KaifK 4:08a0ff6668df 56 {0,0,1,0,0,0,1,0,0},
KaifK 4:08a0ff6668df 57 {0,0,0,1,1,1,0,0,0}
KaifK 4:08a0ff6668df 58 };
KaifK 4:08a0ff6668df 59 //objects
KaifK 0:e47aa16004e6 60 Gamepad pad;
KaifK 0:e47aa16004e6 61 N5110 lcd;
KaifK 4:08a0ff6668df 62 Ball ball;
KaifK 4:08a0ff6668df 63 Splash splash;
KaifK 4:08a0ff6668df 64 //variables
KaifK 4:08a0ff6668df 65 int initial_pos = WIDTH / 2;
KaifK 4:08a0ff6668df 66 int dir = 1;
KaifK 4:08a0ff6668df 67 int dirr = 1;
KaifK 4:08a0ff6668df 68 int aim_line = WIDTH / 2;
KaifK 4:08a0ff6668df 69 int _user_input_x = 40;
KaifK 4:08a0ff6668df 70 int _user_input_y = 12;
KaifK 4:08a0ff6668df 71 int _ball_x = 35;
KaifK 4:08a0ff6668df 72 int _ball_y = 43;
KaifK 4:08a0ff6668df 73 int j = 0;
KaifK 4:08a0ff6668df 74 int k = 0;
KaifK 4:08a0ff6668df 75 int sizex = 11;
KaifK 4:08a0ff6668df 76 int sizey = 15;
KaifK 4:08a0ff6668df 77 char sprite = 'b';
KaifK 2:21973e665a32 78
KaifK 4:08a0ff6668df 79 int main()
KaifK 4:08a0ff6668df 80 {
KaifK 4:08a0ff6668df 81 lcd.init();
KaifK 4:08a0ff6668df 82 lcd.setContrast(0.5);
KaifK 4:08a0ff6668df 83 pad.init();
KaifK 4:08a0ff6668df 84 lcd.backLightOn();
KaifK 4:08a0ff6668df 85 //splash.displayInfo(lcd);
KaifK 4:08a0ff6668df 86 //splash.playIntro(lcd,ball);
KaifK 4:08a0ff6668df 87 while (1)
KaifK 4:08a0ff6668df 88 {
KaifK 4:08a0ff6668df 89 display_menu();
KaifK 4:08a0ff6668df 90 if (pad.A_pressed()) {
KaifK 4:08a0ff6668df 91 while(!pad.B_pressed()) {
KaifK 4:08a0ff6668df 92 game.displayLevel(1,lcd);
KaifK 4:08a0ff6668df 93 wait_ms(100);
KaifK 4:08a0ff6668df 94 lcd.refresh();
KaifK 4:08a0ff6668df 95 lcd.clear();
KaifK 4:08a0ff6668df 96 }
KaifK 4:08a0ff6668df 97 }
KaifK 4:08a0ff6668df 98 /*
KaifK 4:08a0ff6668df 99 ball.init(lcd);
KaifK 4:08a0ff6668df 100 Vector2D joystick = pad.get_mapped_coord();
KaifK 4:08a0ff6668df 101 float ballx = WIDTH / 2 - 7;
KaifK 4:08a0ff6668df 102 float bally = 43;
KaifK 4:08a0ff6668df 103
KaifK 4:08a0ff6668df 104 lcd.drawLine(0, 24, 84, 24, 1);
KaifK 4:08a0ff6668df 105 lcd.drawLine(WIDTH / 2 - 5, 41, initial_pos, HEIGHT / 2 + 7, 1);
KaifK 4:08a0ff6668df 106 lcd.drawLine(WIDTH / 2 + 5, 41, initial_pos, HEIGHT / 2 + 7, 1);
KaifK 4:08a0ff6668df 107 lcd.drawLine(WIDTH / 2 + 5, 41, WIDTH / 2 - 5, 41, 1);
KaifK 4:08a0ff6668df 108 lcd.printString("Score", 0, 5);
KaifK 2:21973e665a32 109
KaifK 4:08a0ff6668df 110 aim_line += dir;
KaifK 4:08a0ff6668df 111 initial_pos += dirr;
KaifK 4:08a0ff6668df 112 if (initial_pos > 84)
KaifK 4:08a0ff6668df 113 {
KaifK 4:08a0ff6668df 114 dirr = -1;
KaifK 4:08a0ff6668df 115 }
KaifK 4:08a0ff6668df 116
KaifK 4:08a0ff6668df 117 if (initial_pos < 0)
KaifK 4:08a0ff6668df 118 {
KaifK 4:08a0ff6668df 119 dirr = 1;
KaifK 4:08a0ff6668df 120 }
KaifK 4:08a0ff6668df 121
KaifK 4:08a0ff6668df 122 if (aim_line > 84)
KaifK 4:08a0ff6668df 123 {
KaifK 4:08a0ff6668df 124 dir = -1;
KaifK 4:08a0ff6668df 125 }
KaifK 4:08a0ff6668df 126
KaifK 4:08a0ff6668df 127 if (aim_line < 0)
KaifK 4:08a0ff6668df 128 {
KaifK 4:08a0ff6668df 129 dir = 1;
KaifK 4:08a0ff6668df 130 }
KaifK 4:08a0ff6668df 131
KaifK 4:08a0ff6668df 132 if (pad.A_pressed())
KaifK 4:08a0ff6668df 133 {
KaifK 3:f86c1cf90d0d 134 wait(0.2);
KaifK 4:08a0ff6668df 135 ball.set_status(0);
KaifK 4:08a0ff6668df 136 ball.playShot(aim_line, 12, lcd);
KaifK 4:08a0ff6668df 137
KaifK 3:f86c1cf90d0d 138 }
KaifK 4:08a0ff6668df 139 */
KaifK 4:08a0ff6668df 140
KaifK 3:f86c1cf90d0d 141 //printf("done");
KaifK 4:08a0ff6668df 142 wait_ms(100);
KaifK 4:08a0ff6668df 143 lcd.refresh();
KaifK 4:08a0ff6668df 144 lcd.clear();
KaifK 4:08a0ff6668df 145 }
KaifK 4:08a0ff6668df 146 }
KaifK 4:08a0ff6668df 147
KaifK 4:08a0ff6668df 148 void display_menu()
KaifK 4:08a0ff6668df 149 {
KaifK 4:08a0ff6668df 150 splash.drawLogo(13, 0, lcd, ball);
KaifK 4:08a0ff6668df 151 lcd.printString("Play", 2, 2);
KaifK 4:08a0ff6668df 152 lcd.printString("How-To?", 2, 3);
KaifK 4:08a0ff6668df 153 lcd.printString("Settings", 2, 4);
KaifK 4:08a0ff6668df 154 lcd.printString("Exit", 2, 5);
KaifK 4:08a0ff6668df 155 lcd.drawSprite(28, 15, 9, 9, (int*) a_button);
KaifK 4:08a0ff6668df 156 lcd.drawSprite(45, 23, 9, 9, (int*) b_button);
KaifK 4:08a0ff6668df 157 lcd.drawSprite(52, 31, 9, 9, (int*) x_button);
KaifK 4:08a0ff6668df 158 lcd.drawSprite(28, 39, 9, 9, (int*) y_button);
KaifK 4:08a0ff6668df 159 }