begin process at 2012 02 11 09:19:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Jeux

 > SUKUDO SOLVER AVEC DES CASES PRÉREMPLIES

SUKUDO SOLVER AVEC DES CASES PRÉREMPLIES


 Information sur la source

Note :
3,25 / 10 - par 4 personnes
3,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Jeux Classé sous :sukudo, jeux, processmessages Niveau :Débutant Date de création :11/03/2007 Vu / téléchargé :7 720 / 415

Auteur : mihoubi3333

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

logiciel permet de trouver au moins une solution possible pour le jeu japonais sukudo avec des cases préremplées



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   sukudo solver

Télécharger le zip


 Sources du même auteur

Source avec Zip FILTRAGE MULTIPLE D'UNE BASE DE DONNEES A PLUSIEURS COLONNES...
Source avec Zip EQUATION
Source avec Zip ARRAWI : APPRENDRE L'ALPHABET ARABE EN IMAGE ET EN SON

 Sources de la même categorie

Source avec Zip JEU DE MOT MOTUS par philouchess
Source avec Zip Source avec une capture [LAZARUS] JEUX/LABYRINTHE : GENERATION ET RÉSOLUTION par timmalos
Source avec Zip Source avec une capture RUBIK'S CUBE par barbichette
Source avec Zip RUMMIKUB DES CHIFFRES CONTRE ORDINATEUR par Toidil
Source avec Zip Source avec une capture JEU D'ÉCHEC MAZETTE par ADMR

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture KINECT TEST V3 JOEUR A ALEX KIDD AVEC VOTRE KINECT par FFCAST
Source avec Zip Source avec une capture A PROPOS DE LABYRINTHE 2 par Debiars
Source avec Zip A PROPOS DE LABYRINTHE par Debiars
Source avec Zip Source avec une capture PETIT JEU "D'AVION" par flagada
Source avec Zip Source avec une capture CHRONOS V1.0.0 par Christophe67

Commentaires et avis

Commentaire de John Dogget le 12/03/2007 18:52:19

Le sukudo, ça existe pas, le sudoku par contre ...
Ensuite, à 2/3 bidouilles près, c'est exactement la même source que celle qui a été retiré du site.

Donc c'est toujours aussi maladroit :
- boucle à n'en plus finir
- structure de données pas adaptés
- l'ecriture du code n'est pas regulière

Il faudrait (simple conseil) :
- étudier mieux tes algos pour eviter d'utiliser des "goto" ou des boucles sur 20 lignes
- choisir des structures de données adaptés à ce que tu fais, dans ce cas l'utilisation de tableaux  serait judicieuse (ça evite d'avoir des tonnes de variables, ça simplifie l'écriture du code etc)
- tu dois absolument te trouver une manière d'ecrire ton code proprement et regulièrement, si tu décides par exemple de l'indenter, tu devra le faire sur toute ta source et pas sur deux lignes

Commentaire de f0xi le 12/03/2007 21:34:34 administrateur CS

tu devrait commencer ici :

borland delphi style guide, ou tu vas apprendre a ecrire ton code correctement :

http://dn.codegear.com/article/10280

pour le reste, je ne saurai que trop te conseiller d'etudier d'autres sources, de lire des exemples, de faire des recherches sur le net pour apprendre les mecanismes et algorithmes.

deja, on peu voir que tu t'as totalement mis a coté de la plaque, puisqu'a aucun moment
on ne vois ceci :

TSudoku = array[0..8,0..8] of ...

qui est la base meme d'un jeu de sudoku (une grille 9,9)

ensuite, il est interdit de placer un goto dans une boucle qui renvois a l'exterieur de cette boucle. c'est inconcevable de voir cela.

de plus, 51 variables c'est trop! tableau tableau tableau et tableau!
plus simple a manipuler, plus propre.

logiquement un sudoku se presente donc comme cela :

{ la grille de sudoku }
type
  TSudoku = array[0..8,0..8] of byte;


{ notre grille de jeu }
var
  Sdk : TSudoku;


