Création d'un jeu de loto



Télécharger le projet exemple (2.21 ko)
Télécharger le document au format Word 2000 (59 ko)


Je m'interresserais ici uniquement à l'aspect analyse du projet, et non au code source, pour vous montrer une manière de créér un jeu vidéo simple. Le code source est disponible ci-dessus. Cette analyse est également disponible au format Word 2000. Pour l'instant, je n'ai analysé que le mode texte, mais l'interface Windows devrait bientôt suivre. Bon, passons à l'analyse...

Principe du jeu : Le joueur mise une somme de départ et choisit 6 numéros compris entre 1 et 49, puis l'organisateur pioche 6 numéros compris également entre 1 et 49, et à la fin on compare les résultats dans le désordre. En fonction du nombre de numéros correspondants avec ceux de l'organisateur, on remporte x fois sa mise, avec x dans les valeurs suivantes :

Loi des gains<br>(nombre d'éléments/valeur de x)

00
10
20
31
42
53
64





Le Mode texte

1ère analyse : les éléments dont on aura besoin

  • 1 variable qui contient la somme disponible pour le joueur

  • 1 variable qui contient la mise du joueur

  • 1 conteneur pour stocker les 6 résultats du joueur

  • 1 conteneur pour stocker les 6 résultats de l'organisateur

  • 1 fonction qui permet à l'utilisateur de miser

  • 1 fonction qui permet à l'utilisateur de choisir ses 6 numéros

  • 1 fonction qui génère les 6 résultats de l'organisateur

  • 1 fonction qui effectue la comparaison des 2 conteneurs

  • 1 fonction qui rapporte à l'utilisateur sa cagnotte, en fonction de la loi ci-dessus

  • 1 conteneur qui permet d'organiser tous les éléments dans l'ordre



2ème analyse: le détail des éléments pour le jeu

Les 2 variables qui contiennent la somme disponible pour le joueur ainsi que sa mise sont les plus simples, elles seront obligatoirement entières et positives, donc on utilisera un cardinal pour les représenter (en effet, on ne peut miser que ce qu'on possède, et une mise est forcément positive). Comme il faudra effectuer des opérations sur ces 2 variables, nous utiliserons un descendant direct de TObject qui contiendra ces 2 variables, et qui possèdera une procédure miser, et une procédure empocher les gains.



La procédure qui permet à l'utilisateur de miser doit afficher le pécule du joueur et vérifier que la mise est inférieure à son pécule, et, dans le cas contraire, redemander la mise.



La procédure qui rapporte la cagnotte au joueur doit ajouter au pécule du joueur le produit de la mise et de la valeur de la loi énoncée au départ. Elle doit afficher les gains.



Les 2 conteneurs utilisés pour stocker les 6 résultats pourraient être de simples record, mais on aura besoin d'une fonction qui remette les 6 résultats à zéro, donc on utilisera un descendant direct de TObject avec 6 champs d'un type entier entre 0 et 49 (qu'il faudra définir), avec une procédure de remise à zéro des résultats, une procédure pour que le joueur puisse choisir ses valeurs, une procédure de génération aléatoire des 6 valeurs pour l'organisateur, et enfin une fonction qui effectuera la comparaison avec un autre conteneur et qui renverra le nombre de résultats identiques. En effet, nous n'écrirons qu'un seul type de conteneur que nous créerons en 2 exemplaires : 1 pour le joueur et 1 pour l'organisateur.



La procédure qui permet à l'utilisateur de choisir ses 6 numéros doit vérifier à chaque choix que le numéro est bien compris entre 1 et 49 et qu'il n'a pas déjà été choisi. Dans le cas contraire, cette fonction doit demander à nouveau les choix invalides. A la fin, les 6 choix valides du joueur doivent être affichés.



La procédure qui génère les résultats de l'organisateur doit générer 6 nombres compris entre 1 et 49, et vérifier à chaque fois que le nombre n'a pas été déjà choisi, sous peine de recommencer le tirage du numéro en question. A la fin, les 6 numéros de l'organisateur doivent être affichés. Cette procédure est presque identique à la précédente, la seule différence est qu'ici le joueur ne choisit pas les valeurs.



La fonction qui effectue la comparaison des 2 conteneurs doit vérifier, pour chaque entrée du premier conteneur, s'il existe une entrée du second conteneur qui soit égale, et dans ce cas incrémenter le résultat de 1. Elle doit afficher le nombre d'égalités.



Le conteneur qui organise tous les éléments doit lancer les procédures dans l'ordre, et, à la fin de chaque tour, demander si l'utilisateur veut miser à nouveau.



Il ne reste plus qu'à écrire la boucle principale, qui se contente d'agencer les éléments que l'on vient de créer.



Voilà, c'en est fini de l'analyse du jeu en mode texte. Vous pouvez télécharger les sources (2.21 ko) pour voir comment cette analyse a influé dans leur conception. Vous pouvez également télécharger l'analyse au format Word 2000 (59 ko) pour l'imprimer.


3 requête(s) SQL executée(s) en 0.001 Secs - Temps total de génération de la page : 0.006 Secs