Un petit demineur en c# avec visual studio 2005

1/5 (5 avis)

Vue 18 556 fois - Téléchargée 2 335 fois

Description

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.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Flippa Messages postés 1 Date d'inscription samedi 28 octobre 2006 Statut Membre Dernière intervention 26 novembre 2006
26 nov. 2006 à 15:25
Hello !
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
cs_kamalz Messages postés 26 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 27 juillet 2006
20 mai 2006 à 16:52
Bonne idée .
C'est trés utile pour les débutants comme moi!
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 59
27 avril 2006 à 13:28
Non pas du tout!
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...
cs_Viden Messages postés 1 Date d'inscription jeudi 20 avril 2006 Statut Membre Dernière intervention 27 avril 2006
27 avril 2006 à 12:48
Hello,

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"
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 59
27 avril 2006 à 09:51
Hello,
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.