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
Game/Game.cpp
- Committer:
- el17cd
- Date:
- 2019-03-31
- Revision:
- 17:3c9672c6e532
- Parent:
- 16:64cd7bc094f9
- Child:
- 18:8256546a3cbf
File content as of revision 17:3c9672c6e532:
#include "Game.h" Game::Game(){ playing = true; score = 0; gamepad.init(); renderer.init(); for(int i = 0; i < 7; i++){ Cube cube(rand()%80-40,0,30+ i*20,5); cubeVector.push_back(cube); } } void Game::run(){ while(1) { Vector2D coord = gamepad.get_coord(); renderer.clear(); if(playing){ score++; } else{ if(gamepad.check_event(Gamepad::Y_PRESSED) == true){ selection = true; } else if(gamepad.check_event(Gamepad::A_PRESSED) == true){ selection = false; } if (selection == true && gamepad.check_event(Gamepad::B_PRESSED) == true){ playing = true; } else if(selection == false && gamepad.check_event(Gamepad::B_PRESSED) == true){ break; } } renderer.drawHorizon(coord.x/15); for (int c = 0; c< cubeVector.size(); c++) { if(playing){ if(score < 2500) cubeVector[c].translate(-coord.x*1.4,0,-2.5-(float)score/1000); else{ cubeVector[c].translate(-coord.x*1.4,0,(float)-5); } } 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()%80-40,0,90,5); cubeVector.push_back(cube); } if (cubeVector[c].tooClose()){ cubeVector.erase(cubeVector.begin() + c); playing = false; //renderer.invertMode(); score = 0; // ticker.attach(&resetScreen,1); Cube cube(rand()%80-40,0,90,5); cubeVector.push_back(cube); } } 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); } if(!playing){ deathScreen(); } char buf[10]; sprintf(buf, "%d", score); renderer.print(buf, 0, 0); memset(buf, 0, sizeof buf); renderer.refresh(); faceVector.clear(); wait_ms(1000/30); } } void Game::deathScreen(){ //int selection = 1; renderer.drawDeathScreen(selection); }