Sound update

Dependencies:   4DGL-uLCD-SE Physac-MBED PinDetect SDFileSystem mbed-rtos mbed

Committer:
jaybalar
Date:
Thu Dec 08 18:42:16 2022 +0000
Revision:
27:a09981ebd532
Parent:
26:163d7ca8c42d
Child:
28:bccd14334bb9
Sound works

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jstephens78 19:6d9bee043ede 1 #include "mbed.h"
jstephens78 19:6d9bee043ede 2 #include "Game.h"
jsanchez307 23:214c0c828d98 3 #include "globals.h"
jstephens78 19:6d9bee043ede 4
jstephens78 19:6d9bee043ede 5
jstephens78 19:6d9bee043ede 6 int SinglePiecePoints = 50;
jstephens78 19:6d9bee043ede 7 int LineClearPoints = 200;
jstephens78 19:6d9bee043ede 8 int key_input = 0;
jstephens78 19:6d9bee043ede 9 bool gameStarted = false;
jsanchez307 26:163d7ca8c42d 10 void input_left()
jstephens78 19:6d9bee043ede 11 {
jstephens78 19:6d9bee043ede 12 if(!gameStarted)
jstephens78 19:6d9bee043ede 13 { gameStarted=true;
jstephens78 19:6d9bee043ede 14 return;
jstephens78 19:6d9bee043ede 15 }
jstephens78 19:6d9bee043ede 16 key_input = 1;
jstephens78 19:6d9bee043ede 17 }
jstephens78 19:6d9bee043ede 18
jstephens78 19:6d9bee043ede 19 void input_right()
jstephens78 19:6d9bee043ede 20 {
jstephens78 19:6d9bee043ede 21 if(!gameStarted)
jstephens78 19:6d9bee043ede 22 { gameStarted=true;
jstephens78 19:6d9bee043ede 23 return;
jstephens78 19:6d9bee043ede 24 }
jstephens78 19:6d9bee043ede 25 key_input = 2;
jstephens78 19:6d9bee043ede 26 }
jstephens78 19:6d9bee043ede 27
jstephens78 19:6d9bee043ede 28 void input_rotate()
jstephens78 19:6d9bee043ede 29 {
jstephens78 19:6d9bee043ede 30 if(!gameStarted)
jstephens78 19:6d9bee043ede 31 { gameStarted=true;
jstephens78 19:6d9bee043ede 32 return;
jstephens78 19:6d9bee043ede 33 }
jstephens78 19:6d9bee043ede 34 key_input = 3;
jstephens78 19:6d9bee043ede 35 }
jstephens78 19:6d9bee043ede 36
jstephens78 19:6d9bee043ede 37 void input_down()
jstephens78 19:6d9bee043ede 38 {
jstephens78 19:6d9bee043ede 39 if(!gameStarted)
jstephens78 19:6d9bee043ede 40 { gameStarted=true;
jstephens78 19:6d9bee043ede 41 return;
jstephens78 19:6d9bee043ede 42 }
jstephens78 19:6d9bee043ede 43 key_input=4;
jstephens78 19:6d9bee043ede 44 }
jstephens78 19:6d9bee043ede 45
jsanchez307 26:163d7ca8c42d 46 void input_menu()
jsanchez307 26:163d7ca8c42d 47 {
jsanchez307 26:163d7ca8c42d 48 if(!gameStarted)
jsanchez307 26:163d7ca8c42d 49 { gameStarted=true;
jsanchez307 26:163d7ca8c42d 50 return;
jsanchez307 26:163d7ca8c42d 51 }
jsanchez307 26:163d7ca8c42d 52 key_input = 5;
jsanchez307 26:163d7ca8c42d 53 }
jsanchez307 26:163d7ca8c42d 54
jstephens78 19:6d9bee043ede 55 void clear_board()
jstephens78 19:6d9bee043ede 56 {
jstephens78 19:6d9bee043ede 57 uLCD.filled_rectangle(20,0,79,128,0);
jstephens78 19:6d9bee043ede 58 }
jstephens78 19:6d9bee043ede 59
jstephens78 19:6d9bee043ede 60 void clear_next_piece()
jstephens78 19:6d9bee043ede 61 {
jstephens78 19:6d9bee043ede 62 uLCD.filled_rectangle(92,20,122,50,0);
jstephens78 19:6d9bee043ede 63 }
jstephens78 19:6d9bee043ede 64
jsanchez307 22:601e6f9077e4 65 void UpdateGameStatus(int points) // used to include int lines
jstephens78 19:6d9bee043ede 66 {
jsanchez307 22:601e6f9077e4 67 uLCD.locate(13,12);
jsanchez307 22:601e6f9077e4 68 uLCD.printf("Score");
jsanchez307 22:601e6f9077e4 69 uLCD.locate(13,13);
jsanchez307 22:601e6f9077e4 70 uLCD.printf("%d",points);
jstephens78 19:6d9bee043ede 71 }
jstephens78 19:6d9bee043ede 72
jstephens78 19:6d9bee043ede 73
jstephens78 19:6d9bee043ede 74
jsanchez307 22:601e6f9077e4 75 void tetrisGame()
jstephens78 19:6d9bee043ede 76 {
jsanchez307 23:214c0c828d98 77 PRINTF("POINT 1");
jsanchez307 23:214c0c828d98 78 while (game1 == false) {
jsanchez307 23:214c0c828d98 79
jsanchez307 23:214c0c828d98 80 PRINTF("[TETRIS] Idle\r\n");
jsanchez307 23:214c0c828d98 81 Thread::wait(500);
jsanchez307 23:214c0c828d98 82 }
jsanchez307 23:214c0c828d98 83
jsanchez307 22:601e6f9077e4 84
jsanchez307 22:601e6f9077e4 85 uLCD.text_width(2);
jsanchez307 22:601e6f9077e4 86 uLCD.text_height(2);
jsanchez307 22:601e6f9077e4 87 uLCD.color(WHITE);
jsanchez307 26:163d7ca8c42d 88 uLCD.locate(1,0);
jsanchez307 22:601e6f9077e4 89 uLCD.printf("TETRIS");
jaybalar 27:a09981ebd532 90 Thread::wait(2000);
jsanchez307 22:601e6f9077e4 91
jstephens78 19:6d9bee043ede 92 uLCD.baudrate(3000000);
jstephens78 19:6d9bee043ede 93
jstephens78 20:73e4f12277bd 94
jstephens78 19:6d9bee043ede 95 bool isGameOver = false;
jstephens78 19:6d9bee043ede 96 int mScreenHeight = 128;
jstephens78 19:6d9bee043ede 97 Pieces mPieces;
jstephens78 19:6d9bee043ede 98 Board mBoard (&mPieces, mScreenHeight);
jsanchez307 22:601e6f9077e4 99 int a = 1; // RandomGen('a')
jsanchez307 22:601e6f9077e4 100 int b = 2;
jsanchez307 22:601e6f9077e4 101 int c = 3;
jsanchez307 22:601e6f9077e4 102 int d = 4;
jstephens78 19:6d9bee043ede 103 Game mGame (&mBoard, &mPieces, mScreenHeight, &uLCD,a,b,c,d);
jstephens78 19:6d9bee043ede 104
jstephens78 19:6d9bee043ede 105
jstephens78 19:6d9bee043ede 106 // ----- Main Loop -----
jstephens78 19:6d9bee043ede 107 int prevX=0;
jstephens78 19:6d9bee043ede 108 int prevY=0;
jstephens78 19:6d9bee043ede 109 int prevPiece=-1;
jstephens78 19:6d9bee043ede 110 int prevRot=0;
jstephens78 19:6d9bee043ede 111 Timer timer;
jstephens78 19:6d9bee043ede 112 timer.start();
jstephens78 19:6d9bee043ede 113 key_input=0;
jstephens78 19:6d9bee043ede 114 bool needErase = false;
jstephens78 19:6d9bee043ede 115 uLCD.cls();
jsanchez307 22:601e6f9077e4 116
jsanchez307 22:601e6f9077e4 117
jsanchez307 22:601e6f9077e4 118 int piece = 0;
jsanchez307 22:601e6f9077e4 119 int rotate = 0;
jsanchez307 22:601e6f9077e4 120
jsanchez307 26:163d7ca8c42d 121 //float x = 0.0;
jsanchez307 26:163d7ca8c42d 122
jsanchez307 26:163d7ca8c42d 123 Rgb = 1;
jsanchez307 26:163d7ca8c42d 124 rGb = 0;
jsanchez307 26:163d7ca8c42d 125 rgB = 0;
jsanchez307 26:163d7ca8c42d 126 int count = 0;
jsanchez307 26:163d7ca8c42d 127
jsanchez307 22:601e6f9077e4 128 UpdateGameStatus(mGame.GetPoints());
jsanchez307 22:601e6f9077e4 129
jstephens78 19:6d9bee043ede 130 while (1)
jstephens78 19:6d9bee043ede 131 {
jsanchez307 23:214c0c828d98 132 PRINTF("POINT 2");
jsanchez307 23:214c0c828d98 133 // Wait until the game starts
jsanchez307 23:214c0c828d98 134 while (game1 == false) {
jsanchez307 23:214c0c828d98 135
jsanchez307 23:214c0c828d98 136 PRINTF("[TETRIS] Idle\r\n");
jsanchez307 23:214c0c828d98 137 Thread::wait(500);
jsanchez307 23:214c0c828d98 138 }
jsanchez307 23:214c0c828d98 139
jsanchez307 22:601e6f9077e4 140 if (myNav.up()) input_rotate();
jsanchez307 26:163d7ca8c42d 141 if (myNav.down()) input_down();
jsanchez307 22:601e6f9077e4 142 if (myNav.left()) input_left();
jsanchez307 26:163d7ca8c42d 143 if (myNav.right()) input_right();
jsanchez307 26:163d7ca8c42d 144 //if (myNav.fire()) input_menu();
jsanchez307 22:601e6f9077e4 145
jstephens78 19:6d9bee043ede 146 if(isGameOver)
jstephens78 19:6d9bee043ede 147 {
jaybalar 27:a09981ebd532 148 Thread::wait(1000);
jsanchez307 22:601e6f9077e4 149 uLCD.cls();
jsanchez307 22:601e6f9077e4 150 uLCD.text_width(2);
jsanchez307 22:601e6f9077e4 151 uLCD.text_height(2);
jsanchez307 22:601e6f9077e4 152 uLCD.printf("GAME OVER");
jaybalar 27:a09981ebd532 153 Thread::wait(2000);
jsanchez307 26:163d7ca8c42d 154 uLCD.cls();
jsanchez307 26:163d7ca8c42d 155
jsanchez307 26:163d7ca8c42d 156 //isGameOver = false;
jsanchez307 26:163d7ca8c42d 157
jsanchez307 26:163d7ca8c42d 158 Thread::wait(1000);
jsanchez307 26:163d7ca8c42d 159
jsanchez307 26:163d7ca8c42d 160 mBoard.InitBoard();
jsanchez307 26:163d7ca8c42d 161 uLCD.cls();
jsanchez307 26:163d7ca8c42d 162
jsanchez307 26:163d7ca8c42d 163 mGame.points = 0;
jsanchez307 26:163d7ca8c42d 164 count = 0;
jsanchez307 26:163d7ca8c42d 165
jsanchez307 26:163d7ca8c42d 166 //mGame.InitGame();
jsanchez307 26:163d7ca8c42d 167 isGameOver = false;
jsanchez307 26:163d7ca8c42d 168
jsanchez307 26:163d7ca8c42d 169 menu_flag = 0;
jsanchez307 26:163d7ca8c42d 170
jsanchez307 26:163d7ca8c42d 171 game1 = false;
jsanchez307 26:163d7ca8c42d 172
jsanchez307 26:163d7ca8c42d 173
jsanchez307 26:163d7ca8c42d 174 //mBoard.InitBoard();
jsanchez307 26:163d7ca8c42d 175
jsanchez307 26:163d7ca8c42d 176 //free(mPieces);
jsanchez307 26:163d7ca8c42d 177 //free(mBoard);
jsanchez307 26:163d7ca8c42d 178 //free(mGame);
jsanchez307 26:163d7ca8c42d 179
jstephens78 19:6d9bee043ede 180 }
jstephens78 19:6d9bee043ede 181 // ----- Draw ----
jstephens78 19:6d9bee043ede 182 if(needErase)
jstephens78 19:6d9bee043ede 183 {
jstephens78 19:6d9bee043ede 184 mGame.ErasePiece(prevX,prevY,prevPiece,prevRot);
jstephens78 19:6d9bee043ede 185 needErase=false;
jstephens78 19:6d9bee043ede 186 }
jstephens78 19:6d9bee043ede 187 mGame.DrawScene();
jstephens78 19:6d9bee043ede 188
jstephens78 19:6d9bee043ede 189 prevX=mGame.mPosX;
jstephens78 19:6d9bee043ede 190 prevY=mGame.mPosY;
jstephens78 19:6d9bee043ede 191 prevPiece=mGame.mPiece;
jstephens78 19:6d9bee043ede 192 prevRot=mGame.mRotation;
jsanchez307 22:601e6f9077e4 193
jstephens78 19:6d9bee043ede 194 // ----- Input -----
jstephens78 19:6d9bee043ede 195 switch (key_input)
jstephens78 19:6d9bee043ede 196 {
jstephens78 19:6d9bee043ede 197 case (2): //right
jstephens78 19:6d9bee043ede 198 {
jstephens78 19:6d9bee043ede 199 if (mBoard.IsPossibleMovement (mGame.mPosX + 1, mGame.mPosY, mGame.mPiece, mGame.mRotation))
jstephens78 19:6d9bee043ede 200 {mGame.mPosX++;needErase=true;}
jstephens78 19:6d9bee043ede 201 break;
jstephens78 19:6d9bee043ede 202 }
jstephens78 19:6d9bee043ede 203
jstephens78 19:6d9bee043ede 204 case (1): //left
jstephens78 19:6d9bee043ede 205 {
jstephens78 19:6d9bee043ede 206 if (mBoard.IsPossibleMovement (mGame.mPosX - 1, mGame.mPosY, mGame.mPiece, mGame.mRotation))
jstephens78 19:6d9bee043ede 207 {mGame.mPosX--;needErase=true;}
jstephens78 19:6d9bee043ede 208 break;
jstephens78 19:6d9bee043ede 209 }
jstephens78 19:6d9bee043ede 210
jstephens78 19:6d9bee043ede 211 case (4)://down
jstephens78 19:6d9bee043ede 212 {
jstephens78 19:6d9bee043ede 213 // Check collision from up to down
jstephens78 19:6d9bee043ede 214 while (mBoard.IsPossibleMovement(mGame.mPosX, mGame.mPosY, mGame.mPiece, mGame.mRotation)) { mGame.mPosY++; }
jstephens78 19:6d9bee043ede 215 needErase=true;
jstephens78 19:6d9bee043ede 216 mBoard.StorePiece (mGame.mPosX, mGame.mPosY - 1, mGame.mPiece, mGame.mRotation);
jstephens78 19:6d9bee043ede 217 mGame.AddPoints(SinglePiecePoints);
jstephens78 19:6d9bee043ede 218 int linesDeleted = mBoard.DeletePossibleLines ();
jstephens78 19:6d9bee043ede 219 if(linesDeleted>0)
jstephens78 19:6d9bee043ede 220 {
jstephens78 19:6d9bee043ede 221 mGame.AddClearedLines(linesDeleted);
jstephens78 19:6d9bee043ede 222 mGame.AddPoints(LineClearPoints*linesDeleted);
jstephens78 19:6d9bee043ede 223 clear_board();
jstephens78 19:6d9bee043ede 224 }
jsanchez307 22:601e6f9077e4 225 UpdateGameStatus(mGame.GetPoints()); // FIX
jstephens78 19:6d9bee043ede 226
jstephens78 19:6d9bee043ede 227 if (mBoard.IsGameOver())
jstephens78 19:6d9bee043ede 228 {
jstephens78 19:6d9bee043ede 229 isGameOver=true;
jstephens78 19:6d9bee043ede 230 uLCD.cls();
jstephens78 19:6d9bee043ede 231
jstephens78 19:6d9bee043ede 232 }
jstephens78 19:6d9bee043ede 233
jstephens78 19:6d9bee043ede 234 if(!isGameOver)
jstephens78 19:6d9bee043ede 235 {
jsanchez307 22:601e6f9077e4 236 mGame.CreateNewPiece(piece,rotate);
jsanchez307 22:601e6f9077e4 237 clear_next_piece();
jsanchez307 22:601e6f9077e4 238
jsanchez307 22:601e6f9077e4 239 piece++;
jsanchez307 22:601e6f9077e4 240 rotate++;
jsanchez307 22:601e6f9077e4 241
jsanchez307 22:601e6f9077e4 242 if (piece==7) piece = 0;
jsanchez307 22:601e6f9077e4 243 if (rotate==4) rotate = 0;
jstephens78 19:6d9bee043ede 244 }
jstephens78 19:6d9bee043ede 245 break;
jstephens78 19:6d9bee043ede 246 }
jstephens78 19:6d9bee043ede 247
jstephens78 19:6d9bee043ede 248 case (3)://rotate
jstephens78 19:6d9bee043ede 249 {
jstephens78 19:6d9bee043ede 250 if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY, mGame.mPiece, (mGame.mRotation + 1) % 4))
jstephens78 19:6d9bee043ede 251 {mGame.mRotation = (mGame.mRotation + 1) % 4;needErase=true;}
jstephens78 19:6d9bee043ede 252 break;
jstephens78 19:6d9bee043ede 253 }
jstephens78 19:6d9bee043ede 254
jsanchez307 26:163d7ca8c42d 255 case (5)://menu
jsanchez307 26:163d7ca8c42d 256 {
jaybalar 27:a09981ebd532 257 Thread::wait(1000);
jsanchez307 26:163d7ca8c42d 258 uLCD.cls();
jsanchez307 26:163d7ca8c42d 259 uLCD.text_width(2);
jsanchez307 26:163d7ca8c42d 260 uLCD.text_height(2);
jsanchez307 26:163d7ca8c42d 261 uLCD.printf("MENU");
jaybalar 27:a09981ebd532 262 Thread::wait(2000);
jsanchez307 26:163d7ca8c42d 263 uLCD.cls();
jsanchez307 26:163d7ca8c42d 264
jsanchez307 26:163d7ca8c42d 265 Thread::wait(1000); // FIX?
jsanchez307 26:163d7ca8c42d 266
jsanchez307 26:163d7ca8c42d 267 menu_flag = 0;
jsanchez307 26:163d7ca8c42d 268
jsanchez307 26:163d7ca8c42d 269 game1 = false; // FIX? put after Thread::wait()
jsanchez307 26:163d7ca8c42d 270
jsanchez307 26:163d7ca8c42d 271
jsanchez307 26:163d7ca8c42d 272 }
jsanchez307 26:163d7ca8c42d 273
jstephens78 19:6d9bee043ede 274 case (0):{break;}
jstephens78 19:6d9bee043ede 275 }
jstephens78 19:6d9bee043ede 276 key_input = 0;
jstephens78 19:6d9bee043ede 277
jstephens78 19:6d9bee043ede 278 // ----- Vertical movement -----
jsanchez307 22:601e6f9077e4 279
jstephens78 19:6d9bee043ede 280 if(timer.read_ms()>WAIT_TIME)
jstephens78 19:6d9bee043ede 281 {
jstephens78 19:6d9bee043ede 282 needErase=true;
jstephens78 19:6d9bee043ede 283 if(!isGameOver)
jstephens78 19:6d9bee043ede 284 {
jstephens78 19:6d9bee043ede 285 if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY + 1, mGame.mPiece, mGame.mRotation))
jstephens78 19:6d9bee043ede 286 {
jstephens78 19:6d9bee043ede 287 mGame.mPosY++;
jstephens78 19:6d9bee043ede 288 }
jstephens78 19:6d9bee043ede 289 else
jstephens78 19:6d9bee043ede 290 {
jstephens78 19:6d9bee043ede 291 mBoard.StorePiece (mGame.mPosX, mGame.mPosY, mGame.mPiece, mGame.mRotation);
jstephens78 19:6d9bee043ede 292 mGame.AddPoints(SinglePiecePoints);
jstephens78 19:6d9bee043ede 293 int linesDeleted = mBoard.DeletePossibleLines ();
jstephens78 19:6d9bee043ede 294 if(linesDeleted>0)
jstephens78 19:6d9bee043ede 295 {
jstephens78 19:6d9bee043ede 296 mGame.AddClearedLines(linesDeleted);
jstephens78 19:6d9bee043ede 297 mGame.AddPoints(LineClearPoints*linesDeleted);
jstephens78 19:6d9bee043ede 298 clear_board();
jstephens78 19:6d9bee043ede 299 }
jsanchez307 22:601e6f9077e4 300 UpdateGameStatus(mGame.GetPoints());
jstephens78 19:6d9bee043ede 301
jstephens78 19:6d9bee043ede 302 if (mBoard.IsGameOver())
jstephens78 19:6d9bee043ede 303 {
jstephens78 19:6d9bee043ede 304 isGameOver=true;
jstephens78 19:6d9bee043ede 305 uLCD.cls();
jstephens78 19:6d9bee043ede 306 }
jstephens78 19:6d9bee043ede 307
jstephens78 19:6d9bee043ede 308 if(!isGameOver)
jstephens78 19:6d9bee043ede 309 {
jsanchez307 22:601e6f9077e4 310 mGame.CreateNewPiece(piece,rotate);
jsanchez307 22:601e6f9077e4 311 clear_next_piece(); // 0-6 Pieces, 0-3 rotations^^
jsanchez307 22:601e6f9077e4 312 piece++;
jsanchez307 22:601e6f9077e4 313 rotate++;
jsanchez307 22:601e6f9077e4 314
jsanchez307 22:601e6f9077e4 315 if (piece==7) piece = 0;
jsanchez307 22:601e6f9077e4 316 if (rotate==4) rotate = 0;
jstephens78 19:6d9bee043ede 317 }
jstephens78 19:6d9bee043ede 318 }
jstephens78 19:6d9bee043ede 319 }
jstephens78 19:6d9bee043ede 320 timer.reset();
jstephens78 19:6d9bee043ede 321 }
jaybalar 27:a09981ebd532 322 Thread::wait(100);
jsanchez307 26:163d7ca8c42d 323
jsanchez307 26:163d7ca8c42d 324 //get a new random number for PWM
jsanchez307 26:163d7ca8c42d 325 //x = rand() / float(RAND_MAX);
jsanchez307 26:163d7ca8c42d 326 //add some exponential brightness scaling
jsanchez307 26:163d7ca8c42d 327 //for more of a fast flash effect
jsanchez307 26:163d7ca8c42d 328 /*x = x*x*x;
jsanchez307 26:163d7ca8c42d 329 Rgb = x;
jsanchez307 26:163d7ca8c42d 330 rGb = x;
jsanchez307 26:163d7ca8c42d 331 rgB = x;
jsanchez307 26:163d7ca8c42d 332 //fast update rate for welding flashes
jsanchez307 26:163d7ca8c42d 333 //Thread::wait(20);
jsanchez307 26:163d7ca8c42d 334 //add a random pause between welds
jsanchez307 26:163d7ca8c42d 335 if (rand() / float(RAND_MAX) > 0.95) {
jsanchez307 26:163d7ca8c42d 336 Rgb = 0;
jsanchez307 26:163d7ca8c42d 337 rGb = 0;
jsanchez307 26:163d7ca8c42d 338 rgB = 0;
jsanchez307 26:163d7ca8c42d 339 //Thread::wait(4000.0 * rand() / float(RAND_MAX));
jsanchez307 26:163d7ca8c42d 340 }*/
jsanchez307 26:163d7ca8c42d 341 if (count % 10 == 0) {
jsanchez307 26:163d7ca8c42d 342 if (Rgb == 1) {
jsanchez307 26:163d7ca8c42d 343 Rgb = 0;
jsanchez307 26:163d7ca8c42d 344 rGb = 1;
jsanchez307 26:163d7ca8c42d 345 rgB = 0;
jsanchez307 26:163d7ca8c42d 346 }
jsanchez307 26:163d7ca8c42d 347
jsanchez307 26:163d7ca8c42d 348 else if (rGb == 1) {
jsanchez307 26:163d7ca8c42d 349 Rgb = 0;
jsanchez307 26:163d7ca8c42d 350 rGb = 0;
jsanchez307 26:163d7ca8c42d 351 rgB = 1;
jsanchez307 26:163d7ca8c42d 352 }
jsanchez307 26:163d7ca8c42d 353 else if (rgB == 1) {
jsanchez307 26:163d7ca8c42d 354 Rgb = 1;
jsanchez307 26:163d7ca8c42d 355 rGb = 0;
jsanchez307 26:163d7ca8c42d 356 rgB = 0;
jsanchez307 26:163d7ca8c42d 357 } else if (Rgb == 0) {
jsanchez307 26:163d7ca8c42d 358 Rgb = 0;
jsanchez307 26:163d7ca8c42d 359 rGb = 1;
jsanchez307 26:163d7ca8c42d 360 rgB = 0;
jsanchez307 26:163d7ca8c42d 361 }
jsanchez307 26:163d7ca8c42d 362 }
jsanchez307 26:163d7ca8c42d 363
jsanchez307 26:163d7ca8c42d 364 count++;
jstephens78 19:6d9bee043ede 365 }
jstephens78 19:6d9bee043ede 366 }