Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Concours > Le Sudoku : des nombres en folie ! > Le Sudoku : des nombres en folie ! > Lecture du sujet

Le Sudoku : des nombres en folie !

Vous devez être inscrit pour pouvoir poster des messages

Page : 1  2  3  Suivante
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1  2  3  Suivante
Hors ligne M@teo21 # Posté le 26/06/2008 à 11:52:45
Doh ! Nuts. Mmh, donuts !
Avatar
Admins



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 ! :)

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne cyril5789 # Posté le 26/06/2008 à 12:40:55
Avatar
Groupe : Membres
Excellente idée !! Faudrais que je finisse d'apprendre le c++ ! ça sera pour une prochaine fois ;)

Optimiser Internet Explorer ?
Installez Mozilla firefox ;)

Lat : 19°56'56.95"S
Lon : 69°38'2.17"O
Image utilisateur
 
Hors ligne FeNiX57 # Posté le 26/06/2008 à 13:30:06
Euh ^^
Avatar
Groupe : Membres
Citation : cyril5789
Excellente idée !! Faudrais que je finisse d'apprendre le c++ ! ça sera pour une prochaine fois ;)


Idem pour m'a part.
Pour le moment je bosse sur le ZeroClassGenerator .
On verras plus tard pour les concours.

Qui se couche avec le cul qui gratte se réveille avec le doigt qui pue! :p
[Big-Tuto]Organiser sa Lan'party ainsi que le topic qui vas avec!
Soutenez nous pour que ce tutoriel devienne un officiel sur ce poste.
Vous avez comme projet de créer une Lan? Alors poster le ici!
 
Hors ligne Ga3L # Posté le 26/06/2008 à 13:56:52
Il fais beau à Nancy :
Avatar
Groupe : Membres
Une très bonne idée ce concours :)
Hors ligne Natim # Posté le 26/06/2008 à 14:01:30
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Citation : Ga3L
Une très bonne idée ce concours :)


Merci :D

Ce que je trouvais bien dans cette idée, c'est le fait que l'on puisse participer quelque soit son niveau et surtout se faire plaisir quelque soit son niveau.

Si on est débutant : Une simple interface jouable suffit.
Si on est amateur, on peut s'amuser à faire le solveur, améliorer l'interface ...
Et si on veut vraiment se creuser la tête, on peut se pencher sur la génération de grille. (Chose que très peu de logiciels peuvent faire correctement)

Image utilisateur
 
Hors ligne Buzger # Posté le 26/06/2008 à 14:09:39
Avatar
Groupe : Membres
Juste pour info : il y'a écrit "le règles du Sudoku"
Voila, rien de très important, juste à titre informatif ^^

EDIT : c'est corrigé.
Édité le 26/06/2008 à 14:19:05 par Buzger

Image utilisateur
 
Hors ligne souls killer # Posté le 26/06/2008 à 14:34:27
I have a dream, today !!
Avatar
Groupe : Membres
Citation : Natim
Citation : Ga3L
Une très bonne idée ce concours :)


Merci :D

Ce que je trouvais bien dans cette idée, c'est le fait que l'on puisse participer quelque soit son niveau et surtout se faire plaisir quelque soit son niveau.

Si on est débutant : Une simple interface jouable suffit.
Si on est amateur, on peut s'amuser à faire le solveur, améliorer l'interface ...
Et si on veut vraiment se creuser la tête, on peut se pencher sur la génération de grille. (Chose que très peu de logiciels peuvent faire correctement)


Oui, mais après rien n'empêchera de mettre en place des concours vraiment poussés pour les codeurs expérimentés, ou à l'inverse des concours plus simples (par exemple, en console) pour les débutants. ;)

"Qui mange du boeuf... Mange du boeuf
Qui mange du porc... N'est pas musulman"
:D
Rédigez vos news !! | le Manuel du Zér0 | Rédigez des Cahiers des Charges pour vos projets, organisez-vous ![En refonte] | Perdu sur le Web ?
 
Hors ligne necix # Posté le 26/06/2008 à 14:39:55
Il faut vivre pour manger,non?
Avatar
Groupe : Membres
Salut, moi je mes suis inscrit.
Bonne chance à tous et que le meilleur gagne.

Mes projets:

Création d'une calculatrice ==> 100%
Création d'un chat ==> 100%
Création d'un logiciel permettant la gestion des livres empruntés => 100%
Amélioration de ZeroClassGenerator ==> 100%
Création d'une librairie C/C++ permettant d'utiliser des fonctionnalités du langage assembleur ==> 5%
 
