Grumpybeans - version mono-joueur de mean bean machine ou encore puyopop

Description

Bonjour!
Petite introduction...
J'ai debute C# il y a quelques semaines et afin de me 'faire la main' je souhaitais faire un jeu (mon second jeux ^_^ le premier ayant ete un jeu du pendu il y a de cela environ 8-9 ans en Pascal avec une 'interface graphique', des gros carres quoi...). Je m'etais tout d'abord lance dans un simple TicTacToe mais je n'aime pas vraiment ce jeu, j'ai donc modifie la base de ce dernier pour en arriver a 'GrumpyBeans' (pourquoi 'GrumpyBeans' me direz-vous? Tout simplememt en reference a 'Dr. Robotnik Mean Bean Machine' dont je me suis inspire et aussi a mon surnom, ronchon, qui en anglais se traduit par 'grumpy'. Pour ceux qui ne connaissent pas, c'est un jeu ressemblant a Tetris (la, je suis sur que tout le monde connait!)

Le jeu en lui meme...
L'original se joue contre un adversaire. N'ayant aucune envie de me lancer dans l'ecriture d'une IA pour le moment, j'en ai donc modifier quelque peu les regles mais les bases sont les memes. L'objectif du jeu est de connecter au moins 4 haricots (beans) de la meme couleur, afin de les faire disparaitre, pour ensuite enclencher une reaction en chaine. Le nombre de points que l'on marque est en fonction du nombre de haricots connectes par chaine et du level en cours. Pour rendre les choses plus difficiles, des haricots refugies tombent a interval regulier sur la grille, ceux-ci ne peuvent disparaitre que lorsqu'ils touchent une chaine d'une autre couleur, mais il est possible re ralentir leur apparition grace aux reactions en chaine. Enfin, le niveau de jeu, c'est a dire la vitesse a laquelle les haricots tombent, augmente en fonction du nombre de disparitions.

Options...
Il est possible de changer les touches utilisees et la presentation des controles (couleurs et image de fond pour la grille) ainsi que la couleur des haricots (il faut bien penser a ceux qui differencient mal certaines couleurs...)

Le code...
Je vais etre honnete, je le trouve tres fouillis... Je suis parti d'un programme different (TicTacToe) en ajoutant des methodes en fonction de mes besoins, sans avoir planifier le tout au prealable.
Je n'ai pas cree de composants, comme beaucoup s'accordent a faire pourTeris, cela s'explique encore une fois par le fait que le programme de base n'en avait, a mes yeux, pas besoin.
Pour les options, il aurait ete plus simple d'avoir une PropertyGrid... Oui, je l'ai meme fait, le probleme est que cell-ci gere tres mal (pour ne pas dire pas 'ne gere pas du tout') les touches claviers.
Pour resume, celui-ci ne contient rien de nouveau, a part si vous debutez sous C#! Les parties interessantes peuvent etre la partie des options avec sauvegarde dans un fichier XML, l'utilisation de ComboBoxes pour la gestion d'Enum (c'est 2 lignes pour lire la liste et essigner une valeur + 1 pour recuperer la valeur de la combo en Enum), l'utilisation de fichiers de ressources ou encore l'utilisation de fonctions GDI+.
Si vous lisez cette ligne, je vous remercie d'avoir tenu jusqu'au bout!

N'hesitez pas a me laisser vos commentaires! (felicitations ou flagellations)
Veuillez m'excuser pour l'absence d'accents, je suis sur un clavier QWERTY.

Source / Exemple :


Voir le Zip

Conclusion :


Il doit y avoir pas mal de bugs restants... N'hesitez pas a me les remonter!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.