Voici un simple démineur écrit en C# à l'aide de Visual Studio 2005. Il existe déjà un démineur écrit en C# Visual Studio 2003 (cf Bidou), mais celui-ci diffère légèrement en ce sens que je n'ai pas mis l'accent sur la re-définition des contrôles (damier, case...), j'ai simplement utilisé les controls de l'espace de nom System.Windows.Forms, mais je montre une utilisation simple des Generics, et de la Serialisation XML.
Comme dans l'exmple de Bidou on constate que la gestion de plusieurs usercontrols ralenti énormément l'affichage... A ne jamais faire pour de vrai ;) !
Pour les débutants ça peut aider à ce faire une idée de C#, pour les confirmés... passez votre tour y'a rien à voir ;) !
A l'ordre du jour:
-Serialization
-Generics
-Enumeration
Source / Exemple :
Toutes vos remarques sont les bienvenues évidemment.
Je voudrais réaliser un démineur en C# sur votre modèle mais je veux le faire sous DOS, j'ai fait une fonction déplacement mais je voudrais créer la fonction qui permet de découvrir les cases avec la touche entrée par exemple mais je n'y arrive pas. Qui peut m'aider ? Flipparachi@hotmail.fr
C'est trés utile pour les débutants comme moi!
Je voulais juste dire que de plutôt refaire qqch qui existe déjà, ça serait été plus intéressant d'avoir l'autre solution (où on dessine tout). On aurait bien pu comparer les différences de performances...
Bidou, tout d'abord je n'ai pas spécialement voulu présenter une solution meilleure que la tienne... Et j'ai bien dis dans mon commentaire que la solution choisie pour représenter les cases étaient une mauvaise solution, car très lente. Ensuite en effet tout est dans Form1 car je l'ai fait un peu à l'arrache... mea culpa.
Mais peut-être que j'ai mal compris le but du forum: si lorsqu'on propose un code il faut qu'il soit meilleur que les codes existants, alors en effet je n'aurais pas du le poster.
Dans ce cas je l'enleverrai y'a pas de problème.
De toute façon je repette ce que j'ai mis dans mon commentaire:
"Pour les débutants ça peut aider à ce faire une idée de C#, pour les confirmés... passez votre tour y'a rien à voir"
Dans mon démineur (http://www.csharpfr.com/codes/DEMINEUR-MINESWEEPER/29917.aspx) je créer effectivement un nouveau Control qui dérive de Button pour créer mon damier. C'est une solution assez simple, mais plutôt lente étant donné qu'il faut construire beaucoup de Control (plusieurs centaines pour le mode Expert, ce qui prend qqe secondes pour la génération).
Dans ton démineur, tu fais pratiquement la même chose que moi, étant donné que tu remplis un tableau de Button (en fait, une ArrayList). C'est d'ailleurs pour cette raison que la génération du mode expert est lente comme chez moi. La solution que tu proposes n'est donc pas meilleure (peut-être moins bonne, parce que le code est un peu moins bien structuré (tout est dans Form1))
Ce qu'il aurait fallut faire, et c'est ce que je propose d'ailleurs dans les remarques de mon code, c'est de tout dessiner manuellement le damier, sans utiliser de Control. C'est bien sûr plus compliqué, mais certainement bien plus rapide...
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.