Hors ligne Bachir ElMagnifico # Posté le 26/06/2008 à 15:19:14
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
je n'ai pas encore saisi tou l'enoncé: le programme doit pourvoir generer des grilles aleatoires, ou les lire dans un fichier? oubien les deux oO

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne Natim # Posté le 26/06/2008 à 15:23:41
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Citation : Bachir ElMagnifico
je n'ai pas encore saisi tou l'enoncé: le programme doit pourvoir generer des grilles aleatoires, ou les lire dans un fichier? oubien les deux oO


Il doit juste permettre de jouer dans un premier temps (c'est à dire vérifier qu'un placement est possible selon les règles du Sudoku).

Ensuite, tu peux faire tous les ajouts "bonus" que tu veux.

Image utilisateur
 
Hors ligne Bachir ElMagnifico # Posté le 26/06/2008 à 15:29:17
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
ok, mais je trouve qu'il manque quelque chose aux criteres desotes, il faut donner 10 points minimum pour la creativité de l'auteur, par exemple la coloration des cases, pouvoir sauvegarder/charger la partie ...
comme ça on aura a la fi des programmes differents et une experience enrichissante

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne Natim # Posté le 26/06/2008 à 15:33:30
Apprendre à coder c'est coder
Avatar
Groupe : Membres
Citation : Bachir ElMagnifico
ok, mais je trouve qu'il manque quelque chose aux criteres desotes, il faut donner 10 points minimum pour la creativité de l'auteur, par exemple la coloration des cases, pouvoir sauvegarder/charger la partie ...
comme ça on aura a la fi des programmes differents et une experience enrichissante


C'est ce que l'on trouve dans le critère interface graphique.
Dans tous les cas l'originalité sera prise en compte et un programme qui transcende tout ça se remarque. :)

Image utilisateur
 
Hors ligne Bachir ElMagnifico # Posté le 26/06/2008 à 15:36:23
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
autrechose aussi, je trouve domage de commencer par l'interface graphique :(
une solution plus correcteserait de travailler dans u premier temps en console, et puis si tout marche bien(l'algorithme est juste et tout), on pense a l'interface graphique :)

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne M@teo21 # Posté le 26/06/2008 à 16:49:55
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Rien ne t'empêche de t'organiser comme ça si tu prévois de faire aussi les algos avancés demandés.

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne souls killer # Posté le 26/06/2008 à 17:38:58
I have a dream, today !!
Avatar
Groupe : Membres
Autre chose : les codes, une fois terminés, seront-ils publiés, ou ce sera au choix des codeurs ?

"Qui mange du boeuf... Mange du boeuf
Qui mange du porc... N'est pas musulman"
:D
Rédigez vos news !! | le Manuel du Zér0 | Rédigez des Cahiers des Charges pour vos projets, organisez-vous ![En refonte] | Perdu sur le Web ?
 
Hors ligne Inuk # Posté le 26/06/2008 à 19:44:35
Avatar
Groupe : Membres
Les programmes devront marcher sur quel OS?

Image utilisateur



















 
Hors ligne M@teo21 # Posté le 26/06/2008 à 20:07:21
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Oui, les codes seront publiés en effet, ça me paraissait évident mais puisque tu poses la question :D

Les programmes devront marcher sur n'importe quel OS sur lequel Qt fonctionne.

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne Bachir ElMagnifico # Posté le 26/06/2008 à 20:11:20
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
y compris la PS3 :D

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne Inuk # Posté le 26/06/2008 à 20:14:16
Avatar
Groupe : Membres
Citation : M@teo21
Oui, les codes seront publiés en effet, ça me paraissait évident mais puisque tu poses la question :D

Les programmes devront marcher sur n'importe quel OS sur lequel Qt fonctionne.


Pour quelqu un qui ne conait pas QT ni le C++ non :) .

Image utilisateur



















 
Hors ligne Bachir ElMagnifico # Posté le 26/06/2008 à 20:58:55
http://info-crea.tuxfamily.org
Avatar
Groupe : Membres
ùma question est peut etre debile, mais comment peut on soumettre notre oeuvre? et est ce qu'on peut la modifier apres?

Image utilisateur
cherche des partenaires - page de contact.
mon tuto sur OgreNewt: partie 1, partie 2, partie 3, partie 4
 
