× 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
114,90 €TP-Link Deco M4 (WiFi Mesh 1200 Mbit/s, jusqu'à 320 m²) x 3 à 114,90 €
Valable jusqu'au 28 Octobre

Amazon fait une promotion sur le kit TP-Link Deco M4 avec 3 satellites qui passe à 114,99 € livré gratuitement alos qu'on le trouve ailleurs à partir de 150 €. Ces 3 satellites Deco travaillent ensemble pour former un seul et unique réseau WiFi, garantissant une connexion rapide importe où que vous êtes. Ils offrent une connexion Mesh WiFi haut débit de 1200 Mbit/s , la possibilité de connecter + de 60 appareils dans votre foyer jusqu'à 320 m² et sans zone morte (si cela ne suffit pas, ajoutez simplement plus de Deco à tout moment pour augmenter la couverture WiFi), idéal pour toute la maison.


> Voir l'offre
54,99 €Boîtier PC Corsair Carbide Series 175R RGB à 54,99 €
Valable jusqu'au 28 Octobre

Amazon propose actuellement le boîtier PC Corsair Carbide Series 175R RGB à 54,99 € livré gratuitement. On le trouve ailleurs à partir de 75 €. Le Carbide Series 175R RGB est un boîtier ATX moyen-tour aux lignes épurées, que Corsair a su sublimé par un ventilateur RGB inclus à l'avant et un panneau latéral entièrement en verre trempé. Offrant une superbe vue sur l'ensemble de vos composants ainsi qu'un refroidissement bien pensé...


> Voir l'offre
72,94 €Enceintes 2.0 Bose Companion 2 Série III à 72,94 € livrées (via coupon)
Valable jusqu'au 27 Octobre

Amazon Allemagne propose actuellement l'excellent kit 2.0 Bose Companion 2 Série III qui passe à 64,98 € grâce à un coupon de réduction automatiquement appliqué alors qu'on le trouve ailleurs à partir de 99 €. Comptez 7,96 € pour la livraison en France, soit un total de 72,94 € livré. Découvrez un son d'une profondeur et clarté sans égal, que ce soit avec de la musique, des films ou des jeux. Rappelons que vous pouvez utilisez votre compte Amazon France sur Amazon Allemagne et qu'il n'y a pas de douane.


> 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