Défi Pascal n° 2 : un résolveur de grilles de Sudoku
Avec Lazarus
Le 2009-06-20 11:01:42, par Alcatîz, Responsable Pascal, Lazarus et Assembleur
Bonjour à toutes et à tous,
L'équipe Delphi vient de lancer son 5ème défi : un résolveur de grilles de Sudoku.
L'équipe Pascal vous propose cette année de lancer un défi... à Delphi, en participant également à ce défi mais en allant encore plus loin grâce à l'atout majeur de Lazarus : la compilation multi-plateforme.
Le but du défi sera donc de réaliser un résolveur de grilles de Sudoku pouvant compiler indifféremment pour Linux et Windows, voire même d'autres plateformes.
Le défi est ouvert à tous les membres du forum (si vous n'êtes pas encore membre et souhaitez participer, enregistrez-vous gratuitement).
Eventuellement, pour ceux qui ne maîtriseraient pas les règles du jeu, les voici brièvement : la grille de Sudoku est un carré de neuf cases de côté, subdivisé en autant de sous-grilles carrées identiques, appelées régions. Chaque ligne, colonne et région ne doit contenir qu’une seule fois tous les chiffres de 1 à 9. Formulé autrement, chacun de ces ensembles doit contenir tous les chiffres de 1 à 9. Précision : une vraie grille de Sudoku ne possède qu'une et une seule solution.
(image provenant de Wikipedia)
Vous disposez d'un peu plus de quatre mois pour peaufiner votre programme, soit jusqu'au 31 décembre 2009.
La cotation prendra en compte tous les aspects : le respect du cahier des charges, le look du logiciel, l'originalité, mais aussi la qualité du code (élégance des solutions choisies, découpage en modules, choix des algorithmes, optimisation, etc), la qualité du source (indentation, choix des identificateurs, qualité des commentaires, etc).
Un classement sera réalisé sur base des cotations. Le vainqueur pourra faire partie du jury du défi suivant (sauf, bien sûr, s'il décide de concourir) !
Les sources des meilleurs candidats seront publiés dans la rubrique Sources.
Voici le règlement complet du défi :
Cahier des charges :
Une grille stockée dans un fichier texte aura le format suivant :
(une ligne de la grille = une ligne du fichier, les 0 étant des cases vides).
Dates :
Les sources pourront être envoyés à Alcatîz jusqu'au 31-12-2009.
Au fur et à mesure de la réception des sources, la liste des participants sera mise à jour à la suite de ce message.
Surtout ne postez pas vos sources sur le forum.
Cotation :
Publication des résultats :
Dans le courant du mois de janvier 2010.
Bonne chance à tous les participants !
Liste des participants inscrits :
(dans l'ordre d'inscription)
darrylsite
Le Seynois
dimanche2003
Ludelphi7
Résultats :
Allez, faisons encore durer un peu le suspense le temps d'un clic de souris !
Les résultats sont ici : http://www.developpez.net/forums/m4934763-84/
Félicitations au vainqueur !
L'équipe Delphi vient de lancer son 5ème défi : un résolveur de grilles de Sudoku.
L'équipe Pascal vous propose cette année de lancer un défi... à Delphi, en participant également à ce défi mais en allant encore plus loin grâce à l'atout majeur de Lazarus : la compilation multi-plateforme.
Le but du défi sera donc de réaliser un résolveur de grilles de Sudoku pouvant compiler indifféremment pour Linux et Windows, voire même d'autres plateformes.
Le défi est ouvert à tous les membres du forum (si vous n'êtes pas encore membre et souhaitez participer, enregistrez-vous gratuitement).
Eventuellement, pour ceux qui ne maîtriseraient pas les règles du jeu, les voici brièvement : la grille de Sudoku est un carré de neuf cases de côté, subdivisé en autant de sous-grilles carrées identiques, appelées régions. Chaque ligne, colonne et région ne doit contenir qu’une seule fois tous les chiffres de 1 à 9. Formulé autrement, chacun de ces ensembles doit contenir tous les chiffres de 1 à 9. Précision : une vraie grille de Sudoku ne possède qu'une et une seule solution.
(image provenant de Wikipedia)
Vous disposez d'un peu plus de quatre mois pour peaufiner votre programme, soit jusqu'au 31 décembre 2009.
La cotation prendra en compte tous les aspects : le respect du cahier des charges, le look du logiciel, l'originalité, mais aussi la qualité du code (élégance des solutions choisies, découpage en modules, choix des algorithmes, optimisation, etc), la qualité du source (indentation, choix des identificateurs, qualité des commentaires, etc).
Un classement sera réalisé sur base des cotations. Le vainqueur pourra faire partie du jury du défi suivant (sauf, bien sûr, s'il décide de concourir) !
Les sources des meilleurs candidats seront publiés dans la rubrique Sources.
Voici le règlement complet du défi :
Cahier des charges :
- Réaliser un résolveur de grilles de Sudoku, qui charge une grille stockée dans un fichier ou composée par l'utilisateur, l'affiche et la résoud à la demande de l'utilisateur (et affiche bien entendu le résultat
); - Compilable pour Windows et Linux au minimum;
- Avec Lazarus;
- Sans restriction de choix des composants.
Une grille stockée dans un fichier texte aura le format suivant :
Code : |
1 2 3 4 5 6 7 8 9 | 160000009 000008005 007050600 020903000 009060400 000504090 004070900 500800000 900000063 |
Dates :
Les sources pourront être envoyés à Alcatîz jusqu'au 31-12-2009.
Au fur et à mesure de la réception des sources, la liste des participants sera mise à jour à la suite de ce message.
Surtout ne postez pas vos sources sur le forum.
Cotation :
- Respect du cahier des charges : 5 points;
- Qualité du code exécutable (principalement la performance du solveur : rapidité, capacité à résoudre des grilles difficiles) : 7 points;
- Qualité du source : 4 points;
- Look, ergonomie, originalité, créativité : 4 points.
Publication des résultats :
Dans le courant du mois de janvier 2010.
Bonne chance à tous les participants !
Liste des participants inscrits :
(dans l'ordre d'inscription)
darrylsite
Le Seynois
dimanche2003
Ludelphi7
Résultats :
Allez, faisons encore durer un peu le suspense le temps d'un clic de souris !
Les résultats sont ici : http://www.developpez.net/forums/m4934763-84/
Félicitations au vainqueur !
-
darrylsiteRédacteurSalut,
Avant de me lancer dans la programmation de mon résolveur de grille de sudoku, j'aimerais savoir si on doit faire une application GUI ou console vu que c'est pas spécifier dans le post.
Si le choix appartient au participant, j'opterais pour le GUI; mais la question est si une application console sera jugée sur la meme base qu'une application GUI.
Aussi, j'aimerais bien savoir si, on peut programmer en multithread ou doit-on faire seulement du mono-thread.
Voilà quelques eclaircissement que j'aimerais avoir avant de commencer à coder ce résolveur de grille de sudoku que je trouve déjà passionnantle 30/07/2009 à 17:33 -
AlcatîzResponsable Pascal, Lazarus et AssembleurBonjour,
Pour rivaliser avec les Delphistes, à performances égales une application GUI aura de meilleures chances. Monothread, multithread... tu peux t'éclater, il n'y a pas de restriction de composants du moment que le source puisse compiler pour au moins deux plateformes. Et vu ton projet du 1er défi, nous savons déjà que nous pouvons nous attendre à ce que tu sortes des sentiers battus !le 30/07/2009 à 19:14 -
darrylsiteRédacteurJ'annonce donc officiellement ma participation à ce défi.
J'espère que nous serions nombreux, à faire cette course de vitesse; Qui sera plus rapide que la lumière?le 30/07/2009 à 20:04 -
AlcatîzResponsable Pascal, Lazarus et Assembleurle 30/07/2009 à 20:18
-
darrylsiteRédacteurJ'ai fait un tour chez nos amis les delphistes, je trouve qu'ils sont bien dynamique et en avance
En fait il y a d'intéressantes ressources dans leurs postes, des liens vers des méthodes de résolution, des conseils et pleins d'autres trucs.
Pour ceux qui veulent participer à ce concours se sera bien d'y jeter un œil.
le lien :delphi.le 12/08/2009 à 20:11 -
mick605Membre chevronnéSalut !
Je suis un Delphiste aussi ! Je m'étonne du peu de gens qui participent au defi pascal ... En effet, sur le defi delphi, ya bcp de monde et de posts ! Je vous invite donc a aller faire un tour du cote de ce forum ... Combien de personne participent a ce défi chez vous ??
Mick605le 24/08/2009 à 20:03 -
AlcatîzResponsable Pascal, Lazarus et AssembleurIl faut prendre en compte le fait que le délai pour le présent défi court jusqu'au 31 octobre, les candidats ont encore tout le temps de se manifester.le 25/08/2009 à 7:10
-
FullSpeedInactifBonjour a mes amis Pascalien
Je participe au defit N° 5 pour un solveur Sudoku
Depuis pas mal de temps je m'interroge sur Lazarus:
Je viens et suis toujours un fana des Mac
Alors j'ai des démangeaisons
Peut-on s'inscrire aux deux defits:
une version Delphi et une Pascal?
L'esprit sur Delphi est tres 'compétition': on garde pour soi
Je viendrais sur Lazarus seulement si on supporte un peu le débutant sans avoir peur qu'il vous pille vos idees.
J'aime bien le barème: on sait où on va...
Jérômele 25/08/2009 à 8:58 -
AlcatîzResponsable Pascal, Lazarus et AssembleurRien n'empêche bien sûr de participer aux deux défis !
Le portage de Delphi vers Lazarus est tout-à-fait possible moyennant quelques adaptations.le 25/08/2009 à 9:08 -
darrylsiteRédacteurOui, j'ai remarqué ça
Je viendrais sur Lazarus seulement si on supporte un peu le débutant sans avoir peur qu'il vous pille vos idees.
J'aime bien le barème: on sait où on va...
le 25/08/2009 à 13:45