1D-Pong game based on a LED strip with 150 LPD6803-controlled pixels. Game keeps score for 'best-of-21' game. Written for KL25Z
Diff: main.cpp
- Revision:
- 3:a2b58da5c03b
- Parent:
- 2:d2f8772a8db5
- Child:
- 4:119537f0ff8e
diff -r d2f8772a8db5 -r a2b58da5c03b main.cpp --- a/main.cpp Wed Aug 21 18:22:29 2013 +0000 +++ b/main.cpp Wed Aug 21 18:32:16 2013 +0000 @@ -47,7 +47,7 @@ while(1) { //PaddleDemo(2,255,10,100); Score(0,0); - Score(1,0); + Score(1,1); Score(0,1); Score(3,2); WinLoose(2.5, LEFT); @@ -63,7 +63,25 @@ uint8_t maxscore; int8_t ledcounter; uint8_t scorecounter; - left>right?maxscore=left:maxscore=right; + typedef struct ledcolor + { + uint8_t red; + uint8_t green; + uint8_t blue; + }ledcolor_t; + ledcolor_t rightled={0,0,0}, leftled={0,0,0}; + if(left >= right) + { + maxscore = left; + leftled.green = 255; + rightled.red = 255; + } + if(right >= left) + { + maxscore = right; + leftled.red = 255; + rightled.green = 255; + } for(scorecounter = 0 ; scorecounter <= maxscore ; scorecounter++) { uint8_t templeft,tempright; @@ -76,15 +94,15 @@ } for(sidecounter = 0 ; sidecounter < templeft; sidecounter++) { - write_led(&totalstrip[sidecounter*2],255,255,0); + write_led(&totalstrip[sidecounter*2],leftled.red,leftled.green,leftled.blue); } for(sidecounter = 0 ; sidecounter < tempright ; sidecounter++) { - write_led(&totalstrip[(NUMBER_OF_PIXELS-1)-(sidecounter*2)],255,255,0); + write_led(&totalstrip[(NUMBER_OF_PIXELS-1)-(sidecounter*2)],rightled.red,rightled.green,rightled.blue); } - wait(0.5); + wait(0.7); } - wait(1); + wait(0.5); } void WinLoose(float seconds, bool side)