begin process at 2012 05 27 20:39:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Sudoku


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sudoku

lundi 5 juin 2006 à 18:15:20 | Sudoku

EvO_blue

 Bonjour, j'espère ne pas me tromper en postant ça ici ^^
Voilà, j'essaye de créer un générateur de sudoku, ce qui commence donc par générer une grille. C'est là mon problème. Pour ce qui ne connaitraient pas les règles, les voici :
- chaque chiffre ne doit être présent qu'une fois dans chaque colonne
- chaque chiffre ne doit être présent qu'une fois dans chaque ligne
- chaque chiffre ne doit être présent qu'une fois dans chaque carré de 3x3

Voilà mon code pour le moment :



IMAGE CLÉ 1

stop();
// sous-grilles
grid_0 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_0[i+3*j] = 0;
    }
}
grid_1 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_1[i+3*j] = 0;
    }
}
grid_2 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_2[i+3*j] = 0;
    }
}
grid_3 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_3[i+3*j] = 0;
    }
}
grid_4 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_4[i+3*j] = 0;
    }
}
grid_5 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_5[i+3*j] = 0;
    }
}
grid_6 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_6[i+3*j] = 0;
    }
}
grid_7 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_7[i+3*j] = 0;
    }
}
grid_8 = new Array();
for (i=0; i<=2; i++) {
    for (j=0; j<=2; j++) {
        grid_8[i+3*j] = 0;
    }
}
// grille complète
grid = [grid_0, grid_1, grid_2, grid_3, grid_4, grid_5, grid_6, grid_7, grid_8];
// entier naturel aléatoire n
function form(min, max) {
    var rand = Math.floor(Math.random()*(max-min+1))+min;
    return rand;
}
// remplissage         
var step = -1;
var arr = 0;
function fill() {
    if (step<=7) {
        step += 1;
    } else {
        step = -1;
        arr += 1;
    }
    while (n == grid[arr][0] || n == grid[arr][1] || n == grid[arr][2] || n == grid[arr][3] || n == grid[arr][4] || n == grid[arr][5] || n == grid[arr][6] || n == grid[arr][7] || n == grid[arr][8]) {
    n = form(1, 9); << ici, il n'a qu'une condition, dès que j'ajoute les autres, le jeu plante
}
    grid[arr][step] = n;
}

IMAGE CLÉ 2

while (arr<=8) {
    fill();
}


Le problème est que, comme je l'ai dit, dès que j'essaye de rajouter des conditions dans ma boucle while, le jeu plante. Je voudrais vraiment réussir à programmer ce sudoku, c'est pour quelqu'un. Si vous pouviez m'aider svp
lundi 5 juin 2006 à 18:16:49 | Re : Sudoku

EvO_blue

Euh... Je crois pas l'avoir dit, désolé, mais c'est de l'Action Script 2.0, càd fait sous Flash
lundi 5 juin 2006 à 21:19:09 | Re : Sudoku

kingcobra

Réponse acceptée !
C'est tres tres compliqué... Tant qu'a faire je te conseil d'utiliser ma classe. une des 10 sources récentes.
Pour avoir des grilles aléatoires, tu remplies aléatoirement une dizaines de chiffres dans la  grilles 9 par 9 puis tu le fais résoudre
ma classe te remplira la grille. Ensuite tu supprimes un certain nombre de chiffres et c bon. (bien que ce soit pas si simple)

Y'a une source aussi sur la génération de grille ici même.

a +.

KiNgCoBrA
lundi 5 juin 2006 à 22:10:51 | Re : Sudoku

EvO_blue

Oulah ! En effet, ça a l'air un peu complexe tout ça =P
'Vais y jeter un oeil et je te tiendrai au courant si tu veux. Merci pour ta réponse ^^


Cette discussion est classée dans : step, for, array, grid, arr


Répondre à ce message

Sujets en rapport avec ce message

création array dans boucle for [ par jacknikolson ] Salut,Je voudrais, dans une boucle for, créer des tableaux.Chaque tableau devrait avoir le même préfixe et comprter le N de la boucle en cours.my_arra égalité entre 2 array [ par stown ] Salut! Si j'ai 2 tableau: TabMem1[][] et TabMem2[][] (de 2dimention chacun et de meme taille) Comment faire pour que le TabMem1 soit exactement égale sortOn et XML [ par extrafurya ] Bonjour! J'ai un ti probleme j'ai cherché sur la toile mais en vain! Je recup des données via un xml que je veux classer par ordre alpha donc j'ai fai removeChild [ par Ariranha ] Bonjour, Je suis actuellement en train de travailler sur un site multilingue avec chargement des contenus via xml. Chaque page contient un mini-menu Clip + item dans conteneur [ par floo75 ] Bonjour à tous Je me permets de solliciter une nouvelle fois vos lumières, un projet de classe me cassant la tête depuis trois jours... Alors c'est String to Array [ par yasdar ] bonjour a tous voila j'ai une variable var aze:String = "1,25,30,14,70"; je veux utiliser cette variable comme an tableau (Array) j'écris var tab:Arr Petites questions [ par korrigan33 ] Bonjour tout le monde, amis programeur j'ai quelques questions a vous poser :    - J'ai un fichier avec une grille générée en duplicate movieclip, mai casse tête tableaux objets et filtres [ par Migs ] Quelqu'un peut m'expliquer pour quoi le code suivant fonctionne: var test = new Object(); </font Assigner une image dynamique à un clip [ par Vano05 ] Bonjour à tous ! J'ai un petit probleme tout bete, mais qui me rend fou !Je voudrais adapter le code suivant pour assigner des positions bie Création en manipulation de clip en AS [ par ypauleau ] J'ai cherché sur le net et j'ai toujours pas compris, Voici mon problème : Je cherche à créer des instances d'un clip que j'ai créer dans la bibliothè


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,359 sec (3)

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