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 :

map jeu 2d depassant 10 tiles


Sujet :

C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Points : 6
    Points
    6
    Par défaut map jeu 2d depassant 10 tiles
    Bonjour,
    Alors voila c'est peut être bête comme question mais j'ai commencé un jeu, tout allait bien jusqu'à maintenant.
    La map de mon jeu est dans un fichier texte sous cette forme :

    111111111111111111111111111111
    100000000000000000000000000001
    100344444444444444444444040001
    100344000000000000000044840001
    102344444443000000000044440001
    144344444443000000000080000001
    144344444443444444444440400001
    144344484443000070000008400001
    100344444444444444444444400001
    100300000000000000000000000001
    100300000000000000000000008001
    100341111110143411111434444001
    100341870000103400430430000001
    134341441111103480408430000001
    134000000000003044444030000001
    134008400000003403400430000001
    134041400000003480408430000001
    134840000000003044444030000801
    134440000000003000000030010101
    130000000000003000000030010501
    130000000000003000700030014441
    111111111111111111111111111111

    ce qui donne :



    Le problème c'est que je veux rajouter d'autres tiles mais tous les chiffres sont pris.
    Je voulais donc savoir le meilleur moyen pour ajouter d'autres tiles.
    Est-ce que mettre des lettres à la place des chiffres est une bonne solution ?
    Où encore mettre des espaces entre chaque tiles (qui donne un fichier beaucoup plus gros)?
    merci

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Le mieux est d'enregistrer ta map dans un fichier binaire.
    Tu gagnera énormément de place.

    Ensuite, tu peux utiliser un entier non signé sur 1 octet (unsigned char) pour stocker chacun de tes tiles.
    Ce qui te fait 256 tiles différents possibles (contre 10 que tu as aujourd'hui pour à peu près le même espace en mémoire).

    Après, tu peux toujours mettre un unsigned short pour avoir 65536 tiles différents si tu trouve que 256 est trop juste.

  3. #3
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    La solution de Neckara est probablement la meilleure mais si tu ne veux pas devoir tout changer tu peux continuer en utilisant des lettres..

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Citation Envoyé par Trademark Voir le message
    La solution de Neckara est probablement la meilleure mais si tu ne veux pas devoir tout changer tu peux continuer en utilisant des lettres..
    En même temps s'il a divisé correctement son code il a juste 2 fonctions à changer (écriture et chargement de la map).

    Pour "traduire" un ancien fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    char x;
    while(input >> x)
         ouput << x - '0';
    //avec input ouvert en lecture non binaire
    //et output ouvert en écriture binaire

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    merci de ta réponse je n'avais pas pensé a faire comme sa.

    Si je comprend bien il faut déjà que je fasse un éditeur de map.
    Ensuite il y a une histoire de rajouter des "b" dans les paramètre de fwrite / fread.
    Et sinon le principe reste le même ?
    Est-ce que la fonction fgetc fonctionne (lit les 8bits et retourne le caractère correspondant) ?

  6. #6
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Oui ces fonctions fonctionnent exactement de la même manière, il suffit juste de rajouter le "b" lors de l'ouverture du fichier.

    Tu peux aussi utiliser les fstream qui sont une solution un peu plus orienté C++ et qui pourront grandement simplifier l'écriture et le chargement des map grâce à une redéfinition des opérateur '<<' et '>>'.

  7. #7
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    @Neckara
    Tu peux aussi utiliser les fstream qui sont une solution un peu plus orienté C++ et qui pourront grandement simplifier l'écriture et le chargement des map grâce à une redéfinition des opérateur '<<' et '>>'.
    Toujours distrait ? On est dans le forum C, pas C++
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  8. #8
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Citation Envoyé par diogene Voir le message
    @NeckaraToujours distrait ? On est dans le forum C, pas C++
    Je me suis encore fait avoir

    Je pense qu'il serait bien de différencier les forums C et C++ par une couleur de fond différente.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    En effet ^^
    Mon problème est résolu merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un jeu de snake en 2D et tile mapping
    Par Wanabee dans le forum Qt
    Réponses: 38
    Dernier message: 20/03/2012, 15h13
  2. Map jeu de gestion en ligne
    Par NightArctica dans le forum Flash
    Réponses: 1
    Dernier message: 27/10/2010, 22h48
  3. Moteur de jeu 3D isométrique avec tiles
    Par Shabla dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 16/05/2007, 00h35
  4. Défilement de la map - Jeu 2D C++
    Par scarface56 dans le forum Développement 2D, 3D et Jeux
    Réponses: 9
    Dernier message: 28/12/2006, 13h51
  5. [Struts][Tiles] Probleme d'action mapping avec un dynaform
    Par bluefox_du_974 dans le forum Struts 1
    Réponses: 3
    Dernier message: 28/03/2005, 22h47

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