faedog
Messages postés4Date d'inscriptionmercredi 25 mars 2009StatutMembreDernière intervention 4 septembre 2009
-
25 mars 2009 à 19:08
Bonjour,
J'ai un problème de codage avec mon tetris, ça beug et je ne sais pas comment faire pour résoudre le problème !
Le carré s'efface ou alors ca me dit undefined reference to "depCarre(SDl_rect*, int*)"
J' ai fait une fonction qui arrête (ou pas) le carré mais ça fait beuger l'ensemble du programme !
le programme est en C, le voici :
MAIN.C
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL_ttf.h>
#include "code.h"
#include "carre.h"
int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *paysage = NULL, *carre = NULL;
SDL_Rect positionCarre, positionPaysage;
SDL_Event event;
SDL_EnableKeyRepeat(24, 24);
int continuer = 1, tempsActuel = 0, tempsPrecedent = 0;
TTF_Font *police = NULL;
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
TTF_Init();
SDL_WM_SetIcon(SDL_LoadBMP("carre.bmp"), NULL);
ecran = SDL_SetVideoMode(LARGEUR_FENETRE, HAUTEUR_FENETRE, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_RESIZABLE);
SDL_WM_SetCaption("! ! ! Tetris ! ! !", NULL);
/* srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN ;*/
police = TTF_OpenFont("typo_pixel.ttf", 65);
paysage = SDL_LoadBMP("paysage3.bmp");
carre = SDL_LoadBMP("carre.bmp");
positionCarre.x = 20;
positionCarre.y = 0;
while (continuer)
{
SDL_PollEvent (&event) ; // regarde les évènements éventuels
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break; // Fin de programme
}
tempsActuel = SDL_GetTicks();
if (tempsActuel - tempsPrecedent > 1000) /* Si 1 seconde s'est écoulée depuis le dernier tour de boucle et si le carre peut se déplacer ... */
{
depCarre(&positionCarre,&continuer);
if(continuer = 1)
{
positionCarre.y += TAILLE_CARRE;
}
}
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
SDL_BlitSurface(paysage, NULL, ecran, &positionPaysage);
SDL_BlitSurface(carre, NULL, ecran, &positionCarre);
SDL_Flip(ecran);
}
SDL_FreeSurface(carre);
SDL_Quit();
TTF_Quit();
return EXIT_SUCCESS;
}