× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Aide pour jeux
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
ziad
  Posté le 26/03/2009 @ 15:41 
Aller en bas de la page 
Petit astucien

Bonjour,

Est-ce que quelqu'un connait des bon sites internet ou je pourai trouver des sprites (avatars) et des monde de jeux pour jeux en 2D?

J'utilise mappy (mapwin32) mais pour fair quelque chose d'interréssant il faut que je passe plusieur jour dessus.

J'ai cherché sur internet mais je n'ai pa trouvé grand chose.

Un jeux que je vais coder avec allegro.

Merci

Publicité
Zharth
 Posté le 01/04/2009 à 15:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ziad
 Posté le 01/04/2009 à 21:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Zharth,

En faite, j'ai un projet en informatique dont le but est de faire un jeux, inspiré du jeux Gobliins, en C grace à la bibliothèque graphique allegro.

J'ai commencé a coder mon jeux mais j'ai quelques petite questions, histoire de l'améliorer.

Comment afficher un texte comme dans les jeux video et non pas un texte genre console d'application?

Exemple de type de texte: http://www.jeuxvideo.com/screenshots/images/00021/00021888_003.htm

Et aussi, le joueur a la possibilité d'enregistrer sa partie (et donc ensuite de la charger).

J'ai réfléchi au processus de sauvegarde, ce serra en mode texte dans lequel il serra enregistré la valeur de nombreuses variables pour determiner l'avancement du joueur dans le jeux (ex: x et y pour la position du joueur).

Je sais qu'il faut utiliser des fonctions tel que fopen(); fprintf(); et fclose(); mais je ne sais pas vraiment les utiliser.

Donc si vous pouvez m'aider merci.

Dgueul
 Posté le 04/04/2009 à 16:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Il y a un petit moment de ça, je m'était fait un petit .h où je regroupais mes fonctions personnel...

J'avais fait quelques fonction de sauvegarde qui peuvent peut être t'interesser...

  • Une fonction qui met un tableau 2 dimentions dans un fichier texte:
  1. int MatToTxt( int *tab , int x , int y , char chemin[] )
  2. {
  3. FILE * f;
  4. f=fopen(chemin,"wt");
  5. for ( int j=0 ; j < y ; j++ )
  6. {
  7. if ( j != 0 )
  8. fprintf( f , "\n" ) ;
  9. for ( int i=0 ; i < x ; i++ )
  10. {
  11. if ( i != 0 )
  12. fprintf( f , " " ) ;
  13. fprintf( f , "%d" , * (tab + i * y + j));
  14. }
  15. }
  16. fclose(f);
  17. return 0;
  18. }

l'appel de la fonction s'effectue de la manière suivante:

  1. MatToTxt((int *) matrice,TailleX,TailleY, nom_de_fichier);
  2. //matrice=nom de ta matrice (tableau)
  3. //TailleX = taille de la première dimention
  4. //TailleY = taille de la deuxième dimention
  5. //nom_de_fichier = une chaine de caractère du type "nom_de_fichier.txt"
  • une fonction qui met dans un tableau 2 dimention ce qui se trouve dans un fichier texte (qui été créé par la fonction fonction précedante, ou qui a le même format):

  1. int TxtToMat( int *tab , int x , int y , char chemin[] )
  2. {
  3. FILE * f;
  4. f=fopen(chemin,"rt");
  5. int i=0,j=0;
  6. while( j < y )
  7. {
  8. while( i < x )
  9. {
  10. fscanf(f,"%d", ( tab + i * y + j ) );
  11. i++;
  12. if( feof( f ) != 0 )
  13. break;
  14. }
  15. y++;
  16. }
  17. fclose(f);
  18. return 0;
  19. }

l'appel de la fonction s'effectue de la manière suivante:

  1. TxtToMat((int *) matrice1,TailleX,TailleY, nom_de_fichier);
  2. //matrice=nom de ta matrice (tableau)
  3. //TailleX = taille de la première dimention
  4. //TailleY = taille de la deuxième dimention
  5. //nom_de_fichier = une chaine de caractère du type "nom_de_fichier.txt"

Voila, je fait du C que depuis quelques mois, donc il se peut que le code ne soit pas très "élégant", cepandant ça fonctionne!

Je conseille de regarder comment ces fonctions fonctionnent pour faire tes propres fonctions!

Elles fonctionnent avec des tableau de int mais j'ai les même pour des float (si tu préfères)...

Si tu as une question, n'ésites pas!

ziad
 Posté le 04/04/2009 à 17:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Dgueul,

J'ai éssayais en adaptant à mon projet. J'ai bien un fichier texte dans lequel sont enregistrés les coordonnées du perso. Mais je n'arrive pas à les charger dans mon programme.

J'ai FILE*ficsvg;

J'enregistre les coordonnées dans un fichier texte "svggob.txt" grace à ça:

" if(!ficsvg) printf("erreur fichier");
else fprintf(ficsvg,"%d %d\n",k->x,k->y);
fclose(ficsvg);

"

