IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

isset() en PHP / equivalent en C++ ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 104
    Par défaut isset() en PHP / equivalent en C++ ?
    Bonjour.

    J'aimerais savoir s'il existe une fonction en C++ qui permet de vérifier si une variable est initialisé ou non.
    En PHP, cette fonction existe, il s'agit de isset() qui renvoie un bolléen. Qu'en est-il du C++ ?

    Si une telle fonction n'existe pas, comment l'implémenter ?

    Merci.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Non. C'est pour ça que tu dois les initialiser à leur définition. Que veux-tu faire exactement ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 104
    Par défaut
    En fait, je réalise un jeu en 2D style Bomberman, avec la SDL.

    Lorsqu'une bombe est posé (collage d'une surface bombe avec SDL_BlitSurface), il faut un délai d'environ 3 secondes avant qu'elle n'explose (collage d'une surface explosion avec SDL_BlitSurface par dessus la surface bombe).

    Voici ce qu'on m'a conseillé :
    La bombe est un ojbet qui a un membre "startTime" qui est le timestamp du moment ou tu a laché la bombe.
    A chaque itération (ou N itérations) de ta boucle de jeu, tu vérifie si ce startTime + 3000 est supérieur au timestamp actuel, si c'est le cas, tu explose la bombe.
    Je trouve la formulation pas très compréhenssible mais ça m'a donné l'idée de stocker le timestamp de la création de l'objet bombe dans un de ses attributs (startTime par exemple).

    Ensuite et à chaque autre ittération de la boucle de jeu, on vérifie que le timestamp actuel est supérieur ou égal à startTime + 3000 (en ms). Si VRAI alors on fait explosé la bombe.

    Le problème c'est qu'à chaque boucle de jeu, j'initialise startTime à time(0) donc le timestamp actuel, du coup ma vérification me renvoie toujours FAUX puisque c'est comme si je faisait if(time(0) >= time(0)+3000) ; et ma bombe n'explose jamais.

    De ce fait, il me faut une fonction (celle de isset en php) qui de permette de faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (startTime n'est pas initialisé)
    alors int startTime = time(0);
    sinon ne rien faire
    J'espère que je suis assez clair.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    C'est plutôt un problème de conception. Il faut que tu initialises ta variable au moment où tu 'poses' la bombe. Pas en permanence. Je pense qu'il faut plus travailler sur ton design plutôt que de chercher une astuce du langage.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 104
    Par défaut
    Citation Envoyé par 3DArchi Voir le message
    Il faut que tu initialises ta variable au moment où tu 'poses' la bombe. Pas en permanence. Je pense qu'il faut plus travailler sur ton design plutôt que de chercher une astuce du langage.
    Oui effectivement c'est ce que je cherche à faire.
    Mais qu'entends tu par travailler sur mon deisgn ? Je ne vois pas de quelle manière ça pourrait régler mon problème.

    Au niveau de la conception, lorsqu'on presse la touche espace, ça appelle la fonction constructrice Bombe de la classe Bombe. Il y a une méthode explose que doit etre appellé automatiquement 3 secondes plus tard.
    Que revoir de ma conception.

    Désolé, je dois avouer que je me suis un peu perdu avec ce détail.

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    startTime devrait être initialisé dans le constructeur de Bombe si cela correspond à fonction constructrice.
    Bref, peux-tu poster une version simplifier de ton code pour avoir plus d'éléments (pas 42 fichiers car je n'aurais pas le courage de les lire )

Discussions similaires

  1. equivalent de la fonction EXPLODE de php
    Par gyouk dans le forum ASP
    Réponses: 1
    Dernier message: 28/11/2005, 10h49
  2. [XSLT]L'équivalent XSL de isset (php)
    Par xilay dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 16/11/2005, 10h03
  3. [C#] recherche equivalent du readfile() de PHP
    Par MaxiMax dans le forum ASP.NET
    Réponses: 5
    Dernier message: 01/07/2005, 16h41
  4. Quel est l'equivalent de Explode de php ?
    Par reg11 dans le forum Langage
    Réponses: 4
    Dernier message: 29/06/2005, 15h50
  5. equivalence du isset() php en asp
    Par jecht dans le forum ASP
    Réponses: 4
    Dernier message: 13/05/2004, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo