Ejemplo n.º 1
0
int main(int argc, char* argv[]) {

int passerTour(int table[8][8], int couleur);
void ordinateur(int table[8][8]);
void initialisation(int table[8][8]) ;
void dessin(int table[8][8], SDL_Surface* spiece[3], SDL_Surface* sfenetre);
int fin=0, n;
int table[8][8];
SDL_Surface* sfenetre;
SDL_Surface* spiece[3];
SDL_Event evenement;
SDL_Init(SDL_INIT_VIDEO);
SDL_WM_SetCaption("Reversi", NULL);
sfenetre=SDL_SetVideoMode(8*klCase, 8*khCase, 32, SDL_HWSURFACE);
spiece[kblanche]=SDL_LoadBMP("Images/blanche.bmp");
spiece[knoire]=SDL_LoadBMP("Images/noire.bmp");
spiece[kneutre]=SDL_LoadBMP("Images/neutre.bmp");
initialisation(table);
dessin(table, spiece, sfenetre);
SDL_Flip(sfenetre);

	while ( !fin ) {
	SDL_WaitEvent(&evenement);
		switch ( evenement.type ) {
		case SDL_QUIT:
		fin=1;
		break;
		case SDL_KEYDOWN:
		if ( evenement.key.keysym.sym==SDLK_ESCAPE )
		fin=1;
		break;
		case SDL_MOUSEBUTTONDOWN:
			if ( !passerTour(table, kblanche) ) {
				if ( positionnement(table, kblanche, evenement.button.y/khCase,
evenement.button.x/klCase)==kcorrect ) {
					dessin(table, spiece, sfenetre);
					SDL_Flip(sfenetre);
					SDL_Delay(1000);
						if ( !passerTour(table, knoire) )
							ordinateur(table);
				}
			}
			else if ( !passerTour(table, knoire) )
			ordinateur(table);
		dessin(table, spiece, sfenetre);
		SDL_Flip(sfenetre);
		break;
		}
	}
	for ( n=0; n<3; n++ )
	SDL_FreeSurface(spiece[n]);
SDL_Quit();
return 0;
}
Ejemplo n.º 2
0
void	dddd(int color, t_env e, t_segment seg)
{
	int		i;
	int		erreur;

	if (seg.Dx > seg.Dy)
	{
		erreur = seg.Dx / 2;
		i = 0;
		while (i < seg.Dx)
		{
			seg.x += seg.x_inc;
			erreur += seg.Dy;
			if (erreur > seg.Dx)
			{
				erreur -= seg.Dx;
				seg.y += seg.y_inc;
			}
			draw_point(e, seg.x, seg.y, color);
			i++;
		}
	}
	else
		dessin(e, seg, color);
}