Et je veus les charger en début de programme avec ça (je pense que c'est ça qui est faux):

" ficsvg=fopen("svggob.txt","w");
k->x=0;
k->y=100;
fscanf(ficsvg,"%d %d",k->x,k->y);

"

Dgueul
 Posté le 04/04/2009 à 20:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
  1. ficsvg=fopen("svggob.txt","w");

permet d'ouvrir le fichier "svggob.txt" en mode écriture ("w" signifie "write")

Pour l'ouvrir en mode lecture ("r" signifiant "read"):

  1. ficsvg=fopen("svggob.txt","r");

Dis moi, si ça venait de ça...

Je te conseille d'utiliser "wt" et "rt" à la place de "w" et "t", ça revient au même sauf que certains compilateurs n'aime pas! Pis ça permettra, quand tu fera beaucoup d'ouverture de fichier texte ou binaire, de ne pas te mélanger les pinceaux.

ziad
 Posté le 04/04/2009 à 22:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Non c'est pas à cause de ça.

Ca m'affiche directement le message d'erreur de windows.

Dgueul
 Posté le 04/04/2009 à 23:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Quel est le message?

ziad
 Posté le 04/04/2009 à 23:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

C'est le message d'erreur de windows ou il demande si on veut envoyer un rapport d'erreur.

Je pense que c'est a cause de mon fscanf(ficsvg,"%d %d",k->x,k->y);

Dans mon fichier texte j'ai enregistré les coordonnées x et y sous la forme "x y" par exemple "100 258"

Donc pour charger ces coordonnées je peut faire un "%d %d"?

Publicité
Dgueul
 Posté le 05/04/2009 à 01:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

normalement oui!

Dis moi, tu codes et compiles avec quel logiciel? Au moment de la compilation, il ne te marque rien??

ziad
 Posté le 05/04/2009 à 09:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Je compile avec Code Blocks, quant j'execute le programme il ne maffiche aucune erreur de compilation mais s'arrete directement avec le message d'erreur de windows.

Dgueul
 Posté le 05/04/2009 à 23:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

essaies de ne prendre que la première valeur pour commencer, pour voir si ça fonctionne.

ziad
 Posté le 15/04/2009 à 10:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

J'essaye mais j'ai un petit problème. Comment on fait pour convertir un pointeur de type char en int

J'ai essayé par un cast mais ça ne fonctionne pas:

x=(int)posx;

RandD
 Posté le 20/05/2009 à 18:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Normal que cela ne marche pas, car tu obtiens uniquement l'adresse en mémoire du premier char rencontrer, tu as 3 possibilités :

1) La fonction sscanf() avec les bons flag (à toi de les cherchés).

2) La fonction strtol().

3) La fonction atoi() qui est ultra simple à utiliser.

A+



Modifié par RandD le 20/05/2009 18:10
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
13,99 €McAfee Internet Security 2020 (3 appareils, 1 an) à 13,99 €
Valable jusqu'au 22 Octobre

Amazon fait une promotion sur la suite antivirus Internet Security 2020 qui passe à 13,99 €. Cette protection intégrale alliant antivirus, protection de l'identité et protection de la confidentialité des données pour tous vos PC, Mac, smartphones et tablettes est valide pour 3 appareils pendant 1 an. La clé d'activation ainsi que le lien de téléchargement vous seront envoyés par email une fois la commande passée. Une très bonne affaire.


> Voir l'offre
499 €Smartphone 6.67 pouces Xiaomi Mi 10T (5G, 128Go, 6Go) + trotinette électrique Essential à 499 €
Valable jusqu'au 20 Octobre

Darty propose en précommande le smartphone 6.67 pouces Xiaomi Mi 10T (5G, écran 144 Hz, 128 Go extensible par microSD, 6 Go de ram, triple caméra ultra haute résolution de 64MP) à 499 €. La sortie est prévue le 26 Octobre. Or pour toute précommande immédiate de ce mobile, Xiaomi vous offre gratuitement une trotinette électrique Mi Electric Scooter Essential d'une valeur de 285 € (20 km d'autonomie, 20 km/h max, pliable, freins à disque). 

Une fois votre précommande effectuée, rendez-vous immédiatement sur l'offre Xiaomi pour compléter le formulaire et recevoir votre trotinette électrique (3000 exemplaires disponibles).


> Voir l'offre
106,99 €Disque dur externe portable Western Digital Elements USB 3.0 5 To à 106,99 €
Valable jusqu'au 23 Octobre

Amazon propose actuellement le disque dur externe portable Western Digital Elements USB 3.0 5 To à 106,99 € livré gratuitement. On le trouve ailleurs à partir de 149 €. Ce disque dur qui tient dans la main est silencieux, ne chauffe pas et dispose d'une connectique USB 3.0 qui vous offrira des transferts rapides. Il est compatible USB 2.0.


> Voir l'offre

Sujets relatifs
Aide pour un programme simple en C++
Aide POur initiation a SQL ( oracle 10G)
demande d'aide pour un petit script
Aide pour macro sur Notepad ++
Aide pour puissance 4 en C
aide pour fichier .bat
aide pour une fonction
[SQL access] besoin d'aide pour une requete
Demande d'aide pour création d'un logiciel
Besoin d'aide pour un programme
Plus de sujets relatifs à Aide pour jeux
 > Tous les forums > Forum Autres langages