Se connecter avec
S'enregistrer | Connectez-vous

[C] Système: Gestion de Combat. aidez-moi.

Dernière réponse : dans Programmation

Bonjour à tous, j'ai un très très très gros 'mini' problème.
Bon voilà, après avoir fait quelques petits programmes (notamment une calculatrice Banque) je me lance dans les jeux.

Bon je ne veux pas trop m'avancer dans les jeux grâce à la librairie SDL, avant de créer un jeu en mode 'Fenêtre' je préfère créer un jeu en mode console.
Mode Console, je rappel pour ceux qui ne savent pas, c'est la console Dos(pour Windows en tout cas).

Mon problème est qu'avant de créer un jeu, je test mes compétences et je vois comment je pourrais le faire.
Alors je test des fonctions sur de petits scénarios.

Voici mon problème : J'ai créé une fonction gdcombat(gestion de combat) mais à l'intérieur je ne vois pas comment je pourrais établir le code.
Avec quels opérations ? Dois-je faire en sorte de faire au hasard(un nombre aléatoire ?)...
Aidez-moi s'il vous plaît, je ne sais pas quoi faire...

Voici le code source :

#include <stdio.h>
#include <stdlib.h>

long gdcombat (long *viesDuPerso, long *lvlDuPerso, long *xpDuPerso, long *viesDuMonstre, long *lvlDuMonstre, long *xpDuMonstre)
{



}

int main()
{
long viesDuPerso = 300, lvlDuPerso = 1, xpDuPerso = 10, viesDuMonstre = 300, lvlDuMonstre = 1, xpDuMonstre = 10;

printf ("Bienvenue dans ce systeme de Gestion de Combat, test 1.0 by Taramis.\n");
printf("Dans ce systeme de gestion de combat, vous incarnez un Personnage.");
printf("\n\n\n\nBien le bonjour T-X89, vous etes un robot.\nPv = Points de Vie, LVL = votre niveau, XP = votre experience.");
printf("\nVoici vos compétences : \n%ld de PV\nLVL %ld\nXP : %ld", viesDuPerso, lvlDuPerso, xpDuPerso);
system("pause");
printf("\nVous partez au Combat !\nVous voila nez a nez avec un Selbbrox, il est LVL 1, il a 300 en vie et 0 XP");
gdcombat(viesDuPerso, lvlDuPerso, xpDuPerso, viesDuMonstre, lvlDuMonstre, xpDuMonstre);

return 0;
}

Comme vous pouvez le constater il n'y a rien dans ma fonction, juste les paramètres au départ.
Aidez-moi s'il vous plaît, que dois-je faire pour qu'ils combattent ?

Autres pages sur : systeme gestion combat aidez

Lassé par la pub ? Créez un compte
Expert Programmation

Pour ce qui est de la modification des vies, il faut identifier toutes les influences aléatoires. Par exemple, on peut supposer que ton perso donne un coup (1ère influence aléatoire impliquant un tirage aléatoire ATTAQUE_RANDOM), ensuite on peut supposer que le méchant pas beau puisse se défendre pour éviter le coup (2nde influence aléatoire DEFENSE_RANDOM), etc (riposte, fuite ...).
Ensuite, tu as un ensemble de paramètres caractérisant les personages. Il suffit donc de pondérer la variable aléatoire suivants ses paramètres.
Par exemple, tu peux faire de simples approximations linéaires en faisant des pondérations, ou faire des calculs plus complexes.
Le coup sera porté si l'attaque pondéré est plus grande que la défense pondérée:
  1. if (ATTAQUE_RANDOM * (lvlDuPerso * 10) + xpDuPerso * 3) <
  2. DEFENSE_RANDOM * (lvlDuMonstre * 12) + xpDuMonstre * 2)
  3. {
  4. // tapage on the tronche avec gros bobo
  5. }

Tu peux faire plein d'autres calculs et tirer d'autres variables.
Sur mon exemple, j'ai utilisé en majuscules les variables aléatoires (mauvais style de codage ;)  ).
Tu peux aussi mettre les constantes dans des variables constantes de caractéristiques des types de personnages (par exemple pour un magicien le niveau peut avoir plus d'influence que l'expérience, donc tu mettrais par exemple 20 au lieu de 10 et 1 au lieu de 3).
Après tout est à régler par la pratique, mais attention à une chose, comme c'est toi qui programme, tu auras tendance à faire le jeu un peu trop dur car il te paraitra trop facile ;) 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde