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 : | Sélectionner tout |
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 !