Mini projet LOO
Dependencies: mbed APDS_9960 mbed-rtos
Home du projet
src/main.cpp
- Committer:
- Willheisen
- Date:
- 2016-04-10
- Revision:
- 13:336220ac9a8b
- Parent:
- 12:7afdbc7465ac
- Child:
- 14:6b6aa696680f
File content as of revision 13:336220ac9a8b:
#include "mbed.h" #include "cJeu.h" #include "cMatrice.h" #include "cLigne.h" #include "cSPI.h" int main() { //////////////////////////////////////// Serial pc(USBTX, USBRX); cSPI spi; spi.initSPI(100000, 8, 3); cJeu jeu; cMatrice * mat = new cMatrice(8,8); jeu.initialiser(); jeu.set_matrice(mat); ///////////////////////////////////////// //cForme *ptrForme = new cEl(3, 0); //cForme *ptrForme = new cLigne(3,0); //cForme *ptrForme = new cZed(3,0); //cForme *ptrForme = new cCarre(3,0); //cForme *ptrForme = new cTe(3,0); /*mat->afficherForme(ptrForme, LED_VERT); // Affiche la nouvelle pièce cForme *ptrForme2 = new cZed(1, 3); ptrForme2->rotationHoraire(); mat->afficherForme(ptrForme2, LED_BLEU_CLAIR); // Affiche la nouvelle pièce spi.envoyerMatrice(*mat); mat->afficherForme(ptrForme, LED_VERT); // Affiche la nouvelle pièce spi.envoyerMatrice(*mat); //Déplacement ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Déplacement ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Déplacement ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Déplacement ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Rotation ptrForme->rotationHoraire(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Rotation ptrForme->rotationHoraire(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Rotation ptrForme->rotationHoraire(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //Déplacement ptrForme->deplacementDroite(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); //test collision while(mat->verificationMvt('g') != 0) { ptrForme->deplacementGauche(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.5); } */ cForme *ptrForme = new cLigne(3,0); mat->afficherForme(ptrForme, LED_MAGENTA); // Affiche la nouvelle pièce spi.envoyerMatrice(*mat); wait(0.2); for(int i=0; i<3; i++) { //Déplacement ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } //test collision for(int i =0; i<2; i++) { ptrForme->deplacementGauche(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } //test collision do { ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } while(mat->verificationMvt('b') != 0); cForme *ptrForme2 = new cLigne(3,0); mat->afficherForme(ptrForme2, LED_ORANGE); // Affiche la nouvelle pièce spi.envoyerMatrice(*mat); wait(0.2); for(int i=0; i<3; i++) { //Déplacement ptrForme2->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } //test collision for(int i=0; i<2; i++) { ptrForme2->deplacementDroite(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } ptrForme2->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); ptrForme2->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); jeu.ligneComplete(); cForme *ptrForme3 = new cLigne(3,0); mat->afficherForme(ptrForme3, LED_VERT); // Affiche la nouvelle pièce spi.envoyerMatrice(*mat); wait(0.2); for(int i=0; i<3; i++) { //Déplacement ptrForme3->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } //test collision for(int i=0; i<2; i++) { ptrForme3->deplacementGauche(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); } ptrForme3->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); ptrForme3->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(0.2); delete ptrForme3; jeu.ligneComplete(); /* ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(1); ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(1); ptrForme->deplacementBas(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(1); ptrForme->deplacementDroite(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(1); ptrForme->deplacementDroite(); mat->updateMatrice(); spi.envoyerMatrice(*mat); wait(1); ptrForme->deplacementDroite(); mat->updateMatrice(); spi.envoyerMatrice(*mat); */ delete ptrForme; delete ptrForme2; delete mat; }