Kommunauty
Connexion
Inscription

Système d'interrupteurs dans un jeu vidéo


Dawlin Messages : 3381

Bonjour.

Je ne vous demande aucun conseil en matière de programmation mais en matière de logique et d'organisation structurelle. (Donc tout le monde peut participer )

Je suis en train d'écrire un programme qui servira à terme à faire du jeu vidéo. Je vous en dis pas plus, parce que vous seriez déçu par le résultat final.

Bon. En gros on a un personnage, et on va parler à des PNJs, qui nous disent "Hm, c'est pas ici que tu trouveras le trésor, va voir dans la forêt !", comme y'a dans tous les jeux type WoW, RO, etc...

ça c'est bon, maintenant ce que je veux faire, c'est pouvoir faire des trucs comme ça :

  • Si je vais à la porte du donjon, elle est fermée.
  • Je parle à un PNJ qui dit "va, je t'ai ouvert la porte"
  • A partir de là, quand je vais à la porte, elle est ouverte.

En fait c'est une variable booléenne, donc un interrupteur, si il est activé la porte est ouverte, sinon pas, et pour l'activer il faut parler au PNJ.

Donc bien sûr je peux coder ça tout seul, mais moi je veux savoir comment organiser ça pour que en deux trois variables je puisse dire que quand on parle à un personnage, il active un interrupteur.

comment est-ce que je peux organiser ça à votre avis ??

mardi 14 juin 2011 (Dernière édition mardi 14 juin 2011)

Vanyali Messages : 1298

ben, je sais pas, déjà, il faut savoir si tu programme en objet ou en procédural, c'est très différent la méthode a utiliser dans chaque cas

mardi 14 juin 2011

Dawlin Messages : 3381

Et ba c'est en objet, mais en même temps non, mais si... C'est un peu le bordel en fait

mardi 14 juin 2011

Vanyali Messages : 1298

ça me semblais pas très clair quand tu l'a dis, et tu le confirme, essaye de décider si tu veut faire de l'objet propre ou du procédural,

je n'ai encore rien fait en jeu vidéo, mais en langage objet, moi j'aurai fait une classe porte (ou obstacle pour être plus général, après, la porte peut hériter le l'obstacle, je sais pas comment tu fait) avec un attribut booléen (privé) Ouvert dans le constructeur tu le met false, et tu fait un setOuvert(), ensuite, si tu a une classe PNJ ou je sais pas quoi, depuis ton objet PNJ qui dois ouvrir la porte tu appelle laPorteAOuvrir.setOuvert(true)

(je pense que c'est a peu près pareil dans tout les langages objets, je connait que Java et C++, en C++ c'est peut être :: je m'emmêle toujours les pinceau, en ce moment, j'utilise java en cour)

après, ça me parait quand même un peu lourds, si tu a plein de portes et plein de PNJ, qui ont des actions différentes je me suis pas encore penché sur la question jusqu'à présent

la solution procédurale, c'est qu'avec la fonction parlerAuPNJQuiOuvreLaPorte(), elle renvoie un booléen, et tu le récupère dans une variable pour l'utiliser dans une fonction EtatPorte(leBooléenPrécédementNommé)

après, sans connaitre rien d'autre a ton code, je peut pas vraiment trouver mieux et je suis certainement pas le mieux qualifié pour ça, je suis encore dans la théorie moi plutôt !

j'espère quand même que ça répond en partie a ta question.

mardi 14 juin 2011

Dawlin Messages : 3381

Oui oui, ça y répond, donc en fait je suis en procédural sur une plateforme qui fait de l'objet (Flash) d'où mon incertitude.

Les deux réponses sont totalement valables et exploitables dans Flash, et sans vouloir te vexer j'y avais pensé, mais justement avec le reste de mon code, c'est impossible à mettre en place sans chambouler tout.

J'opte pour la formule : au lieu d'avoir un texte qui se déclenche quand on parle au PNJ, c'est un programme, et les interrupteurs sont gérés par des variables booléennes comme dans RPG Maker XP.

Merci de ton aide

mercredi 15 juin 2011

Vanyali Messages : 1298

en fait, en y réfléchissant, il y avait un moyen plus objet encore de le faire, plus modulable pour le reste, de toute façon, l'objet, c'est un peu flou comme concept, suivant a qui on parle, il dis que coder en objet, c'est ça et un autre te dis l'inverse,

et c'est dur aussi d'aider sur un code si on connait pas le code

en même temps, c'est normal de pas donner le code si tu veux le garder pour toi, mais après, si tu veux poser des question, c'est sur que c'est moins pratique enfin bref, vu que le problème est résolu j'ai plus rien a faire ici .

mercredi 15 juin 2011

Dawlin Messages : 3381

je demandais justement pas d'aide de code, mais de logique et d'organisation, et ça c'est pareil pour toutes les plateformes

finalement ça marche bien, Simax confirmera, je vous passerait le jeu quand il sera bien fini.

mercredi 15 juin 2011

Nicolas746 Messages : 1668

J'y jouerais avec joie dawlin sa sera un jeu du style quoi?

mercredi 15 juin 2011

Dawlin Messages : 3381

Un jeu du style Zork, donc un jeu du style tu n'y as jamais joué...

mercredi 15 juin 2011

Nicolas746 Messages : 1668

Pas encore du moins, si ton projet abouti

mercredi 15 juin 2011

Page suivante »