Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

[Langage C] Jeu

UNIX/VI/SHELL, le vendredi 16 février 2007 à 12:22:27 
 Signaler ce message aux modérateurs

Bonjour,

Voila mon probléme: J'ai commencé un petite jeu d'aventure en mode texte, mais j'ai un probléme, lorsque le joueur arrive dans un lieu il peut faire des actions, puis il entre dans un autre lieux, puis il quitte ce dernier pour retourné dans le précedents, MAIS LA probléme, je doit tout réecrire, SECOND PROBLÉME, je doit supposer que mon personnage puisse retourner dans le second lieu, mais la aussi je doit tout réécrire et puis ainsi de suite.

Si quelqu'un peut m'expliquer le probléme, pourra-t-il m'expliquer comment régler le probléme en écrivant un code en C.

Merci de l'aide.

Configuration: Mac OS X
Safari 2.0

1

Stupeflip, le vendredi 16 février 2007 à 12:27:05
  • +4

Si tu fais des fonctions, ca marchera mieux :)

Répondre à Stupeflip

2

UNIX/VI/SHELL, le vendredi 16 février 2007 à 13:30:32
  • +2

J'y ai pensé. Mais est-ce que écrire toutes les boucles dans des fonctions aidera ?

Répondre à UNIX/VI/SHELL

3

Stupeflip, le vendredi 16 février 2007 à 13:40:48
  • +2

Oui, en fait ca te fera genre une fonction minimum par salle, avec comme parametre d'entree et de sortie une structure contenant les caractéristiques du personnage et les differents flags par exemple.

Lorsqu il rentre salle 1, tu lances fonction 1, lorsque il passe en salle 2, fonction 2, et quand il revient salle 1, tu relances la fonction 1. Les actions faites dans cette salle auparavant ont été sauvegardées dans la structure, du coup il revoit la salle dans l état où il l a laissée.

Tu peux boucler par exemple dans le main, ou dans un service appelé par le main.

Répondre à Stupeflip

4

UNIX/VI/SHELL, le vendredi 16 février 2007 à 13:43:52
  • +3

Re,

donc j'écrit une fonction : ex funtion1 je donne toute les caractéristiques (description, personnages, objets...) puis je je créait une fonction de sortie de fonction1 pour aller dans function2 .... et ainsi de suite?

Répondre à UNIX/VI/SHELL

5

Stupeflip, le vendredi 16 février 2007 à 13:52:50
  • +2

Dans ta fonction, tu fais tout ce qui est possible de faire par le personnage dans cette piece. Par exemple tu peux faire un truc genre:

- Tu rentres dans la piece (description)
- Tu peux faire
- ca
- ou ca
- ou meme ca
- Attente du choix du personnage
- Action en conséquence
- Soit tu refais autre choses, soit il quitte la piece

Bien sur tu peux étoffer plus que ca, c est un cas simple ici ;)

Si jamais tu preferes faire des caractéristiques par salle, je te conseille de passer en C++ et de faire une classe Salle, c est un peu plus compliqué a prendre en main mais c est plus facile a relire et également plus rapide si jamais tu as plein de salles (en gros c est plus long a prendre en main, mais tu feras les salles plus rapidement ensuite).

Répondre à Stupeflip

6

UNIX/VI/SHELL, le vendredi 16 février 2007 à 14:02:08
  • +2

Re,

ok. Trés grand merci, ca fasait des jours que je bloquais, je vais pouvoir continuer mon jeu. Encore merci. Je ferais le jeu en C, c'est le seule langage que je connais.

Encore merci.

Solution :
-----------
Lorsque vous réalisez des jeu d'aventures, il faut réaliser plusieurs fonctions pour chaque lieu ou piéce, cela facilite les choses, ensuite vous n'avez qu'a ajouté les déatails, les personnages... puis vous crez un systeme de sortie pour alle de lieu en lieu ou piece en piece.

Encore merci Stupeflip!

Répondre à UNIX/VI/SHELL

7

Stupeflip, le vendredi 16 février 2007 à 14:18:15
  • +2

Content d'avoir pu t'aider :)

Répondre à Stupeflip

8

ekra, le vendredi 16 février 2007 à 14:46:51

Bonjour,

Si tu fais une fonction par salle, tu peux utiliser des pointeurs de fonctions et en faire un tableau.
Du coup

(tab_fonc[i])()

appellera la bonne salle en fonction de i.

Après, bon courage ;) GPG Key ID = 5518CFC7
Key fingerprint = D192 67F7 7ACC 4FA2 AABF 64EA BAC1 6C18 5518 CFC7

Répondre à ekra

9

UNIX/VI/SHELL, le vendredi 16 février 2007 à 15:31:49

Dans un jeu, il y a beaucoup de salle, si je me met a utuliser des pointeurs en utulisant le langage C, je vais avoir des problémes de mémoires.

