ELEC2645 (2015/16) / Mbed 2 deprecated Gameinitial

Dependencies:   N5110 mbed

Committer:
Honeymeister
Date:
Fri Apr 29 15:47:55 2016 +0000
Revision:
0:46009d41b72b
Child:
1:2ab3e61fa258
Initial Code (Start up works. Walls work. Snake appears.) [Snake to move with joystick];

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Honeymeister 0:46009d41b72b 1 #include "mbed.h"
Honeymeister 0:46009d41b72b 2 #include "N5110.h"
Honeymeister 0:46009d41b72b 3
Honeymeister 0:46009d41b72b 4 // VCC, SCE, RST, D/C, MOSI, SCLK, LED
Honeymeister 0:46009d41b72b 5 N5110 lcd(PTE26,PTA0,PTC4,PTD0,PTD2,PTD1,PTC3);
Honeymeister 0:46009d41b72b 6 BusOut leds(PTC5 , PTC7);
Honeymeister 0:46009d41b72b 7 AnalogIn pot(PTB10);
Honeymeister 0:46009d41b72b 8
Honeymeister 0:46009d41b72b 9 // change this to alter tolerance of joystick direction
Honeymeister 0:46009d41b72b 10 #define DIRECTION_TOLERANCE 0.05
Honeymeister 0:46009d41b72b 11
Honeymeister 0:46009d41b72b 12 // connections for joystick
Honeymeister 0:46009d41b72b 13 DigitalIn button(PTB11);
Honeymeister 0:46009d41b72b 14 AnalogIn xPot(PTB2);
Honeymeister 0:46009d41b72b 15 AnalogIn yPot(PTB3);
Honeymeister 0:46009d41b72b 16
Honeymeister 0:46009d41b72b 17
Honeymeister 0:46009d41b72b 18 int nx= 84;
Honeymeister 0:46009d41b72b 19 int ny= 48;
Honeymeister 0:46009d41b72b 20 int i;
Honeymeister 0:46009d41b72b 21 int j;
Honeymeister 0:46009d41b72b 22 int NextGen[84][48]= {0};
Honeymeister 0:46009d41b72b 23
Honeymeister 0:46009d41b72b 24 void splashScreen() //This is the first screen the user sees when the game is turned on
Honeymeister 0:46009d41b72b 25 {
Honeymeister 0:46009d41b72b 26
Honeymeister 0:46009d41b72b 27 lcd.printString("Welcome To",15,1);
Honeymeister 0:46009d41b72b 28 wait(1);
Honeymeister 0:46009d41b72b 29 lcd.printString("D.Honeywell's",3,2);
Honeymeister 0:46009d41b72b 30 lcd.printString("------------------",1,3);
Honeymeister 0:46009d41b72b 31 wait(2);
Honeymeister 0:46009d41b72b 32 lcd.printString("E",15,4);
Honeymeister 0:46009d41b72b 33 wait(0.3);
Honeymeister 0:46009d41b72b 34 lcd.printString("EP",15,4);
Honeymeister 0:46009d41b72b 35 wait(0.3);
Honeymeister 0:46009d41b72b 36 lcd.printString("EPI",15,4);
Honeymeister 0:46009d41b72b 37 wait(0.3);
Honeymeister 0:46009d41b72b 38 lcd.printString("EPIC",15,4);
Honeymeister 0:46009d41b72b 39 lcd.printString("EPIC ",15,4);
Honeymeister 0:46009d41b72b 40 wait(0.3);
Honeymeister 0:46009d41b72b 41 lcd.printString("EPIC G",15,4);
Honeymeister 0:46009d41b72b 42 wait(0.3);
Honeymeister 0:46009d41b72b 43 lcd.printString("EPIC GA",15,4);
Honeymeister 0:46009d41b72b 44 wait(0.3);
Honeymeister 0:46009d41b72b 45 lcd.printString("EPIC GAM",15,4);
Honeymeister 0:46009d41b72b 46 wait(0.3);
Honeymeister 0:46009d41b72b 47 lcd.printString("EPIC GAME",15,4);
Honeymeister 0:46009d41b72b 48 wait(0.3);
Honeymeister 0:46009d41b72b 49 // lcd.drawRect(0,0,82,46,0);
Honeymeister 0:46009d41b72b 50 // wait(0.1);
Honeymeister 0:46009d41b72b 51 // lcd.drawRect(0,0,78,42,0);
Honeymeister 0:46009d41b72b 52 // wait(0.1);
Honeymeister 0:46009d41b72b 53 // lcd.drawRect(0,0,74,38,0);
Honeymeister 0:46009d41b72b 54 // wait(0.1);
Honeymeister 0:46009d41b72b 55 // lcd.drawRect(0,0,70,34,0);
Honeymeister 0:46009d41b72b 56 // wait(0.1);
Honeymeister 0:46009d41b72b 57 // lcd.drawRect(0,0,66,30,0);
Honeymeister 0:46009d41b72b 58 // wait(0.1);
Honeymeister 0:46009d41b72b 59 // lcd.drawRect(0,0,62,26,0);
Honeymeister 0:46009d41b72b 60 // wait(0.1);
Honeymeister 0:46009d41b72b 61 // lcd.drawRect(0,0,58,22,0);
Honeymeister 0:46009d41b72b 62 // wait(0.1);
Honeymeister 0:46009d41b72b 63 // lcd.drawRect(0,0,54,18,0);
Honeymeister 0:46009d41b72b 64 // wait(0.1);
Honeymeister 0:46009d41b72b 65 // lcd.drawRect(0,0,50,14,0);
Honeymeister 0:46009d41b72b 66 // wait(0.1);
Honeymeister 0:46009d41b72b 67 // lcd.drawRect(0,0,46,10,0);
Honeymeister 0:46009d41b72b 68 // wait(0.1);
Honeymeister 0:46009d41b72b 69 // lcd.drawRect(0,0,42,6,0);
Honeymeister 0:46009d41b72b 70 // wait(0.1);
Honeymeister 0:46009d41b72b 71 // lcd.drawRect(0,0,38,2,0);
Honeymeister 0:46009d41b72b 72 // wait(0.1);
Honeymeister 0:46009d41b72b 73
Honeymeister 0:46009d41b72b 74
Honeymeister 0:46009d41b72b 75
Honeymeister 0:46009d41b72b 76 }
Honeymeister 0:46009d41b72b 77
Honeymeister 0:46009d41b72b 78
Honeymeister 0:46009d41b72b 79 void clearCells()
Honeymeister 0:46009d41b72b 80 {
Honeymeister 0:46009d41b72b 81 for (int i = 0; i < nx ; i++) {
Honeymeister 0:46009d41b72b 82 for (int j = 0; j < ny ; j++) {
Honeymeister 0:46009d41b72b 83 lcd.clearPixel(i,j);
Honeymeister 0:46009d41b72b 84
Honeymeister 0:46009d41b72b 85 }
Honeymeister 0:46009d41b72b 86 }
Honeymeister 0:46009d41b72b 87 lcd.refresh();
Honeymeister 0:46009d41b72b 88
Honeymeister 0:46009d41b72b 89 }
Honeymeister 0:46009d41b72b 90
Honeymeister 0:46009d41b72b 91
Honeymeister 0:46009d41b72b 92
Honeymeister 0:46009d41b72b 93 void snakeBody(char x, char y)
Honeymeister 0:46009d41b72b 94
Honeymeister 0:46009d41b72b 95 {
Honeymeister 0:46009d41b72b 96 lcd.setPixel(x,y);
Honeymeister 0:46009d41b72b 97 lcd.setPixel(x+1,y);
Honeymeister 0:46009d41b72b 98 lcd.setPixel(x+2,y);
Honeymeister 0:46009d41b72b 99 lcd.setPixel(x+3,y);
Honeymeister 0:46009d41b72b 100 lcd.setPixel(x+4,y);
Honeymeister 0:46009d41b72b 101 lcd.setPixel(x+5,y);
Honeymeister 0:46009d41b72b 102 lcd.setPixel(x+6,y);
Honeymeister 0:46009d41b72b 103 lcd.setPixel(x+7,y);
Honeymeister 0:46009d41b72b 104 lcd.setPixel(x+8,y);
Honeymeister 0:46009d41b72b 105 lcd.setPixel(x+9,y);
Honeymeister 0:46009d41b72b 106 lcd.setPixel(x+10,y);
Honeymeister 0:46009d41b72b 107 lcd.setPixel(x,y+1);
Honeymeister 0:46009d41b72b 108 lcd.setPixel(x+1,y+1);
Honeymeister 0:46009d41b72b 109 lcd.setPixel(x+2,y+1);
Honeymeister 0:46009d41b72b 110 lcd.setPixel(x+3,y+1);
Honeymeister 0:46009d41b72b 111 lcd.setPixel(x+4,y+1);
Honeymeister 0:46009d41b72b 112 lcd.setPixel(x+5,y+1);
Honeymeister 0:46009d41b72b 113 lcd.setPixel(x+6,y+1);
Honeymeister 0:46009d41b72b 114 lcd.setPixel(x+7,y+1);
Honeymeister 0:46009d41b72b 115 lcd.setPixel(x+8,y+1);
Honeymeister 0:46009d41b72b 116 lcd.setPixel(x+9,y+1);
Honeymeister 0:46009d41b72b 117 lcd.setPixel(x+10,y+1);
Honeymeister 0:46009d41b72b 118
Honeymeister 0:46009d41b72b 119
Honeymeister 0:46009d41b72b 120 lcd.refresh();
Honeymeister 0:46009d41b72b 121
Honeymeister 0:46009d41b72b 122 }
Honeymeister 0:46009d41b72b 123
Honeymeister 0:46009d41b72b 124 int Rand (int Min = 1, int Max = 83)
Honeymeister 0:46009d41b72b 125 {
Honeymeister 0:46009d41b72b 126 static bool First = true;
Honeymeister 0:46009d41b72b 127 if (First) srand (time (NULL)), First = false;
Honeymeister 0:46009d41b72b 128 while (7)
Honeymeister 0:46009d41b72b 129 {
Honeymeister 0:46009d41b72b 130 int S = rand () % (Max - Min + 1) + Min;
Honeymeister 0:46009d41b72b 131 if (!((S - 1) % 3)) return S;
Honeymeister 0:46009d41b72b 132 }
Honeymeister 0:46009d41b72b 133 }
Honeymeister 0:46009d41b72b 134
Honeymeister 0:46009d41b72b 135 void Wall ()
Honeymeister 0:46009d41b72b 136
Honeymeister 0:46009d41b72b 137 {
Honeymeister 0:46009d41b72b 138
Honeymeister 0:46009d41b72b 139 lcd.drawRect(0,0,82,46,0);
Honeymeister 0:46009d41b72b 140 lcd.drawRect(1,1,80,44,0);
Honeymeister 0:46009d41b72b 141
Honeymeister 0:46009d41b72b 142 }
Honeymeister 0:46009d41b72b 143
Honeymeister 0:46009d41b72b 144
Honeymeister 0:46009d41b72b 145 int main()
Honeymeister 0:46009d41b72b 146 {
Honeymeister 0:46009d41b72b 147 srand(time(NULL));
Honeymeister 0:46009d41b72b 148
Honeymeister 0:46009d41b72b 149 wait(2);
Honeymeister 0:46009d41b72b 150 lcd.init();
Honeymeister 0:46009d41b72b 151 splashScreen();
Honeymeister 0:46009d41b72b 152 wait(2);
Honeymeister 0:46009d41b72b 153 clearCells();
Honeymeister 0:46009d41b72b 154 Wall();
Honeymeister 0:46009d41b72b 155 wait(0.5);
Honeymeister 0:46009d41b72b 156 snakeBody(42,24);
Honeymeister 0:46009d41b72b 157 while (1){
Honeymeister 0:46009d41b72b 158
Honeymeister 0:46009d41b72b 159 lcd.setBrightness(pot*0.001f);
Honeymeister 0:46009d41b72b 160 }
Honeymeister 0:46009d41b72b 161 }