× 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
4,24 €Adaptateur Aukey HDMI -> VGA à 4,24 €
Valable jusqu'au 30 Octobre

Amazon fait une promotion sur l'adapteur Aukey HDMI vers VGA qui passe à 4,24 € au lieu de 7,99 €. Cet adaptateur vous permettra de connecter un ordinateur ou une console avec un port HDMI sur un écran ou un projecteur possédant une interface VGA. 


> Voir l'offre
19,99 €Ensemble clavier + souris sans fil Logitech MK270 à 19,99 €
Valable jusqu'au 30 Octobre

Amazon fait une promotion sur l'ensemble clavier + souris sans fil Logitech MK270 qui passe à 19,99 € alors qu'on le trouve habituellement autour de 35 €. Cet ensemble est composé d'un clavier sans fil Logitech avec des touches silencieuses et d'une souris sans fil adaptée à la forme de la main qui convient aux droitiers comme aux gauchers. Un seul récepteur USB vous permettra d'utiliser ces 2 périphériques sans fil. La livraison en point relais est gratuite.


> Voir l'offre
36,99 €Gel hydroalcoolique 5L (70% d'alcool, fait en France) à 36,99 €
Valable jusqu'au 30 Octobre

Amazon propose actuellement le bidon de 5 L de gel hydroalcoolique (70% d'alcool, fait en France) à 36,99 € livré gratuitement (7,40 € / litre). De plus, si vous êtes un membre Amazon Prime, un coupon de réduction de 10 € vous sera offert pour le Prime Day (le 13 et 14 Octobre prochain).


> 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