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; }
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); }