Répondre à UNIX/VI/SHELL

10

Stupeflip, le vendredi 16 février 2007 à 15:46:24
  • +1

C'est surtout que c'est bien plus simple de faire des fonctions tout ce qu'il y a de plus normal :) Si tu écris bien tes noms de fonctions, du genre:

salle_1
salle_2
salle_3

ou

Entrée_rdc_1
Couloir _rdc_1
Chambre_1er_1
Couloir_2e_1
Couloir _2e_2

Bref tes appels de fonctions seront très bien et compréhensibles, pas vraiment d'intérêt à passer par un tableau de fonctions :)

Répondre à Stupeflip

11

UNIX/VI/SHELL, le vendredi 16 février 2007 à 20:28:01

C'est sur.

Répondre à UNIX/VI/SHELL

12

tabarnak, le lundi 17 septembre 2007 à 02:42:46

Wtf!!!!!

Répondre à tabarnak

13

Piti Pit, le vendredi 16 novembre 2007 à 21:43:22

"dans un jeu, il y a beaucoup de salle, si je me met à utiliser des pointeurs en utilisant le langage C, je vais avoir des problèmes de mémoire."
Non ne t'inquiètes pas ton jeu aurra vraiment beaucoup de mal à avoir autant de salles qu'il y a de cases mémoires dans ton ordinateur (à moins d'avoir un des touts premiers ordis et encore ...).
La mémoire des ordinateurs est aujourd'hui très grande et bien organisée tu peux l'utiliser sans crainte (si tu savais comme certains programme la "gâchent" masivement ...).

Répondre à Piti Pit

14

 Sonix33, le jeudi 19 juin 2008 à 21:08:24

Sinon tu peux aussi mettre un if suivi d'un goto qui renvoie à l'arrivée de la 1ere salle

Répondre à Sonix33
Mini-projet en langage C: jeu Vaches-Taureaux st tout le monde j ai 1 problème il s agit de mon mini projet en langage C c 1 jeu Vaches-Taureaux.svp aider moi www.commentcamarche.net/forum/affich-2812266-mini-projet-en-langage-c-jeu-vaches-taureaux
Langage C - Les chaînes de caractères Qu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne... www.commentcamarche.net/contents/c/cstring.php3
[langage C] jeu mastermind Salut :) En fait, je suis débutante en C et on nous a demandé de coder un jeu (mastermind) .. j'avoue que je perds un peu pied :))) En fait, au début du jeu, il faut choisir le nombre de chiffres de la combinaison à deviner. Ensuite, pour la saisie de... www.commentcamarche.net/forum/affich-2486474-langage-c-jeu-mastermind
[Langage C] C/C++ Erreur de segmentationQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux... www.commentcamarche.net/faq/sujet-4791-langage-c-c-c-erreur-de-segmentation
Les files en langage CLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un... www.commentcamarche.net/faq/sujet-8282-les-files-en-langage-c
Les piles en langage CLes piles Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la pile IV. Opérations sur les piles A. Initialisation B. Insertion d'un élément dans la pile C. Ôter un élément de la pile D. Affichage... www.commentcamarche.net/faq/sujet-8283-les-piles-en-langage-c
Exec en langage C (Résolu)Bonjour à tous. J'écris un programme en langage C permettant de créer un fichier de config (pour MRTG). Pour cela je dois utiliser la primitive "exec", la commande que je souhaite lancer ressemble à : snmpgetnext -c community IPadress OID. Comment "... www.commentcamarche.net/forum/affich-1623603-exec-en-langage-c
Getchar() langage C (Résolu)Bonjour, je suis nouveau ne langage C et donc j'eprouve quelques difficulte : Je souhaiterai stocker le flux dentre que jentre au clavier pour cela je procede de la maniere suivante : #define BUFSIZE=4096; char buf[BUFSIZE]; printf("Enter your... www.commentcamarche.net/forum/affich-2960608-getchar-langage-c
Petit programme en langage C (Résolu)Bonjour, Etantdonné débutant en langage C, permettez moi S.V.P de vous adresser mon petit probléme que je n'arrive à comprendre la réponse: l'ennoncé de l'exercie: Écrire une fonction qui ne renvoie aucune valeur et qui détermine la valeur maximale et... www.commentcamarche.net/forum/affich-2811312-petit-programme-en-langage-c
Langage C++ - Les types de donnéesLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître... www.commentcamarche.net/contents/cpp/cpptype.php3
Langage C - Les types de donnéesLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le... www.commentcamarche.net/contents/c/ctype.php3
Introduction au langage CPetite histoire du C Le langage C a été mis au point par D.Ritchie et B.W.Kernighan au début des années 70. Leur but était de permettre de développer un langage qui permettrait d'obtenir un système d'exploitation de type UNIX portable. D.Ritchie... www.commentcamarche.net/contents/c/cintro.php3