Un petit demineur en c# avec visual studio 2005

Soyez le premier à donner votre avis sur cette source.

Vue 17 515 fois - Téléchargée 2 234 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

Messages postés
1
Date d'inscription
samedi 28 octobre 2006
Statut
Membre
Dernière intervention
26 novembre 2006

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
Messages postés
26
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
27 juillet 2006

Bonne idée .
C'est trés utile pour les débutants comme moi!
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
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...
Messages postés
1
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
27 avril 2006

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"
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
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.