Rechercher : dans
Par :

[Langage C] Jeu

Dernière réponse le 19 jun 2008 à 21:08:24 UNIX/VI/SHELL, le 16 fév 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

Meilleures réponses pour « [Langage C] Jeu » dans :
Langage C - Les chaînes de caractères VoirQu'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...
Langage C++ - Les types de données VoirLes 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...
Langage C - Les types de données VoirLes 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...

1

Stupeflip, le 16 fév 2007 à 12:27:05
  • +3

Si tu fais des fonctions, ca marchera mieux :)

Répondre à Stupeflip

2

UNIX/VI/SHELL, le 16 fév 2007 à 13:30:32
  • +1

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

Répondre à UNIX/VI/SHELL

3

Stupeflip, le 16 fév 2007 à 13:40:48
  • +1

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 16 fév 2007 à 13:43:52
  • +2

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 16 fév 2007 à 13:52:50
  • +1

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 16 fév 2007 à 14:02:08
  • +1

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 16 fév 2007 à 14:18:15
  • +1

Content d'avoir pu t'aider :)

Répondre à Stupeflip

8

ekra, le 16 fév 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 16 fév 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 16 fév 2007 à 15:46:24

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 16 fév 2007 à 20:28:01

C'est sur.

Répondre à UNIX/VI/SHELL

12

tabarnak, le 17 sep 2007 à 02:42:46

Wtf!!!!!

Répondre à tabarnak

13

Piti Pit, le 16 nov 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 19 jun 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
Collection CommentÇaMarche.net