Beispiel #1
0
/* 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;
}