-
Problème de combinaisons
Bonsoir,
J'avance un petit jeu en langage C ;
Seulement, une fonction me pose problème :
C'est la fonction qui contrôle les combinaisons lors de la saisie.
Un exemple : si la somme des dès vaut 6 ; alors l'utilisateur pourra saisir 4 et 2, ou, 6, ou, 1 et 2 et 3 etc ...
Elle renvoie 0 ou 1, suivant le bon déroulement ou non de la fonction, ce qui permet à l'utilisateur de ressaisir.
Mon problème est le suivant :
Je n'arrive pas à formuler de façon concise l'algorithme.
Car je voudrai que la fonction teste en pleine saisie.
Si quelqu'un à une idée ?
Merci d'avance.
-
Bonjour.
Sur quel système programmes-tu ?
Je n'ai pas compris exactement ton problème. Si tu veux que le programme analyse "en temps réel" ce que l'utilisateur tape, je ne pense pas que les librairies standards le gèrent donc ça peut s'avérer compliqué.
Sinon, si tu te passes de cet aspect "temps réel", tu peux accepter les chaines "2 4", ou encore "2 1 3" (exemple avec la valeur 6), et parser la chaine quand l'user appuie sur "entrée".
Pour cela, ta fonction peut "exploser" la chaîne reçue, avec strtok, en mettant " " comme délimiteur, par exemple.
Ensuite, tu utilises la fonction atoi (chaine vers entier) sur chacune des sous-chaînes pour récupérer les valeurs, en nombres.
Pour finir, tu fais la somme de toutes les valeurs "capturées" et tu vérifie si elle est bien égale à la somme donnée par les dés.