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

Soyez le premier à donner votre avis sur cette source.

Vue 8 791 fois - Téléchargée 660 fois

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

Ajouter un commentaire

Commentaires

ronchon_sama
Messages postés
14
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005
-
Merci badrbadr ça fait plaisir ^_^
cs_badrbadr
Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008
-
j'aime vraiment ce programme.
le code source est bien commenté et modulaire de façon à pouvoir apprendre bien des choses en analysant les fichiers souces séparement.
le graphisme (images et degradé) sont très bien travaillé et le jeu est fluide.
bon, je vais arreter de parler, j'ai ce code à lire et à comprendre ;)
en tout cas, un 10/10
ronchon_sama
Messages postés
14
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005
-
Oui c'est exactement ca, sauf que je n'ai pas implemente d'IA, j'ai modifie les regles afin de pouvoir jouer seul.
cs_yoannd
Messages postés
305
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 août 2011
3 -
J'ai pas regardé le code, mais ça a l'air super sympa... C'est en genre de puyo ?
ronchon_sama
Messages postés
14
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
4 juillet 2005
-
Ca commence...
Il y a un bug au niveau de l'ajout d'un nouveau high score... :/
J'ai pris le tableau a l'envers ^_^
Dans le fichier Engine.cs, ligne 292, il faut remplacer par ceci
--------------------------------------------------------------------------
// Checks the new position of the highscore
while (pos != 0 && Options.Current.HighScores[pos - 1].Score < _gameScore)
pos--;
// Shift all the scores below the new position
for (int i = Options.Current.HighScores.Length - 1; i > pos ; i--)
{
Options.Current.HighScores[i] = Options.Current.HighScores[i - 1];
}
// Saves the informations
...
--------------------------------------------------------------------------

(Il faudra que je remettes le zip a jour au moins au prochain bug, j'y ai laisse 2 .exe -_-)
Et de un!!

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.