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: mbed
Diff: Game/Game.cpp
- Revision:
- 20:3ca430241df0
- Parent:
- 19:ec4cb22accb0
- Child:
- 21:6b5d2d75e083
diff -r ec4cb22accb0 -r 3ca430241df0 Game/Game.cpp --- a/Game/Game.cpp Mon Apr 01 14:43:18 2019 +0000 +++ b/Game/Game.cpp Mon Apr 01 17:11:40 2019 +0000 @@ -4,14 +4,13 @@ Game::Game(){ + noOfCubes = 10; homeSelection = 0; gamepad.init(); renderer.init(); timer.start(); - - for(int i = 0; i < 10; i++){ - Cube cube(rand()%100-50,0,20+ i*10,5); - cubeVector.push_back(cube); + for(int i = 0; i < noOfCubes; i++){ + cubeArray[i].translate(rand()%100-50,0,20+ i*10); } } @@ -20,52 +19,40 @@ selection = true; playing = true; timer.reset(); + while(1) { Vector2D coord = gamepad.get_coord(); renderer.clear(); renderer.drawHorizon(coord.x/15); - for (int c = 0; c< cubeVector.size(); c++) - { + //pc.printf("a"); + for (int c = 0; c< noOfCubes; c++){ if(playing){ if(score < 1500) - cubeVector[c].translate((float)-coord.x*1.4,0,-2-(float)score/500); + cubeArray[c].translate((float)-coord.x*1.4,0,-2-(float)score/500); else{ - cubeVector[c].translate((float)-coord.x*1.4,0,-3.5); + cubeArray[c].translate((float)-coord.x*1.4,0,-3.5); } } + else{ + coord.x = 0; + coord.y = 0; + } for (int i = 0; i < 6; i++){ - faceVector.push_back(cubeVector[c].getFace(i)); - } - if (cubeVector[c].despawn()){ - //cubeVector.erase(cubeVector.begin() + c); - Cube cube(rand()%100-50,0,90,5); - //cubeVector.push_back(cube); - cubeVector[c] = cube; + faceArray[c*6 + i] = cubeArray[c].getFace(i); } - if (cubeVector[c].tooClose()){ - cubeVector.erase(cubeVector.begin() + c); + if (cubeArray[c].despawn()){ + cubeArray[c].resetPos(); + cubeArray[c].translate(rand()%100-50,0,90); + } + if (cubeArray[c].tooClose()){ playing = false; - //renderer.invertMode(); - // ticker.attach(&resetScreen,1); - Cube cube(rand()%100-50,0,90,5); - cubeVector.push_back(cube); + cubeArray[c].resetPos(); + cubeArray[c].translate(rand()%100-50,0,90); } } - for (int f = 0; f< faceVector.size(); f++){ - for (int f2 = 0; f2< faceVector.size(); f2++){ - if(faceVector[f2].getAvgZ() < faceVector[f2+1].getAvgZ()){ - Face temp = faceVector[f2+1]; - faceVector[f2+1] = faceVector[f2]; - faceVector[f2] = temp; - } - } - } - for (int f = 0; f< faceVector.size() ; f++){ - //pc.printf("%f\n", faceVector[f].getAvgZ()); - renderer.drawFace(faceVector[f], coord.x/15); - //wait_ms(1000/1); - - } + + renderer.drawAllFaces(faceArray, noOfCubes, coord.x);//faceArray, noOfCubes, coord.x); + if(playing){ score = timer.read_ms()/200; } @@ -75,16 +62,15 @@ break; } } + - char buf[10]; + char buf[5]; sprintf(buf, "%d", score); renderer.print(buf, 0, 0); memset(buf, 0, sizeof buf); renderer.refresh(); - faceVector.clear(); - wait_ms(1000/30); - + wait_ms(1000/28); } } @@ -133,7 +119,7 @@ homeButtonSelections(); renderer.drawHomeScreen(homeSelection); renderer.refresh(); - wait_ms(1000/30); + wait_ms(1000/28); } } \ No newline at end of file