/* Función principal para mostrar cosas en pantalla. */ void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3ub(255, 255, 255); // change color to red print(0,0,0,"S/s = Girar todo el robot"); print(0,-.2,0,"e = Inclinar el robot"); print(0,-.4,0,"d = Bajar brazo"); print(0,-.6,0,"C/c = Cerrar/Abrir mano"); glPushMatrix(); glRotated((double)0.0, cinturaInt, 0.0, 1.0); glTranslated(1.5, -1.0, 0.0); base(); cintura(cinturaInt); brazo(radioInt); codo(); mano(largo, radioInt); nudillo(largo); dedos(mvm, dedosCerrados); if(dedosCerrados == 0) { glPopMatrix(); glPushMatrix(); glTranslated(1.5, -1.0, 0.0); puntosPelota[0] = puntosPelota[1] = puntosPelota[2] = 0; } else { puntosPelota[0] = -1.9; puntosPelota[1] = 0; puntosPelota[2] = 0; } pelota(puntosPelota); glPopMatrix(); glutSwapBuffers(); }
int main() { srand((unsigned int)time(NULL)); carta mazzo[4][13]; int i, j; int soldi; /*riempio il mazzo*/ for (i = 0; i < 4; i++) { for (j = 0; j < 13; j++) { mazzo[i][j].num = j + 1; switch (i) { case 0: mazzo[i][j].seme = i; //quadri break; case 1: mazzo[i][j].seme = i; //cuori break; case 2: mazzo[i][j].seme = i; //fiori break; case 3: mazzo[i][j].seme = i; //picche } } } /*prendo in input il numero di giocatori*/ int numGioc; printf("In quanti si vuole giocare?\n"); do { fpurge(stdin); printf(" » "); } while (scanf("%d", &numGioc) != 1 || numGioc < 2 || numGioc > 5); giocatore *gioc = (giocatore*)malloc(sizeof(giocatore) * numGioc); punteggi = (int*)malloc(sizeof(int) * numGioc); if (gioc == NULL || punteggi == NULL) { printf("Memoria non sufficiente!"); } /*prendo in input il portafogli iniziale di ogni giocatore*/ printf("Con quanto desiderate giocare?\n"); do { fpurge(stdin); printf(" » € "); } while (scanf("%d", &soldi) != 1 || soldi < 1); for (i = 0; i < numGioc; i++) { gioc[i].cash = soldi; } stampaDivisorio(); int win; int contaKO = numGioc; while (contaKO > 1) { win = mano(gioc, numGioc, mazzo); } printf("Giocatore %d vince la partita.", win); printf("\n\n"); free(punteggi); free(gioc); return 0; }