C'est un simple jeu de tetris que j'ai fait dans le but d'expérimenter WPF. Toute l'interface est faite avec des balises XAML, jusqu'a la création des blocks et du fond d'écran du jeu. Le déplacement du bloc principale à la verticale est fait de manière fluide (et non bloc to bloc comme c'est souvent le cas). Il supporte les blocs spéciaux (qui servent à se sortir du pétrin), il y a un peu d'animation en XAML.
Tout est à votre disposition, sentez-vous libre d'en faire ce que vous voulez, si quelqu'un aurait envie de le reprendre pour l'améliorer qu'il ne se gêne point (Je dis ça car c'est déjà arrivé avec mon tetris en C et le résultat était plutôt intéressant ^^).
Le moteur de jeu est totalement indépendant de l'interface, théoriquement on pourrait passer à DirectX/Silverlight/etc... sans modifier le code.
Le son est également supporté, par contre cette partie de code à été désactivée avant l'envoie, certaines personnes ayant eu des difficultés avec la librairie FMod.DLL (dont un Blue Screen :S).
Source / Exemple :
//Visual C# 2008 Express SP1
//ZIP
/*................*/
Conclusion :
Toute remarque constructive est évidement la bienvenue
Vitesse en fonction du score (aurait pu augmenter plus rapidement ?)
Bloc spéciaux aléatoires
Touches :
Gauche, Droite : Déplacement
Haut : Rotation
Bas : Descente rapide
Espace : Instant drop
Z : Utiliser un special block (On ne choisit pas celui que l'on veut, sa serait trop facile)
Explication des specials blocks :
N (Nuke) - Vide complètement le jeu
CL (Clear Line) - Retire une ligne
B (Bar) - Donne une pièce de type #### comme prochaine
G (Gravity) - Comble tous les trous et élimine les nouvelles lignes pleines
25 avril 2009 à 20:37
25 avril 2009 à 20:28
24 avril 2009 à 18:31
- Les conventions de nommages ont pas du tout été respectées, notemment pour les enums en MAJ, ça pique les yeux. <= Je ne suis pas sûr de bien comprendre.
- Des classe EventArgs qui ne dérive pas de EventArgs ?? <= Effectivement, je les avaient enlevé pour fin d'essaie et a dût oublier de les remettres, je vais faire un update du code quand je pourrai.
Concernant WPF j'avoue que j'avais un peu espérance que quelqu'un m'indique une meilleure marche à suivre en passant par là, car effectivement j'aurais préféré du 100% WPF mais pour faire un binding efficace sur 11*20 blocs je ne connais pas de méthode très éfficace.
Celà dit merci pour vos commentaires constructif.
24 avril 2009 à 09:07
Par contre pour le code, j'avoue que j'ai été assez déçu...
- Euh, où sont les commentaires??? Un code (de plus pour la communauté) sans commentaire, ça vaut pas grand chose!
- Les conventions de nommages ont pas du tout été respectées, notemment pour les enums en MAJ, ça pique les yeux.
- Des classe EventArgs qui ne dérive pas de EventArgs ??
- Pour l'interface WPF, je suis tout sauf un pro mais j'ai l'impression que ça s'utilise pas trop comme ça. Tu ajoutes les cases manuellement (gridBoardGame.Children.Insert) et je pense plutôt que tu aurais dû utiliser du binding comme fais ici (http://www.csharpfr.com/codes/CUBE-IT-PETIT-JEU-WPF_49401.aspx). Cela dit, je ne suis pas sûr de ce que j'affirme sur ce point, c'est une éventuelle piste à creuser pour améliorer :)
Voilà en parcourant le code en diagonal, malheureusement j'ai pas assez de temps pour regarder en détail.
Donc au final, un bon jeu, mais peu mieux faire niveau code...
24 avril 2009 à 06:04
Comment on se sert des especes de bloc, et les lettres veuent dire quoi ?
La vitesse accelerre un jour ? Ou bien c parce que C'est fluide que j'ai pas eu limpression que ça accelerait ?
Merci :) Sinon il est bien joli :)
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.