Hors ligne M@teo21 # Posté le 26/06/2008 à 21:14:51
Doh ! Nuts. Mmh, donuts !
Avatar
Admins
Dans la page de ton oeuvre, tu as un lien pour uploader le fichier zip de ton projet. Tu peux mettre à jour jusqu'à la date de fin du concours.

En cas d'égalité, celui qui a rendu le plus tôt le projet l'emporte. Si tu mets à jour ton projet, c'est la dernière date de rendu qui sera prise en compte.

Ce qui se conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Nicolas Boileau (je suis fan)
Suivez l'aventure du SdZ et de Simple IT sur notre blog !
 
Hors ligne Vincordi # Posté le 26/06/2008 à 22:38:03
PhpMan `
Avatar
Groupe : Membres
On a le droit de le faire en PHP? :-° Ou alors je le fais pour le fun :) . Ou alors je fais un mini navigateur en Qt pour l'affichage et je fais le sudoku en PHP dedans :-° .
Édité le 26/06/2008 à 22:41:50 par Vincordi
Hors ligne Cyprien_ # Posté le 26/06/2008 à 22:40:07
Le Monde d'Akhiris
Avatar
Groupe : Membres
Citation : Concours
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++.


Je sais pas pourquoi, mais ça me paraissait relativement clair à moi :p .
Édité le 26/06/2008 à 22:41:48 par Cyprien_

Un jeu online novateur ?
Le Monde d'Akhiris !
 
Hors ligne wilo # Posté le 26/06/2008 à 22:41:18
Semper Parati ! >)(<
Avatar
Groupe : Membres
Citation : Vincordi
On a le droit de le faire en PHP? :-° Ou alors je le fais pour le fun :) .

non, malheureusement : :(
Citation : M@teo21

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.
Édité le 26/06/2008 à 22:42:05 par wilo

"Fais de ta vie un rêve et de ton rêve une réalité"
Antoine de Saint-Exupéry
 
Hors ligne Vincordi # Posté le 26/06/2008 à 22:44:57
PhpMan `
Avatar
Groupe : Membres
Citation : wilo
Citation : Vincordi
On a le droit de le faire en PHP? :-° Ou alors je le fais pour le fun :) .

non, malheureusement : :(
Citation : M@teo21

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.


Ou alrs un mini navigateur en C++/Qt qui affiche une page web :-° .... en PHP :)
Bof, pas grave, j'attendrais le prochain concours :) .
Édité le 26/06/2008 à 22:45:28 par Vincordi
Hors ligne shadosan # Posté le 26/06/2008 à 22:57:29
Avatar
Groupe : Membres
Hors ligne Cyprien_ # Posté le 26/06/2008 à 23:00:23
Le Monde d'Akhiris
Avatar
Groupe : Membres
Tant qu'à faire, un mini-navigateur qui affiche une page web déjà existante sur les sudokus :lol:

Pas mal l'idée ^^

Un jeu online novateur ?
Le Monde d'Akhiris !
 
Hors ligne At1x # Posté le 26/06/2008 à 23:41:51
The Cake Is A Lie !
Avatar
Groupe : Membres
Ouai enfin navigateur en c++ qui affiche ton script php faut pas non plus oublier le serveur php et apache hein :-°

En tout cas je m'inscris pour le fun, sa fait longtemps que j'ai pas fait de c++ (je bosse sur le site de mon père en ce moment et sa me prend pas mal de temps =/)
Édité le 26/06/2008 à 23:42:51 par At1x
Hors ligne Karlitos_sf # Posté le 27/06/2008 à 02:43:14
Avatar
Groupe : Membres
Bonjour, dans le critère "Lisibilité du code" est-ce que les commentaires sont comptés dedans?

Le premier wiki fantasy: Les Profondeurs de la Magie
 
Hors ligne Moumoute # Posté le 27/06/2008 à 09:18:01
Niark !
Avatar
Groupe : Membres
Ca faisait deux jours que j'étais en train de réfléchir à un algo de génération de sudokus :)

Je ne pense pas participer au concours car je ne suis vraiment pas calé sur Qt, mais pourrai-je vous envoyer mon projet quand il sera terminé pour que vous me donniez des conseils? (si vous avez le temps évidemment)

:D Le sportif intelligent évite l'effort inutile :D
 

Retour au forum "Le Sudoku : des nombres en folie !" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 419 Zéros connectés | Requêtes SQL 7 requêtes | Temps de génération de la page : Total (SQL) 0.0405s (0.0153s)