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

Développement 2D, 3D et Jeux Discussion :

Quelques questions pour petit projet


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 75
    Points : 26
    Points
    26
    Par défaut Quelques questions pour petit projet
    Bonjour à tous

    J'ai commencé à programmer un petit jeu en 2d pour mieu apprendre le C++ et les bases pour crée des jeux vidéo plus interressant, et je suis presque a la fin d'un jeu "jouable".

    Ce jeu est une sorte de tetris, sauf qu'au lieu d'avoir plusieurs formes de bloc, ce sont des blocs de différentes couleurs. Et si 4 blocs de même couleur se touchent, ils disparraissent.

    Pour le moment, j'ai pratiquement tout implanter sauf un algorithme qui cherchera si 4 blocs se touchent.

    J'ai donc plusieurs questions :

    1) J'ai programmé ce jeu sur linux, et je ne me souvien plus de ce qu'il fallait pour qu'il puisse marcher sur windows. Suffit il de fournir les DDL ou y a t'il d'autres choses a faire ? (j'utilise la SFML et la STL)

    2) Avez vous des conseils pour l'implémentation de mon algorithme ? Car je ne sais pas trop comment le créé.

    3) Dois je absolument mettre une licence même pour un petit projet comme celui ci ?

    4) Dans mon programme pour chercher les images je met le chemin absolu par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!image.LoadFromFile("/home/rrazpo/Programme/tetris/Images/background.tga"))
    Comment faire sous linux pour indiquer un chemin relatif ?
    Comment faire pour indiquer un chemin relatif sous windows ?
    Enfin, comment faire pour savoir si on est sur linux ou windows ?


    Merci d'avance pour vos réponses

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par lapos Voir le message
    1) J'ai programmé ce jeu sur linux, et je ne me souvien plus de ce qu'il fallait pour qu'il puisse marcher sur windows. Suffit il de fournir les DDL ou y a t'il d'autres choses a faire ? (j'utilise la SFML et la STL)
    Non c'est tout généralement, si ton code est portable entre les systèmes d'exploitation.

    2) Avez vous des conseils pour l'implémentation de mon algorithme ? Car je ne sais pas trop comment le créé.
    Il en existe plusieurs je pense. Je ferais ceci :

    Je définis un tableau de case, chaque case représente la couleur + une valeur entière qui donne le nombre de cases de même couleur adjacente.

    - Lorsque la case se pose, trouver les blocs de même couleurs voisins.
    - Chercher la valeur max de ces blocs et assigner max+1 comme valeur de ce bloc.
    - Propager la valeur si max+1 < 4, sinon enlever tous les blocs de la même couleur qui sont proches.

    Ca me semble pas trop difficile à faire et assez facile. Après faut voir et adapter.

    3) Dois je absolument mettre une licence même pour un petit projet comme celui ci ?
    Si les images sont à toi et si tu ne le commercialise pas, non. Aucune licence n'est nécessaire sauf si tu veux conserver les droits sur ton code source.

    4) Dans mon programme pour chercher les images je met le chemin absolu par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!image.LoadFromFile("/home/rrazpo/Programme/tetris/Images/background.tga"))
    Comment faire sous linux pour indiquer un chemin relatif ?
    Comment faire pour indiquer un chemin relatif sous windows ?
    Utilise simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!image.LoadFromFile("Images/background.tga"))
    Cela fonctionnera sous linux et windows (en utilisant '/' et non '\\'

    Enfin, comment faire pour savoir si on est sur linux ou windows ?
    Bonne question mais la SFML permet de ne pas s'en occuper...

    Jc


    Merci d'avance pour vos réponses [/QUOTE]

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lapos Voir le message
    Bonjour à tous
    Enfin, comment faire pour savoir si on est sur linux ou windows ?
    à la compilation... tu te fait des #define pour chacune de tes architectures, et tu en met une dernière à la bonne valeur selon que tu compile pour linux/windows/whatever...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 96
    Points : 137
    Points
    137
    Par défaut
    c'est tout simple pour la detection de collision entre des blocs: tu consultes ce qu'il y a dans les 3 cases adjacentes: gauche, droite, bas
    google is your friend

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 75
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoups pour vos réponses

    Je vais essayer de réussir a coder cet algo

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 75
    Points : 26
    Points
    26
    Par défaut
    Rebonjour

    Bon je me suis attaqué a cet algo, et je tombe sur un problème qui fait mal a la tête

    - Lorsque la case se pose, trouver les blocs de même couleurs voisins.
    - Chercher la valeur max de ces blocs et assigner max+1 comme valeur de ce bloc.
    Ca c'est ok.

    - Propager la valeur si max+1 < 4, sinon enlever tous les blocs de la même couleur qui sont proches.
    Voilà ce qui me pose problème. Comment faire pour "propager" cette valeur ?
    J'ai pensé a rappeller la méthode pour le bloc adjacent, mais dans ce cas cela ferait une boucle infinie.

    Pour le moment voici ce que fais ma méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // Si le bloc vien de s'aretter de tomber
    si il y a d autres blocs autour
       si il y a un des blocs de la même couleur
           max=valeur du bloc + valeur max du bloc adjacent
    Mais je n'ai pas d'idée pour implémenter la suite

    Merci d'avance

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 11
    Points : 12
    Points
    12
    Par défaut
    Si tu ne veux pas de boucle infinie, quand tu as défini la valeur du bloc que tu viens de placer et que tu te demandes si tu dois propager cette valeur tu peux faire un test sur la valeur du bloc adjacent de même couleur.
    Avant incrémentation tous les blocs adjacents de même couleur ont la même valeur. Donc si la valeur du bloc d'à coté est différente c'est que tu n'y es pas encore passé et que tu peux propager la valeur. Et si c'est la même c'est que tu l'as déjà modifiée et que ce n'est pas la peine d'y revenir. ^^

  8. #8
    Membre averti Avatar de supertonic
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 199
    Points : 312
    Points
    312
    Par défaut droit d'auteur
    Tu n'as pas besoin de mettre une licence même si tu veux garder le code source et les ressources graphique et sonores. En france la notion de copyright n'existe pas il me semble, c'est le droit d'auteur qui fonctionne sur le continent, donc à partir du moment ou a créeé (mince je sais jamais l'écriture ) elle t'appartient automatiquement, le mieux étant de simplement mettre ton nom et la date de création visible quelque part dans ton jeu.
    Je pense pas me planter en disant cela, tu ne devrait même pas avoir à marquer un truc du genre 'toutes copie interdite blabla' c'est implicite. Au contraire marque clairement que ton jeu est gratuit et redistribuable le cas échéant.
    Tout ceci étant valable pour l'europe continentale, c'est différent chez nos amis anglo-saxons et américains.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    C'est en fait plus complexe il faut pouvoir démontrer que tu es le premier a avoir ecrit le code.

    sinon tu boucleras pas a l'infini vu que tu as au max 7 case identique cote a cote 3 d'un cote, 3 de l'autre et toi au centre.

    je mettrai un booléen sur les case visité or not visité, ensuite j'applique récursivement la détection des voisins.

    je marque les voisins visité, je valide avec un autre booléen les voisins de la bonne couleurs.

    apres ca je parcour mes cases et supprime les cases validés si 4 ou plus

Discussions similaires

  1. [XHTML] Quelques questions pour XHTML Strict
    Par kilkikou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 30/08/2006, 19h37
  2. Quelques questions pour débuter
    Par SavageMessiah dans le forum Outils
    Réponses: 3
    Dernier message: 18/08/2006, 22h46
  3. Quelques questions pour débuter avec FOP
    Par lr dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 08/04/2006, 13h09
  4. [KPL] Quelques questions pour l'aborder avec mon fils
    Par yiannis dans le forum Autres langages
    Réponses: 16
    Dernier message: 22/12/2005, 09h25

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