Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:46009d41b72b, 2016-04-29 (annotated)
- 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?
User | Revision | Line number | New 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 | } |