Doxygen comments added

Dependencies:   mbed Gamepad N5110

Committer:
rafeh
Date:
Wed May 01 22:01:10 2019 +0000
Revision:
4:e98b22e5d5e8
Parent:
3:5409b50b01b0
Child:
5:3a0948f56de0
updating pipes class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rafeh 0:43364ffd7cf6 1 /*
rafeh 0:43364ffd7cf6 2 ELEC2645 Embedded Systems Project
rafeh 0:43364ffd7cf6 3 School of Electronic & Electrical Engineering
rafeh 0:43364ffd7cf6 4 University of Leeds
rafeh 0:43364ffd7cf6 5 Name: Rafeh Ishtiaq
rafeh 0:43364ffd7cf6 6 Username: el17ri
rafeh 0:43364ffd7cf6 7 Student ID Number: 201062291
rafeh 0:43364ffd7cf6 8 Date: 20/03/2019
rafeh 0:43364ffd7cf6 9 */
rafeh 0:43364ffd7cf6 10
rafeh 0:43364ffd7cf6 11 #include "mbed.h"
rafeh 0:43364ffd7cf6 12 #include "N5110.h"
rafeh 0:43364ffd7cf6 13 #include "Gamepad.h"
rafeh 3:5409b50b01b0 14 #include "Pipes.h"
rafeh 3:5409b50b01b0 15 //#include "Bird.h"
rafeh 0:43364ffd7cf6 16
rafeh 0:43364ffd7cf6 17 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
rafeh 0:43364ffd7cf6 18 Gamepad pad;
rafeh 3:5409b50b01b0 19 //Bird bird;
rafeh 3:5409b50b01b0 20 Pipes pipes;
rafeh 3:5409b50b01b0 21
rafeh 3:5409b50b01b0 22 const int intro [40][40] =
rafeh 1:beceda7046fb 23 {
rafeh 1:beceda7046fb 24 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 25 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 26 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 27 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 28 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 29 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 30 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 31 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 32 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 33 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 34 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 35 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 36 0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 37 0,0,0,0,0,0,0,0,1,0,0,0,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,
rafeh 1:beceda7046fb 38 0,0,0,0,0,0,0,1,1,0,1,0,0,1,1,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,
rafeh 1:beceda7046fb 39 0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,
rafeh 1:beceda7046fb 40 0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,1,
rafeh 1:beceda7046fb 41 0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,
rafeh 1:beceda7046fb 42 0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
rafeh 1:beceda7046fb 43 0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,
rafeh 1:beceda7046fb 44 0,1,1,1,0,1,1,0,1,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,
rafeh 1:beceda7046fb 45 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,
rafeh 1:beceda7046fb 46 1,1,1,1,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,1,1,0,0,
rafeh 1:beceda7046fb 47 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
rafeh 1:beceda7046fb 48 1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,
rafeh 1:beceda7046fb 49 0,1,1,1,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,
rafeh 1:beceda7046fb 50 0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,1,1,1,0,0,0,0,
rafeh 1:beceda7046fb 51 0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,
rafeh 1:beceda7046fb 52 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,
rafeh 1:beceda7046fb 53 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,
rafeh 1:beceda7046fb 54 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 55 0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 56 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 57 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 58 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 59 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 60 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 61 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 62 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 1:beceda7046fb 63 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
rafeh 0:43364ffd7cf6 64
rafeh 1:beceda7046fb 65 };
rafeh 0:43364ffd7cf6 66
rafeh 3:5409b50b01b0 67 const int moving [6][6] =
rafeh 2:9f5714571c41 68 {
rafeh 3:5409b50b01b0 69 0,0,1,1,0,0,
rafeh 3:5409b50b01b0 70 0,1,0,1,1,0,
rafeh 3:5409b50b01b0 71 1,0,1,1,1,1,
rafeh 3:5409b50b01b0 72 1,1,1,1,1,0,
rafeh 3:5409b50b01b0 73 0,1,1,1,1,0,
rafeh 3:5409b50b01b0 74 0,0,0,0,0,0,
rafeh 2:9f5714571c41 75
rafeh 2:9f5714571c41 76 };
rafeh 2:9f5714571c41 77
rafeh 0:43364ffd7cf6 78 void welcome();
rafeh 4:e98b22e5d5e8 79 void checkcollisions(int hor, int ver);
rafeh 4:e98b22e5d5e8 80
rafeh 3:5409b50b01b0 81
rafeh 3:5409b50b01b0 82 int xaxis=25;
rafeh 3:5409b50b01b0 83 int yaxis=20;
rafeh 3:5409b50b01b0 84
rafeh 0:43364ffd7cf6 85 int main() {
rafeh 0:43364ffd7cf6 86 lcd.init();
rafeh 0:43364ffd7cf6 87 pad.init();
rafeh 0:43364ffd7cf6 88 lcd.clear();
rafeh 1:beceda7046fb 89 lcd.setContrast(0.5);
rafeh 1:beceda7046fb 90 welcome();
rafeh 2:9f5714571c41 91 if (pad.check_event(Gamepad::START_PRESSED) == false) {
rafeh 2:9f5714571c41 92 lcd.clear();
rafeh 2:9f5714571c41 93
rafeh 3:5409b50b01b0 94 int xvalue=84;
rafeh 4:e98b22e5d5e8 95 int height = rand() % (19 + 1 - 0) + 0;
rafeh 3:5409b50b01b0 96 int score = 0;
rafeh 3:5409b50b01b0 97 char scoredisplay[3];
rafeh 2:9f5714571c41 98 while(1) {
rafeh 3:5409b50b01b0 99 lcd.drawRect(0,45,84,3,FILL_BLACK);
rafeh 3:5409b50b01b0 100
rafeh 3:5409b50b01b0 101 //lcd.drawRect(xvalue,0,5,height,FILL_BLACK);
rafeh 3:5409b50b01b0 102 //lcd.drawRect(xvalue,(height+20),5,(84-(height+20)),FILL_BLACK);
rafeh 3:5409b50b01b0 103 //pipes.init(xvalue,height);
rafeh 3:5409b50b01b0 104 pipes.init(xvalue,height);
rafeh 3:5409b50b01b0 105 pipes.draw(lcd);
rafeh 3:5409b50b01b0 106 xvalue=xvalue-1;
rafeh 3:5409b50b01b0 107 sprintf(scoredisplay,"%d",score);
rafeh 3:5409b50b01b0 108 lcd.printString(scoredisplay,60,0);
rafeh 3:5409b50b01b0 109
rafeh 3:5409b50b01b0 110 if(xvalue<20 && xvalue>17) {
rafeh 3:5409b50b01b0 111 score=score+1;
rafeh 3:5409b50b01b0 112 }
rafeh 3:5409b50b01b0 113
rafeh 3:5409b50b01b0 114
rafeh 3:5409b50b01b0 115 if(xvalue<1) {
rafeh 4:e98b22e5d5e8 116 height=rand() % (19 + 1 - 0) + 0;
rafeh 3:5409b50b01b0 117 xvalue=84;
rafeh 3:5409b50b01b0 118 }
rafeh 3:5409b50b01b0 119
rafeh 3:5409b50b01b0 120 //pipes(xvalue,height);
rafeh 3:5409b50b01b0 121 //bird.init(xaxis,yaxis);
rafeh 3:5409b50b01b0 122 //bird.draw(lcd);
rafeh 3:5409b50b01b0 123 lcd.drawSprite(xaxis,yaxis,6,6,(int*)moving);
rafeh 2:9f5714571c41 124 yaxis=yaxis+2;
rafeh 2:9f5714571c41 125 if (pad.check_event(Gamepad::A_PRESSED) == true) {
rafeh 4:e98b22e5d5e8 126 yaxis=yaxis-14;
rafeh 2:9f5714571c41 127 }
rafeh 4:e98b22e5d5e8 128
rafeh 3:5409b50b01b0 129 wait(0.075);
rafeh 3:5409b50b01b0 130 xvalue=xvalue-1;
rafeh 4:e98b22e5d5e8 131
rafeh 4:e98b22e5d5e8 132 //checkcollisions(xaxis,yaxis);
rafeh 2:9f5714571c41 133 //wait(0.1);
rafeh 2:9f5714571c41 134 lcd.refresh();
rafeh 2:9f5714571c41 135 lcd.clear();
rafeh 2:9f5714571c41 136 }
rafeh 2:9f5714571c41 137 }
rafeh 3:5409b50b01b0 138
rafeh 3:5409b50b01b0 139
rafeh 2:9f5714571c41 140 }
rafeh 0:43364ffd7cf6 141
rafeh 2:9f5714571c41 142
rafeh 0:43364ffd7cf6 143
rafeh 0:43364ffd7cf6 144 void welcome() {
rafeh 3:5409b50b01b0 145 lcd.drawSprite(0,0,40,40,(int*)intro);
rafeh 1:beceda7046fb 146 lcd.printString(" Flappy ",40,0);
rafeh 1:beceda7046fb 147 lcd.printString(" Bird ",40,1);
rafeh 1:beceda7046fb 148 lcd.printString(" Press ",40,3);
rafeh 1:beceda7046fb 149 lcd.printString(" Start ",40,4);
rafeh 1:beceda7046fb 150 lcd.refresh();
rafeh 1:beceda7046fb 151 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
rafeh 1:beceda7046fb 152 pad.leds_on();
rafeh 1:beceda7046fb 153 wait(0.1);
rafeh 1:beceda7046fb 154 pad.leds_off();
rafeh 1:beceda7046fb 155 wait(0.1);
rafeh 1:beceda7046fb 156 }
rafeh 2:9f5714571c41 157 }
rafeh 1:beceda7046fb 158
rafeh 4:e98b22e5d5e8 159 void checkcollisions(int hor , int ver) {
rafeh 4:e98b22e5d5e8 160 if(lcd.getPixel((hor+3),ver)|| lcd.getPixel(hor+4,ver)) { welcome();}
rafeh 4:e98b22e5d5e8 161 if(lcd.getPixel((hor+1),(ver+1)) || lcd.getPixel((hor+4),(ver+1))) { welcome();}
rafeh 4:e98b22e5d5e8 162 if(lcd.getPixel((hor),(ver+2)) || lcd.getPixel((hor+5),(ver+2))) {welcome();}
rafeh 4:e98b22e5d5e8 163 if(lcd.getPixel((hor),(ver+3)) || lcd.getPixel((hor+4),(ver+3))) {welcome();}
rafeh 4:e98b22e5d5e8 164 if(lcd.getPixel((hor+1),(ver+4)) || lcd.getPixel((hor+4),(ver+4))) {welcome();}
rafeh 3:5409b50b01b0 165 }
rafeh 3:5409b50b01b0 166
rafeh 3:5409b50b01b0 167