NOUVEAU

Pour me changer les diées, j’ai programmer une petite fiction interactive, du nom de « NOUVEAU JEU », le but est de réparer un ordinateur.

Le jeu ne contient qu’une seule salle, et deux objets. Jeu trés court.

Le jeu se trouve sur la zone de téléchargement ifiction.free.fr/telechargement/

Le jeu peut contenir des erreurs d’orthographes, le jeu est à considére pour le moment comme une beta.

salut,

je ne m’y connais pas trop en C ou C++, mais je note quand même quelques problèmes dans la manière de coder. Comme j’avais déjà dit, si tu tiens vraiment à utiliser autre chose qu’Inform, Livrant etc parce que le « C/C++ » c’est plus professionnel, il vaudrait mieux que tu essayes de coder un moteur de jeu qui fera l’histoire à partir de descriptions qui ne sera pas contenues dans ce moteur (mais je te préviens c’est énormément plus compliqué que d’utiliser un langage déjà existant car il faut réinventer la roue). C’est comme cela que fonctionnent la plupart des jeux actuels, que cela soit un jeu d’aventure 3D ou un jeu textuel, ils utilisent tous des scripts pour la description du monde (même dans second life par exemple). Regarde par exemple ce lien, c’est la description d’un élément pour le jeu nazghul, c’est codé dans le langage Scheme :

nazghul.cvs.sourceforge.net/nazg … iew=markup

Le moteur de jeu est ailleurs. L’intérêt de la programmation, c’est de pouvoir faire des bibliothèques de techniques à réutiliser pour des projets ultérieurs.

Dans ton code je lis cela :

if ( strcmp(word,"prendre clé")==0) { if ( E1 == 1 ) { cout << "Vous prenez la clé \n"; E1 += 2; } else { cout << "Il n'y a pas de clé \n"; } } if ( strcmp(word,"prendre la clé")==0) { if ( E1 == 1 ) { cout << "Vous prenez la clé \n"; E1 += 2; } else { cout << "Il n'y a pas de clé \n"; } }

Tu utilises 2 fois le même code pour une action quasi-similaire. Et d’ailleurs cela ne prend pas en compte tous les synonymes ou autres façon d’écrire, par exemple si je tape « prendre la clef », « ramasser la clé », « ramasser la clef » etc. Il faudrait essayer de factoriser le code pour le rendre plus polyvalent et plus facilement adaptable.

Pour le morpion, l’idée est pas mal du tout, mais c’est le même principe. L’intérêt du langage objet, c’est d’utiliser des classes d’objets, et là il n’y en a pas.

Ne le prend pas mal, mais tu devrais essayer d’aller sur des forums de programmeurs C ou C++, regarder comment font les autres, prendre conseil à ce niveau. Moi je t’ai donné les conseils en tant qu’utilisateur d’Inform.

Je vais quand même rajouter ces jeux sur ta page sur notre site.

Même si copier-coller-modifier permet de programmer très rapidement, cela introduit des duplications dans le code qui vont le rendre plus difficile à faire évoluer (par exemple s’il faut changer la phrase « Vous prenez la clé \n », il faudra le faire deux fois). Mais il est possible de rétablir la situation par de petites modifications successives. Par exemple dans ton code :

if ( strcmp(word,"prendre clé")==0 || strcmp(word,"prendre la clé")==0) { if ( E1 == 1 ) { cout << "Vous prenez la clé \n"; E1 += 2; } else { cout << "Il n'y a pas de clé \n"; } }