{ des grilles pour verifier le bon fonctionnement de nos fonctions de test }
const
  { Convertion du boolean }
  BTC : array[boolean] of string = ('La grille est fausse','La grille est bonne');

  { Grille de test bonne }
  SdkCheckTestTrue : TSudoku  = ((1,2,3,4,5,6,7,8,9),
                                 (7,8,9,1,2,3,4,5,6),
                                 (4,5,6,7,8,9,1,2,3),
                                 (9,1,2,3,4,5,6,7,8),
                                 (6,7,8,9,1,2,3,4,5),
                                 (3,4,5,6,7,8,9,1,2),
                                 (8,9,1,2,3,4,5,6,7),
                                 (5,6,7,8,9,1,2,3,4),
                                 (2,3,4,5,6,7,8,9,1));
  { Grille de test fausse }
  SdkCheckTestFalse : TSudoku = ((1,2,3,4,5,6,7,8,9),
                                 (9,1,2,3,4,5,6,7,8),
                                 (8,9,1,2,3,4,5,6,7),
                                 (7,8,9,1,2,3,4,5,6),
                                 (6,7,8,9,1,2,3,4,5),
                                 (5,6,7,8,9,1,2,3,4),
                                 (4,5,6,7,8,9,1,2,3),
                                 (3,4,5,6,7,8,9,1,2),
                                 (2,3,4,5,6,7,8,9,1));

                            
{ verifie que la ligne a l'index donné comporte bien 1 a 9 sans doublons }
function CheckRow(const Sudoku : TSudoku; const index : integer) : boolean;
var N : integer;
    S : set of byte;
begin
  S := [];
  result := true;
  for N := 0 to 8 do
  begin
    result := result and (not (Sudoku[index,N] in S));
    if result then
       S := S + [Sudoku[index,N]]
    else
       exit;
  end;
end;

{ verifie que la colone a l'index donné comporte bien 1 a 9 sans doublons }
function CheckCol(const Sudoku : TSudoku; const index : integer) : boolean;
var N : integer;
    S : set of byte;
begin
  S := [];
  result := true;
  for N := 0 to 8 do
  begin
    result := result and (not (Sudoku[N,Index] in S));
    if result then
       S := S + [Sudoku[N,Index]]
    else
       exit;
  end;
end;

{ verifie que le bloc 3,3 a l'index donné comporte bien 1 a 9 sans doublons }
function CheckCub(const Sudoku : TSudoku; const index : integer) : boolean;
var X,Y : integer;
    S : set of byte;
const
  ITX : array[0..8] of byte = (0,3,6,0,3,6,0,3,6);
  ITY : array[0..8] of byte = (0,0,0,3,3,3,6,6,6);
begin
  S := [];
  result := true;
  for Y := ITY[Index] to ITY[Index]+2 do
      for X := ITX[Index] to ITX[Index]+2 do
      begin
        result := result and (not (Sudoku[Y,X] in S));
        if result then
           S := S + [Sudoku[Y,X]]
        else
           exit;
      end;
end;

{ Test des fonction avec la grille bonne }
procedure TForm1.Button1Click(Sender: TObject);
var N : integer;
    B : boolean;
begin
  B := true;
  for N := 0 to 8 do
  begin
    B := B and CheckCol(SdkCheckTestTrue,N)
           and CheckRow(SdkCheckTestTrue,N)
           and CheckCub(SdkCheckTestTrue,N);
    if not B then
       break;
  end;
  Button1.Caption := BTC[B];
end;

{ test des fonction avec la grille fausse }
procedure TForm1.Button2Click(Sender: TObject);
var N : integer;
    B : boolean;
begin
  B := true;
  for N := 0 to 8 do
  begin
    B := B and CheckCol(SdkCheckTestFalse,N)
           and CheckRow(SdkCheckTestFalse,N)
           and CheckCub(SdkCheckTestFalse,N);
    if not B then
       break;
  end;
  Button2.Caption := BTC[B];
end;


voila comment doit fonctionner un sudoku ...

Commentaire de Nicolas___ le 12/03/2007 23:37:45

hé bien voila le voila notre sudoku , merci Foxi ;)

hé mihoubi ctrl+c, ctrl+v :)

Ciao

Commentaire de Lassal le 14/03/2007 09:58:03

Que de variable... Pas super optimisé tout celà.
Et l'indentation, au secours.
Faudrait voir à faire un effort quand même par respect pour ceux qui regardent les sources.
Un minimum de commentaires, une indentation lisible.
Après en ce qui concerne le code, il y a pas mal de chose à faire pour faire un truc plus propre, mais justement ce site est aussi là pour ça, donc pas de souci de ce côté là.

Mais s'il te plait, fais un effort pour diffuser des sources plus lisible car c'est nawak là.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Jeux du type serpent... [ par g0belin ] Ben voila, je souhaiterai faire un jeu comme le serpent du Nokia (principe simple bouffe souris=grandis)mais je ne sais pas comment faire le serpent e Debugger et jeux récent! [ par Don0Choa ] Bonjour, voila j'ai voulu installer 2 jeux tres réssent(Mafia et Age OfEmpre qui ne sort que le mois prochain) , mais apres l'installation, lorsque je Conseil pour Moteur 3D [ par dami ] Bonjour a tous .Je développe actuellement un jeux de stratégie 3D temps réel. J'ai décidé d'importer les objects via un loader 3ds que j'ai fais, je l Saut, jeux [ par lan0sic ] Bonjour,J'aimerait fair bouger une image, comme si c'etait un type qui saute. (donc l'image doit monter et redecendre). Eseque quelqu'un pourrait m'ai Scanner serveurs de jeux [ par Tagada ] Bonjour,je souhaiterai réaliser un scanner de serveurs de jeux online, plus particulièrement pour quake3. Je n'ai malheureusement rien trouvé d'intere jeux de voiture [ par DJFBY ] Bonjour à tous,Je cherche quelqu'un qui puisse m'expliquer comment gérer le son d'une accélération de voiture par un petit programme en C pour un jeux gestion souris, clavier, dans des jeux PC [ par juda13 ] salutje suis une vrai noob en delphi, mais la gestion des periph avait l'air simple alor sje m'y met :)je voudrait simuler des click souris et clavier JEUX : controle de la caméra [ par fryser_d ] Bonjour !Je suis présentement dans un projet de jeu video 2d, programmé en Delphi/Pascal. Mais j'ai un petit probleme: je sais pas quelles approches f pb de timer [ par exyacc ] voila le pb...j'utilise un timer et fais une boucle de 90000 pour simuler un traitement quelconque (genre requete,etc.), le timer me sert a faire avan vendre un logiciel [ par djfeeler2 ] Je voudrais créer un jeux sous delhi. Si ce jeux plaît est-ce j'aurais le droit de le vendre ???


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales