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.
Dependencies: N5110_Double_Snake mbed
main.cpp@0:f518d387c29e, 2018-07-05 (annotated)
- Committer:
- 2018US_RijadSehovic
- Date:
- Thu Jul 05 22:07:09 2018 +0000
- Revision:
- 0:f518d387c29e
commit2;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| 2018US_RijadSehovic | 0:f518d387c29e | 1 | #include "mbed.h" |
| 2018US_RijadSehovic | 0:f518d387c29e | 2 | #include "string" |
| 2018US_RijadSehovic | 0:f518d387c29e | 3 | #include "mbed.h" |
| 2018US_RijadSehovic | 0:f518d387c29e | 4 | #include "N5110.h" |
| 2018US_RijadSehovic | 0:f518d387c29e | 5 | #define dp23 P0_0 |
| 2018US_RijadSehovic | 0:f518d387c29e | 6 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 7 | AnalogIn q(dp9); |
| 2018US_RijadSehovic | 0:f518d387c29e | 8 | AnalogIn w(dp10); |
| 2018US_RijadSehovic | 0:f518d387c29e | 9 | AnalogIn ax2(dp11); |
| 2018US_RijadSehovic | 0:f518d387c29e | 10 | AnalogIn ay2(dp13); |
| 2018US_RijadSehovic | 0:f518d387c29e | 11 | N5110 lcd(dp17,dp24,dp23,dp25,dp2,dp6,dp18); |
| 2018US_RijadSehovic | 0:f518d387c29e | 12 | DigitalOut en(dp14); |
| 2018US_RijadSehovic | 0:f518d387c29e | 13 | AnalogIn rand2(dp4); |
| 2018US_RijadSehovic | 0:f518d387c29e | 14 | DigitalIn taster(dp1); |
| 2018US_RijadSehovic | 0:f518d387c29e | 15 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 16 | using namespace std; |
| 2018US_RijadSehovic | 0:f518d387c29e | 17 | bool gameOver,pomocna; |
| 2018US_RijadSehovic | 0:f518d387c29e | 18 | double t; |
| 2018US_RijadSehovic | 0:f518d387c29e | 19 | const int width = 84; |
| 2018US_RijadSehovic | 0:f518d387c29e | 20 | const int height = 48; |
| 2018US_RijadSehovic | 0:f518d387c29e | 21 | int x, y, x2, y2, voceX, voceY, score,voceX2,voceY2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 22 | int xp,yp; |
| 2018US_RijadSehovic | 0:f518d387c29e | 23 | int repX[100], repY[100]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 24 | int repX2[100], repY2[100]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 25 | int n,m; |
| 2018US_RijadSehovic | 0:f518d387c29e | 26 | enum smjer { STOP = 0, LIJEVO, DESNO, GORE, DOLE}; |
| 2018US_RijadSehovic | 0:f518d387c29e | 27 | smjer dir,dir2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 28 | bool prom=false; |
| 2018US_RijadSehovic | 0:f518d387c29e | 29 | bool prelom=false; |
| 2018US_RijadSehovic | 0:f518d387c29e | 30 | void Postavka() |
| 2018US_RijadSehovic | 0:f518d387c29e | 31 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 32 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 33 | lcd.init(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 34 | lcd.normalMode(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 35 | lcd.setBrightness(0.5); |
| 2018US_RijadSehovic | 0:f518d387c29e | 36 | gameOver = false; |
| 2018US_RijadSehovic | 0:f518d387c29e | 37 | dir = STOP; |
| 2018US_RijadSehovic | 0:f518d387c29e | 38 | dir2=STOP; |
| 2018US_RijadSehovic | 0:f518d387c29e | 39 | x = width / 3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 40 | y = height / 2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 41 | x2= 2*width/3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 42 | y2=y; |
| 2018US_RijadSehovic | 0:f518d387c29e | 43 | srand (time(NULL)); |
| 2018US_RijadSehovic | 0:f518d387c29e | 44 | voceX = rand()%83; |
| 2018US_RijadSehovic | 0:f518d387c29e | 45 | voceY = rand()%38; |
| 2018US_RijadSehovic | 0:f518d387c29e | 46 | voceX2 = int(rand2*rand())%83; |
| 2018US_RijadSehovic | 0:f518d387c29e | 47 | voceY2 = int(rand2*rand())%38; |
| 2018US_RijadSehovic | 0:f518d387c29e | 48 | score = 0; |
| 2018US_RijadSehovic | 0:f518d387c29e | 49 | m=0; |
| 2018US_RijadSehovic | 0:f518d387c29e | 50 | n=0; |
| 2018US_RijadSehovic | 0:f518d387c29e | 51 | t=0; |
| 2018US_RijadSehovic | 0:f518d387c29e | 52 | pomocna=true; |
| 2018US_RijadSehovic | 0:f518d387c29e | 53 | lcd.printString("DOUBLE SNAKE", 8,1); |
| 2018US_RijadSehovic | 0:f518d387c29e | 54 | lcd.printString("Press button", 5,3); |
| 2018US_RijadSehovic | 0:f518d387c29e | 55 | lcd.printString("to start", 14,4); |
| 2018US_RijadSehovic | 0:f518d387c29e | 56 | while(!taster){} |
| 2018US_RijadSehovic | 0:f518d387c29e | 57 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 58 | void Ispis() |
| 2018US_RijadSehovic | 0:f518d387c29e | 59 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 60 | lcd.clear(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 61 | if(score==100 and pomocna==true){ lcd.inverseMode(); pomocna=false;} |
| 2018US_RijadSehovic | 0:f518d387c29e | 62 | lcd.drawRect(0,0,83,38,0); |
| 2018US_RijadSehovic | 0:f518d387c29e | 63 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 64 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 65 | for (int i = 0; i < height; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 66 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 67 | for (int j = 0; j < width; j++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 68 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 69 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 70 | if (i == y && j == x) |
| 2018US_RijadSehovic | 0:f518d387c29e | 71 | lcd.drawCircle(x,y,3,1); |
| 2018US_RijadSehovic | 0:f518d387c29e | 72 | else if (i == voceY && j == voceX) |
| 2018US_RijadSehovic | 0:f518d387c29e | 73 | lcd.drawCircle(j,i,1,1); |
| 2018US_RijadSehovic | 0:f518d387c29e | 74 | else |
| 2018US_RijadSehovic | 0:f518d387c29e | 75 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 76 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 77 | for (int k = 0; k < n; k++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 78 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 79 | if (repX[k] == j && repY[k] == i) |
| 2018US_RijadSehovic | 0:f518d387c29e | 80 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 81 | lcd.drawCircle(j,i,2,0); |
| 2018US_RijadSehovic | 0:f518d387c29e | 82 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 83 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 84 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 85 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 86 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 87 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 88 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 89 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 90 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 91 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 92 | for (int i = 0; i < height; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 93 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 94 | for (int j = 0; j < width; j++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 95 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 96 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 97 | if (i == y2 && j == x2) |
| 2018US_RijadSehovic | 0:f518d387c29e | 98 | lcd.drawCircle(x2,y2,3,0); |
| 2018US_RijadSehovic | 0:f518d387c29e | 99 | else if (i == voceY2 && j == voceX2) |
| 2018US_RijadSehovic | 0:f518d387c29e | 100 | lcd.drawCircle(j,i,1,0); |
| 2018US_RijadSehovic | 0:f518d387c29e | 101 | else |
| 2018US_RijadSehovic | 0:f518d387c29e | 102 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 103 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 104 | for (int k = 0; k < m; k++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 105 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 106 | if (repX2[k] == j && repY2[k] == i) |
| 2018US_RijadSehovic | 0:f518d387c29e | 107 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 108 | lcd.drawCircle(j,i,2,1); |
| 2018US_RijadSehovic | 0:f518d387c29e | 109 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 110 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 111 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 112 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 113 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 114 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 115 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 116 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 117 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 118 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 119 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 120 | char s[11]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 121 | sprintf(s,"Score: %d",score); |
| 2018US_RijadSehovic | 0:f518d387c29e | 122 | lcd.printString(s,0 ,5); |
| 2018US_RijadSehovic | 0:f518d387c29e | 123 | if(t>-0.2) |
| 2018US_RijadSehovic | 0:f518d387c29e | 124 | wait(0.2+t); |
| 2018US_RijadSehovic | 0:f518d387c29e | 125 | else wait(0.05); |
| 2018US_RijadSehovic | 0:f518d387c29e | 126 | lcd.refresh(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 127 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 128 | void Ucitaj() |
| 2018US_RijadSehovic | 0:f518d387c29e | 129 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 130 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 131 | if(q<1/3. and dir!=DESNO){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 132 | dir = LIJEVO; |
| 2018US_RijadSehovic | 0:f518d387c29e | 133 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 134 | else if(q>2/3. and dir!=LIJEVO){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 135 | dir = DESNO; |
| 2018US_RijadSehovic | 0:f518d387c29e | 136 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 137 | else if(w<1/3. and dir!=DOLE){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 138 | dir = GORE; |
| 2018US_RijadSehovic | 0:f518d387c29e | 139 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 140 | else if(w>2/3. and dir!=GORE){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 141 | dir = DOLE; |
| 2018US_RijadSehovic | 0:f518d387c29e | 142 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 143 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 144 | if(ax2<1/3. and dir2!=DESNO){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 145 | dir2 = LIJEVO; |
| 2018US_RijadSehovic | 0:f518d387c29e | 146 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 147 | else if(ax2>2/3. and dir2!=LIJEVO){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 148 | dir2 = DESNO; |
| 2018US_RijadSehovic | 0:f518d387c29e | 149 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 150 | else if(ay2<1/3. and dir2!=DOLE){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 151 | dir2 = GORE; |
| 2018US_RijadSehovic | 0:f518d387c29e | 152 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 153 | else if(ay2>2/3. and dir2!=GORE){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 154 | dir2 = DOLE; |
| 2018US_RijadSehovic | 0:f518d387c29e | 155 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 156 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 157 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 158 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 159 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 160 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 161 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 162 | void Igra() |
| 2018US_RijadSehovic | 0:f518d387c29e | 163 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 164 | for (int i = 0; i < m; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 165 | if ( (repX2[i] == x || repX2[i]==x-1 || repX2[i]==x+1 || repX2[i]==x-2 || repX2[i]==x+2) &&( repY2[i]==y || repY2[i]==y-1 || repY2[i]==y+1 || repY2[i]==y-2 || repY2[i]==y+2 ) ) |
| 2018US_RijadSehovic | 0:f518d387c29e | 166 | gameOver = true; |
| 2018US_RijadSehovic | 0:f518d387c29e | 167 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 168 | for (int i = 0; i < n; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 169 | if ( (repX[i] == x2 || repX[i]==x2-1 || repX[i]==x2+1 || repX[i]==x2-2 || repX[i]==x2+2) && ( repY[i]==y2 || repY[i]==y2-1 || repY[i]==y2+1 || repY[i]==y2-2 || repY[i]==y2+2 ) ) |
| 2018US_RijadSehovic | 0:f518d387c29e | 170 | gameOver = true; |
| 2018US_RijadSehovic | 0:f518d387c29e | 171 | if ((x == x2 or x==x2-1 or x==x2+1 or x==x2+2 or x==x2-2) && (y==y2 or y==y2-1 or y==y2+1 or y==y2-2 or y==y2+2)) |
| 2018US_RijadSehovic | 0:f518d387c29e | 172 | gameOver=true; |
| 2018US_RijadSehovic | 0:f518d387c29e | 173 | int prosliX = repX[0]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 174 | int prosliY = repY[0]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 175 | int prosliX2, prosliY2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 176 | repX[0] = x; |
| 2018US_RijadSehovic | 0:f518d387c29e | 177 | repY[0] = y; |
| 2018US_RijadSehovic | 0:f518d387c29e | 178 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 179 | for (int i = 1; i < n; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 180 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 181 | prosliX2 = repX[i]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 182 | prosliY2 = repY[i]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 183 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 184 | repX[i] = prosliX; |
| 2018US_RijadSehovic | 0:f518d387c29e | 185 | repY[i] = prosliY; |
| 2018US_RijadSehovic | 0:f518d387c29e | 186 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 187 | prosliX = prosliX2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 188 | prosliY = prosliY2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 189 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 190 | switch (dir) |
| 2018US_RijadSehovic | 0:f518d387c29e | 191 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 192 | case LIJEVO: |
| 2018US_RijadSehovic | 0:f518d387c29e | 193 | x+=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 194 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 195 | case DESNO: |
| 2018US_RijadSehovic | 0:f518d387c29e | 196 | x-=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 197 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 198 | case GORE: |
| 2018US_RijadSehovic | 0:f518d387c29e | 199 | y-=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 200 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 201 | case DOLE: |
| 2018US_RijadSehovic | 0:f518d387c29e | 202 | y+=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 203 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 204 | default: |
| 2018US_RijadSehovic | 0:f518d387c29e | 205 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 206 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 207 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 208 | if (x >= 83) x = 0; else if (x < 0) x = 83 - 1; |
| 2018US_RijadSehovic | 0:f518d387c29e | 209 | if (y >= 38) y = 0; else if (y < 0) y = 38 - 1; |
| 2018US_RijadSehovic | 0:f518d387c29e | 210 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 211 | for (int i = 0; i < n; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 212 | if (repX[i] == x && repY[i] == y) |
| 2018US_RijadSehovic | 0:f518d387c29e | 213 | gameOver = true; |
| 2018US_RijadSehovic | 0:f518d387c29e | 214 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 215 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 216 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 217 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 218 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 219 | if ((x == voceX or x==voceX-1 or x==voceX+1) && (y==voceY or y==voceY-1 or y==voceY+1)) |
| 2018US_RijadSehovic | 0:f518d387c29e | 220 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 221 | score += 10; |
| 2018US_RijadSehovic | 0:f518d387c29e | 222 | if(score%50==0) t-=0.05; |
| 2018US_RijadSehovic | 0:f518d387c29e | 223 | voceX = rand() % 83; |
| 2018US_RijadSehovic | 0:f518d387c29e | 224 | voceY = rand() % 38; |
| 2018US_RijadSehovic | 0:f518d387c29e | 225 | n++; |
| 2018US_RijadSehovic | 0:f518d387c29e | 226 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 227 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 228 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 229 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 230 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 231 | prosliX = repX2[0]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 232 | prosliY = repY2[0]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 233 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 234 | repX2[0] = x2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 235 | repY2[0] = y2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 236 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 237 | for (int i = 1; i < m; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 238 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 239 | prosliX2 = repX2[i]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 240 | prosliY2 = repY2[i]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 241 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 242 | repX2[i] = prosliX; |
| 2018US_RijadSehovic | 0:f518d387c29e | 243 | repY2[i] = prosliY; |
| 2018US_RijadSehovic | 0:f518d387c29e | 244 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 245 | prosliX = prosliX2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 246 | prosliY = prosliY2; |
| 2018US_RijadSehovic | 0:f518d387c29e | 247 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 248 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 249 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 250 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 251 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 252 | switch (dir2) |
| 2018US_RijadSehovic | 0:f518d387c29e | 253 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 254 | case LIJEVO: |
| 2018US_RijadSehovic | 0:f518d387c29e | 255 | x2+=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 256 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 257 | case DESNO: |
| 2018US_RijadSehovic | 0:f518d387c29e | 258 | x2-=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 259 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 260 | case GORE: |
| 2018US_RijadSehovic | 0:f518d387c29e | 261 | y2-=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 262 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 263 | case DOLE: |
| 2018US_RijadSehovic | 0:f518d387c29e | 264 | y2+=3; |
| 2018US_RijadSehovic | 0:f518d387c29e | 265 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 266 | default: |
| 2018US_RijadSehovic | 0:f518d387c29e | 267 | break; |
| 2018US_RijadSehovic | 0:f518d387c29e | 268 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 269 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 270 | if (x2 >= 83) x2 = 0; else if (x2 < 0) x2 = 83 - 1; |
| 2018US_RijadSehovic | 0:f518d387c29e | 271 | if (y2 >= 38) y2 = 0; else if (y2 < 0) y2 = 38 - 1; |
| 2018US_RijadSehovic | 0:f518d387c29e | 272 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 273 | for (int i = 0; i < m; i++) |
| 2018US_RijadSehovic | 0:f518d387c29e | 274 | if (repX2[i] == x2 && repY2[i] == y2) |
| 2018US_RijadSehovic | 0:f518d387c29e | 275 | gameOver = true; |
| 2018US_RijadSehovic | 0:f518d387c29e | 276 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 277 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 278 | if ((x2 == voceX2 or x2==voceX2-1 or x2==voceX2+1) && (y2==voceY2 or y2==voceY2-1 or y2==voceY2+1)) |
| 2018US_RijadSehovic | 0:f518d387c29e | 279 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 280 | score += 10; |
| 2018US_RijadSehovic | 0:f518d387c29e | 281 | if(score%50==0) t-=0.05; |
| 2018US_RijadSehovic | 0:f518d387c29e | 282 | voceX2 =int(rand2* rand()) % 83; |
| 2018US_RijadSehovic | 0:f518d387c29e | 283 | voceY2 = int(rand2* rand()) % 38; |
| 2018US_RijadSehovic | 0:f518d387c29e | 284 | m++; |
| 2018US_RijadSehovic | 0:f518d387c29e | 285 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 286 | if (score==140) lcd.normalMode(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 287 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 288 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 289 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 290 | int main() |
| 2018US_RijadSehovic | 0:f518d387c29e | 291 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 292 | en=1; |
| 2018US_RijadSehovic | 0:f518d387c29e | 293 | while(1){ |
| 2018US_RijadSehovic | 0:f518d387c29e | 294 | Postavka(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 295 | while (!gameOver) |
| 2018US_RijadSehovic | 0:f518d387c29e | 296 | { |
| 2018US_RijadSehovic | 0:f518d387c29e | 297 | Ispis(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 298 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 299 | Ucitaj(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 300 | Igra(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 301 | |
| 2018US_RijadSehovic | 0:f518d387c29e | 302 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 303 | lcd.clear(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 304 | lcd.refresh(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 305 | lcd.printString("Game over ", 15,0); |
| 2018US_RijadSehovic | 0:f518d387c29e | 306 | char s[11]; |
| 2018US_RijadSehovic | 0:f518d387c29e | 307 | sprintf(s,"Score:%d",score); |
| 2018US_RijadSehovic | 0:f518d387c29e | 308 | lcd.printString("Press button", 8,4); |
| 2018US_RijadSehovic | 0:f518d387c29e | 309 | lcd.printString("to continue", 10,5); |
| 2018US_RijadSehovic | 0:f518d387c29e | 310 | lcd.printString(s,20 ,2); |
| 2018US_RijadSehovic | 0:f518d387c29e | 311 | while(!taster){}; |
| 2018US_RijadSehovic | 0:f518d387c29e | 312 | lcd.clear(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 313 | lcd.refresh(); |
| 2018US_RijadSehovic | 0:f518d387c29e | 314 | wait(0.5); |
| 2018US_RijadSehovic | 0:f518d387c29e | 315 | } |
| 2018US_RijadSehovic | 0:f518d387c29e | 316 | return 0; |
| 2018US_RijadSehovic | 0:f518d387c29e | 317 | } |