begin process at 2012 05 30 02:01:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

probleme avec dev c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme avec dev c++

lundi 19 mars 2007 à 21:46:03 | probleme avec dev c++

val13190

Bonjour,

Voila j'ai crée un petit programme en C, grâce à la SDL et à dev-c++.
Mais, j'ai un problème dans mon code, j'essaye de mettre mon programme en pause grace à la touche P du clavier mais lorsque j'appuie sur cette touche le programme ne se met point en pause tandisque si je met 2 touches differentes (ex.: touche P pour mettre pause et touche R pour réactiver le programme) cela marche parfaitement bien.

Merci de m'aider.
a++
lundi 19 mars 2007 à 23:02:59 | Re : probleme avec dev c++

LordBob

Membre Club
je ne comprend pas trop ton probleme... visiblement tu veux utilser la touche P pour mettre le jeu en pause, puis si on rappuie sur P, cela enléve la pause. Or si tu met deux touches séparer pour faire les deux action pause et activation, alors la tout se déroule correctement.
il n'y a pas de raison que cela ne marche pas dans un cas, mais dans l'autre oui si tu utilises le meme code. le probleme doit etre comment tu gére la mise en pause puis l'enlevement de cette pause. mais ca va etre difficile de te dire ce qui ne va pas sans voir le code la...
Bob...
"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."
mardi 20 mars 2007 à 18:17:25 | Re : probleme avec dev c++

val13190

voila mon code source, je n'arrive pas a faire marcher la pause grâce à la touche p du clavier:


#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#define TEMPSAFFICHAGEIMG   5

int main(int argc, char *argv[])
{
    SDL_Surface *ecran = NULL, *zozor = NULL;
    SDL_Rect positionZozor;
    SDL_Event event;
    long coul = 0;
    int pause = 1;
    int continuer = 1, versGauche = 0, versHaut = 1;
    int tempsPrecedent = 0, tempsActuel = 0;
   

    SDL_Init(SDL_INIT_VIDEO);

    ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
    SDL_WM_SetCaption("Gestion du temps en SDL", NULL);

    zozor = SDL_LoadBMP("zozor.bmp");
    SDL_SetColorKey(zozor, SDL_SRCCOLORKEY, SDL_MapRGB(zozor->format, 0, 0, 255));

    positionZozor.x = 0;
    positionZozor.y = 50;

    while (continuer)
    {
        SDL_PollEvent(&event);
        switch(event.type)
        {
            case SDL_QUIT:
                continuer = 0;
                break;
               
            case SDL_KEYDOWN:
                 switch(event.key.keysym.sym)
                 {
                     case SDLK_p:
                         if (pause == 1)
                          pause = 0;
                           else
                             pause = 1;
                                break;
                               
                     case SDLK_ESCAPE:
                         continuer = 0;
                         break;

                 }
                break;
        }

    if (pause)
    {
    tempsActuel = SDL_GetTicks();
   
    if (tempsActuel - tempsPrecedent > TEMPSAFFICHAGEIMG)
    {
      tempsPrecedent = tempsActuel;
     
      if (positionZozor.x <= 0)
      {
        versGauche = 0;
        coul = 1;
      }
       
      if (positionZozor.x >= 556)
      {
        versGauche = 1;
        coul = 2;
      }
       
      if (positionZozor.y <= 0)
      {
        versHaut = 0;
        coul = 3;
      }
       
      if (positionZozor.y >= 385)
      {
        versHaut = 1;
        coul = 4;
      }
       
      if (versHaut)
        positionZozor.y--;
       
      else
        positionZozor.y++;
       
      if (versGauche)
        positionZozor.x--;
       
      else
        positionZozor.x++;

    }
   
    else
    {
    SDL_Delay(TEMPSAFFICHAGEIMG - (tempsActuel - tempsPrecedent));
    }
        if (coul == 0)
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));
       
        else if (coul == 1)
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 255));
       
        else if (coul == 2)
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 0, 0));
       
        else if (coul == 3)
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 255, 0));
       
        else
        SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
       
        SDL_BlitSurface(zozor, NULL, ecran, &positionZozor);
        SDL_Flip(ecran);
    }
    }

    SDL_FreeSurface(zozor);
    SDL_Quit();

    return EXIT_SUCCESS;
}


Merci de me repondre a++
jeudi 22 mars 2007 à 18:34:55 | Re : probleme avec dev c++

victorcoasne

Membre Club
Bonjour,

STP explicite ton titre quand tu pose une question car ton problème de porte pas sur l'IDE Dev-C++ mais sur la SDL ainsi que sur l'interaction clavier/logiciel.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com


Cette discussion est classée dans : programme, probleme, touche, dev, pause


Répondre à ce message

Sujets en rapport avec ce message

Probleme sur un programme qui calcule un pgcd [ par El loco ] Voila j ai un probleme sur le programme suivant, il marche correctement avec une grande serie de nombres mais quand je tape 15 et 32 il me donne un pg DEV d'un projet c++ [ par mc.solaar3 ] Je tente de créer un programme qui constituerait un guide d'achat automobiles. Ce programme tiendra compte de nombreuses données et de nombreuses pré Dev C++ -- et GLUT [ par papier ] !!..Salut..!!Mon probleme ,c'est ke quand je compile mon prog (open gl et glut) il me met 0 errors mais il ne veut po me le lancer , et le linker outp Probleme urgent !! [ par julnad ] Mon problème est que j'ai réalisé un programme en C et qu'il faut le traduire en C++. L'important est qu'il faut le faire rapidement et le C++ c'est p probleme de tableau avec Dev c++ [ par D4rkRe4per ] Hello tlm!g un leger probleme de tableau avec Dev c++ 4.Dans mon fichier source j'ecris : const char pr[] = {"A", "Acca", "Agla", "Agra", "An", "Anc( probleme avec dev c++ et opengl [ par D4rkRe4per ] hello tlmen ce moment j'essaie d'apprendre à utiliser opengl en c++ mais g un gros probleme avec mon compilateur dev c++.J'ecris mon code source, je c DEV C++ -> pr lancer "exe" de mon programme [ par grandebutant ] svp Sur DEV C++, je voudrais lancer un exe de mon programmeAAAauuuuuuuu seeeeeccccouuurrrr!!Merci aux dieux de la programmation !! Probleme Editeur de Lien (DEV-C++) [ par hyppo34 ] Bonjour,est ce que quelqu'un pourrais me dire ce que ce message veux dire:F:\DEV-C_~1\Lib\\libmingw32.a(main.o)(.text+0x8e): undefined reference to `W Probleme de DIALOG sous DEV-C++ [ par Viper31 ] Salut , Je voulais savoir si d'autre comme moi on des problemes pour declarer le style d'une boite de dialog dans le fichier resource sous DEV-C++ ?? Mettre une pause en VC++ [ par Goeland ] Bonjour,je cherche de l'aide car je n'arrive pas a faire une pause dans mon programme, grosso modo j'ai une edit box qui affiche un mot et je veux qu'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,607 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales