Aller au menu - Aller au contenu
> Le Site du Zéro > Les concours > C++ > Voir un concours

Fiche du concours

Le Sudoku : des nombres en folie !

Participer

Accéder au forum du concours
Voir les participations (46)

Début du concours : Le 26/06/2008 à 00h01 (GMT+1)
Fin des inscriptions : Le 15/07/2008 à 23h59 (GMT+1)
Fin du concours : Le 31/07/2008 à 23h59 (GMT+1)

Taille des équipes : Jusqu'à 2 membres
Type de concours : Dépôt d'oeuvres avec notation

Interface graphique : 10 points
Vérification de la grille : 8 points
Lisibilité du code : 6 points
Aide à l'utilisateur : 2 points
Lecture de la grille dans un fichier : 4 points
Génération aléatoire de la grille : 4 points
Résolution automatique de la grille : 6 points
Ce concours est terminé. Vous trouverez le classement un peu plus bas sur cette page.
Vous pouvez télécharger les codes source de chacun des projets. Attention, il faut compiler les projets pour les tester. Si vous ne programmez pas et que vous n'avez pas l'habitude, jetez un oeil à ce sujet du forum qui vous propose des programmes prêts à l'emploi pour certains des projets.


Bonjour et bienvenue à tous pour cette première édition des concours du Site du Zéro ! :)

Les concours sont une nouvelle façon attrayante de pratiquer ce que vous avez appris en lisant les tutoriels du site. Vous pouvez travailler seul ou en équipe, tout dépendra du concours et des limites qui y seront fixées.
L'objectif est avant tout de s'amuser et d'acquérir de l'expérience. Certains concours seront primés (il y aura des lots pour les meilleurs), d'autres comme celui-ci se feront juste pour le plaisir de participer.


Ce premier concours est un concours C++ faisant appel à la bibliothèque Qt, pour faire écho aux nombreux chapitres récemment parus dans le tutoriel C++.


Les règles du Sudoku



C'est un jeu à la mode dont vous avez forcément entendu parler. Il consiste à remplir des cases par des chiffres de 1 à 9... mais pas n'importe comment. Prenons cet exemple, tiré de Wikipédia :

Sudoku


Certaines cases sont déjà remplies. Le but du jeu est de trouver les chiffres manquants sur les cases vides. Les règles sont simples :

  • Sur chaque ligne, il doit y avoir tous les chiffres de 1 à 9.
  • Sur chaque colonne, il doit y avoir tous les chiffres de 1 à 9.
  • Dans chaque carré de 3x3 cases, il doit y avoir tous les chiffres de 1 à 9.

Une fois résolu, le sudoku précédent ressemble à ceci :

Sudoku


Regardez bien : chaque ligne comporte tous les chiffres de 1 à 9, pareil pour chaque colonne, pareil pour chaque carré de 3x3 cases.
Vous trouverez plus d'informations et de conseils sur l'article de Wikipédia.


Ce que vous devez programmer



L'objectif de ce concours est de programmer un jeu de Sudoku en C++ avec une interface graphique en Qt. Vous ne devrez pas hésiter à consulter à nouveau le cours de C++, mais aussi la doc de Qt au besoin.

Ce concours consiste avant tout à réaliser la partie graphique (le GUI), un nombre important de points étant basés dessus.
Il propose aussi une partie algorithmique pour ceux qui veulent aller plus loin et avoir plus de points (recommandé si vous avez du temps, mais pas obligatoire pour rendre votre travail).

Voici quelques exemples de programmes de Sudoku pour vous donner des idées :

Sudoku Sudoku Sudoku


Notez que tous les programmes présentés ci-dessus n'ont pas forcément été réalisés avec Qt, mais ils peuvent vous donner des idées pour réaliser une interface graphique originale.


Ce qui est obligatoire



  • Programmation en C++.
  • Utilisation de la bibliothèque Qt (Qt 4.4 recommandé).
  • Réalisation d'une interface graphique permettant de saisir des chiffres dans une grille, un seul chiffre par case.
  • Bouton "Vérifier !" permettant de dire à l'utilisateur si la grille est valide lorsque celle-ci est complète. Une grille valide doit respecter les règles du Sudoku décrites plus haut.

Ces critères obligatoires ne sont pas nombreux, ce qui permet à tout le monde de participer même avec un programme minimal.

Afin que ceux qui ont un meilleur niveau ne s'ennuient pas, plusieurs éléments facultatifs peuvent être ajoutés pour obtenir des points en plus.


Ce qui est facultatif...



...mais recommandé car cela peut vous rapporter des points en plus.

  • Aide à l'utilisateur affichant la liste des chiffres possibles pour la case actuellement sélectionnée.
  • Lecture d'une grille dans un fichier pouvant contenir plusieurs niveaux de Sudoku à remplir.
  • Génération aléatoire d'une grille.
  • Résolution automatique de la grille par l'ordinateur. Un algorithme de force brute (qui teste toutes les possibilités) peut être envisagé pour ceux qui veulent faire simple ou quand il n'y a pas d'autre choix, mais des techniques plus fines sont aussi possibles. Renseignez-vous. ;)


Organisation



Vous pouvez travailler seul ou par équipe de 2 pour ce concours, comme vous préférez. Le fait de travailler en équipe n'apporte ni bonus ni pénalité.
N'hésitez pas à poster sur le forum du concours si vous êtes bloqué ou si vous avez besoin de poster toute sorte de question.

Vous devrez rendre un fichier ZIP, avant la date de fin du concours, contenant uniquement les fichiers du code source permettant de compiler votre programme.

Ne mettez rien d'autre que les fichiers strictement nécessaires pour compiler votre projet : .cpp, .h, .pro, images, et éventuellement fichiers de traduction. Nous voulons juste avoir à faire qmake et make pour pouvoir tester votre programme.
Ne joignez pas de makefile. Ne joignez pas d'exécutable compilé. Ne joignez pas les DLL de Qt. La présence d'un fichier superflu sera sanctionnée.

Lorsque vous rendrez votre fichier ZIP, n'hésitez pas à donner une description complète de votre programme, en précisant ce que vous avez réussi à faire, ce que vous n'avez pas eu le temps de faire, ce qui vous a posé le plus de soucis... Bref autant de choses qui permettront au jury de mieux comprendre votre travail et d'en tenir compte éventuellement pour de futurs concours.

Ce concours n'est pas primé, vous participerez donc pour le plaisir et pour progresser !


Bon courage à tous !
N'oubliez pas, l'important c'est de participer ! :)



Participations

46 membres ont participé à ce concours

Page : Précédente  1  2 
Classement Note Participant Œuvre
17 9 / 20 NeoKript
Voir l'œuvre
Sudoku
18 8.5 / 20 viruz86
Voir l'œuvre
src sudoku
19 7.5 / 20 Carma001
Voir l'œuvre
SudoStar
20 7 / 20 djo0012
Voir l'œuvre
DjoDoku
20 7 / 20 tyty42
Voir l'œuvre
SuDoKu
21 6 / 20 Dominus
Voir l'œuvre
Sudoky
21 6 / 20 Ygard
Voir l'œuvre
ZSudoku
22 5.5 / 20 napsterhandball
Voir l'œuvre
Alien Sudoku
23 5 / 20 Lyrke
Voir l'œuvre
LXSudoku
24 4 / 20 alucard86
Voir l'œuvre
Red
25 3.5 / 20 GQMP
Voir l'œuvre
Sudoku
25 3.5 / 20 tintincocos
Voir l'œuvre
SuMania
26 2 / 20 goupil
Voir l'œuvre
sudoku
27 1.5 / 20 MisterDo
Voir l'œuvre
Sudoku by Me
27 1.5 / 20 secret055
Voir l'œuvre
ZSudoku-Challenge
28 1 / 20 rom1504
Voir l'œuvre
RSudoku
Page : Précédente  1  2