Sound update

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

Committer:
jaybalar
Date:
Fri Dec 09 20:29:08 2022 +0000
Revision:
28:bccd14334bb9
Parent:
27:a09981ebd532
Sound update

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);
jaybalar 28:bccd14334bb9 217 Rgb = 1;
jaybalar 28:bccd14334bb9 218 rGb = 1;
jaybalar 28:bccd14334bb9 219 rgB = 1;
jaybalar 28:bccd14334bb9 220 Thread::wait(100);
jaybalar 28:bccd14334bb9 221 Rgb = 0;
jaybalar 28:bccd14334bb9 222 rGb = 0;
jaybalar 28:bccd14334bb9 223 rgB = 0;
jstephens78 19:6d9bee043ede 224 mGame.AddPoints(SinglePiecePoints);
jstephens78 19:6d9bee043ede 225 int linesDeleted = mBoard.DeletePossibleLines ();
jstephens78 19:6d9bee043ede 226 if(linesDeleted>0)
jstephens78 19:6d9bee043ede 227 {
jstephens78 19:6d9bee043ede 228 mGame.AddClearedLines(linesDeleted);
jstephens78 19:6d9bee043ede 229 mGame.AddPoints(LineClearPoints*linesDeleted);
jstephens78 19:6d9bee043ede 230 clear_board();
jstephens78 19:6d9bee043ede 231 }
jsanchez307 22:601e6f9077e4 232 UpdateGameStatus(mGame.GetPoints()); // FIX
jstephens78 19:6d9bee043ede 233
jstephens78 19:6d9bee043ede 234 if (mBoard.IsGameOver())
jstephens78 19:6d9bee043ede 235 {
jstephens78 19:6d9bee043ede 236 isGameOver=true;
jstephens78 19:6d9bee043ede 237 uLCD.cls();
jstephens78 19:6d9bee043ede 238
jstephens78 19:6d9bee043ede 239 }
jstephens78 19:6d9bee043ede 240
jstephens78 19:6d9bee043ede 241 if(!isGameOver)
jstephens78 19:6d9bee043ede 242 {
jsanchez307 22:601e6f9077e4 243 mGame.CreateNewPiece(piece,rotate);
jsanchez307 22:601e6f9077e4 244 clear_next_piece();
jsanchez307 22:601e6f9077e4 245
jsanchez307 22:601e6f9077e4 246 piece++;
jsanchez307 22:601e6f9077e4 247 rotate++;
jsanchez307 22:601e6f9077e4 248
jsanchez307 22:601e6f9077e4 249 if (piece==7) piece = 0;
jsanchez307 22:601e6f9077e4 250 if (rotate==4) rotate = 0;
jstephens78 19:6d9bee043ede 251 }
jstephens78 19:6d9bee043ede 252 break;
jstephens78 19:6d9bee043ede 253 }
jstephens78 19:6d9bee043ede 254
jstephens78 19:6d9bee043ede 255 case (3)://rotate
jstephens78 19:6d9bee043ede 256 {
jstephens78 19:6d9bee043ede 257 if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY, mGame.mPiece, (mGame.mRotation + 1) % 4))
jstephens78 19:6d9bee043ede 258 {mGame.mRotation = (mGame.mRotation + 1) % 4;needErase=true;}
jstephens78 19:6d9bee043ede 259 break;
jstephens78 19:6d9bee043ede 260 }
jstephens78 19:6d9bee043ede 261
jsanchez307 26:163d7ca8c42d 262 case (5)://menu
jsanchez307 26:163d7ca8c42d 263 {
jaybalar 27:a09981ebd532 264 Thread::wait(1000);
jsanchez307 26:163d7ca8c42d 265 uLCD.cls();
jsanchez307 26:163d7ca8c42d 266 uLCD.text_width(2);
jsanchez307 26:163d7ca8c42d 267 uLCD.text_height(2);
jsanchez307 26:163d7ca8c42d 268 uLCD.printf("MENU");
jaybalar 27:a09981ebd532 269 Thread::wait(2000);
jsanchez307 26:163d7ca8c42d 270 uLCD.cls();
jsanchez307 26:163d7ca8c42d 271
jsanchez307 26:163d7ca8c42d 272 Thread::wait(1000); // FIX?
jsanchez307 26:163d7ca8c42d 273
jsanchez307 26:163d7ca8c42d 274 menu_flag = 0;
jsanchez307 26:163d7ca8c42d 275
jsanchez307 26:163d7ca8c42d 276 game1 = false; // FIX? put after Thread::wait()
jsanchez307 26:163d7ca8c42d 277
jsanchez307 26:163d7ca8c42d 278
jsanchez307 26:163d7ca8c42d 279 }
jsanchez307 26:163d7ca8c42d 280
jstephens78 19:6d9bee043ede 281 case (0):{break;}
jstephens78 19:6d9bee043ede 282 }
jstephens78 19:6d9bee043ede 283 key_input = 0;
jstephens78 19:6d9bee043ede 284
jstephens78 19:6d9bee043ede 285 // ----- Vertical movement -----
jsanchez307 22:601e6f9077e4 286
jstephens78 19:6d9bee043ede 287 if(timer.read_ms()>WAIT_TIME)
jstephens78 19:6d9bee043ede 288 {
jstephens78 19:6d9bee043ede 289 needErase=true;
jstephens78 19:6d9bee043ede 290 if(!isGameOver)
jstephens78 19:6d9bee043ede 291 {
jstephens78 19:6d9bee043ede 292 if (mBoard.IsPossibleMovement (mGame.mPosX, mGame.mPosY + 1, mGame.mPiece, mGame.mRotation))
jstephens78 19:6d9bee043ede 293 {
jstephens78 19:6d9bee043ede 294 mGame.mPosY++;
jstephens78 19:6d9bee043ede 295 }
jstephens78 19:6d9bee043ede 296 else
jstephens78 19:6d9bee043ede 297 {
jstephens78 19:6d9bee043ede 298 mBoard.StorePiece (mGame.mPosX, mGame.mPosY, mGame.mPiece, mGame.mRotation);
jstephens78 19:6d9bee043ede 299 mGame.AddPoints(SinglePiecePoints);
jstephens78 19:6d9bee043ede 300 int linesDeleted = mBoard.DeletePossibleLines ();
jstephens78 19:6d9bee043ede 301 if(linesDeleted>0)
jstephens78 19:6d9bee043ede 302 {
jstephens78 19:6d9bee043ede 303 mGame.AddClearedLines(linesDeleted);
jstephens78 19:6d9bee043ede 304 mGame.AddPoints(LineClearPoints*linesDeleted);
jstephens78 19:6d9bee043ede 305 clear_board();
jstephens78 19:6d9bee043ede 306 }
jsanchez307 22:601e6f9077e4 307 UpdateGameStatus(mGame.GetPoints());
jstephens78 19:6d9bee043ede 308
jstephens78 19:6d9bee043ede 309 if (mBoard.IsGameOver())
jstephens78 19:6d9bee043ede 310 {
jstephens78 19:6d9bee043ede 311 isGameOver=true;
jstephens78 19:6d9bee043ede 312 uLCD.cls();
jstephens78 19:6d9bee043ede 313 }
jstephens78 19:6d9bee043ede 314
jstephens78 19:6d9bee043ede 315 if(!isGameOver)
jstephens78 19:6d9bee043ede 316 {
jsanchez307 22:601e6f9077e4 317 mGame.CreateNewPiece(piece,rotate);
jsanchez307 22:601e6f9077e4 318 clear_next_piece(); // 0-6 Pieces, 0-3 rotations^^
jsanchez307 22:601e6f9077e4 319 piece++;
jsanchez307 22:601e6f9077e4 320 rotate++;
jsanchez307 22:601e6f9077e4 321
jsanchez307 22:601e6f9077e4 322 if (piece==7) piece = 0;
jsanchez307 22:601e6f9077e4 323 if (rotate==4) rotate = 0;
jstephens78 19:6d9bee043ede 324 }
jstephens78 19:6d9bee043ede 325 }
jstephens78 19:6d9bee043ede 326 }
jstephens78 19:6d9bee043ede 327 timer.reset();
jstephens78 19:6d9bee043ede 328 }
jaybalar 27:a09981ebd532 329 Thread::wait(100);
jsanchez307 26:163d7ca8c42d 330
jsanchez307 26:163d7ca8c42d 331 //get a new random number for PWM
jsanchez307 26:163d7ca8c42d 332 //x = rand() / float(RAND_MAX);
jsanchez307 26:163d7ca8c42d 333 //add some exponential brightness scaling
jsanchez307 26:163d7ca8c42d 334 //for more of a fast flash effect
jsanchez307 26:163d7ca8c42d 335 /*x = x*x*x;
jsanchez307 26:163d7ca8c42d 336 Rgb = x;
jsanchez307 26:163d7ca8c42d 337 rGb = x;
jsanchez307 26:163d7ca8c42d 338 rgB = x;
jsanchez307 26:163d7ca8c42d 339 //fast update rate for welding flashes
jsanchez307 26:163d7ca8c42d 340 //Thread::wait(20);
jsanchez307 26:163d7ca8c42d 341 //add a random pause between welds
jsanchez307 26:163d7ca8c42d 342 if (rand() / float(RAND_MAX) > 0.95) {
jsanchez307 26:163d7ca8c42d 343 Rgb = 0;
jsanchez307 26:163d7ca8c42d 344 rGb = 0;
jsanchez307 26:163d7ca8c42d 345 rgB = 0;
jsanchez307 26:163d7ca8c42d 346 //Thread::wait(4000.0 * rand() / float(RAND_MAX));
jsanchez307 26:163d7ca8c42d 347 }*/
jaybalar 28:bccd14334bb9 348 // if (count % 10 == 0) {
jaybalar 28:bccd14334bb9 349 // if (Rgb == 1) {
jaybalar 28:bccd14334bb9 350 // Rgb = 0;
jaybalar 28:bccd14334bb9 351 // rGb = 1;
jaybalar 28:bccd14334bb9 352 // rgB = 0;
jaybalar 28:bccd14334bb9 353 // }
jaybalar 28:bccd14334bb9 354 //
jaybalar 28:bccd14334bb9 355 // else if (rGb == 1) {
jaybalar 28:bccd14334bb9 356 // Rgb = 0;
jaybalar 28:bccd14334bb9 357 // rGb = 0;
jaybalar 28:bccd14334bb9 358 // rgB = 1;
jaybalar 28:bccd14334bb9 359 // }
jaybalar 28:bccd14334bb9 360 // else if (rgB == 1) {
jaybalar 28:bccd14334bb9 361 // Rgb = 1;
jaybalar 28:bccd14334bb9 362 // rGb = 0;
jaybalar 28:bccd14334bb9 363 // rgB = 0;
jaybalar 28:bccd14334bb9 364 // } else if (Rgb == 0) {
jaybalar 28:bccd14334bb9 365 // Rgb = 0;
jaybalar 28:bccd14334bb9 366 // rGb = 1;
jaybalar 28:bccd14334bb9 367 // rgB = 0;
jaybalar 28:bccd14334bb9 368 // }
jaybalar 28:bccd14334bb9 369 // }
jaybalar 28:bccd14334bb9 370 //
jaybalar 28:bccd14334bb9 371 // count++;
jstephens78 19:6d9bee043ede 372 }
jstephens78 19:6d9bee043ede 373 }