masmil1988 Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 Avevo postato la discussione in Off Topic, ma a quanto pare non è stata una buona idea, perchè non c'è stata nessuna risposta. Avendo interesse a creare un generatore di Sudoku volevo sapere con quale logica vengono generati... Anche se non conoscete il Sudoku vi spiego brevemente com'è formata la tavola, in modo da potermi aiutare lo stesso. E' una tabella 9x9 che contiene in ogni riga tutti i numeri da 1 a 9, in ogni colonna tutti i numeri da 1 a 9 e in ogni tabella 3x3 tutti i numeri da 1 a 9. In pratica i numeri non si ripetono mai nelle righe, nelle colonne e nelle mini-tabelle 3x3. Ho provato una bozza ma mi si blocca sempre la creazione durante il ciclo, per una condizione che non si avvera mai, penso sia un problema di logica di fondo sbagliata... Qualcuno che può aiutarmi ad arrivare alla soluzione? Qua siamo nella sezione Programmazione e in teoria ci dovrebbe essere più passione nel fare i ragionamenti rispetto alla sezione Off topic... Link to comment Condividi su altri siti More sharing options...
..::DoS::.. Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 Avevo postato la discussione in Off Topic, ma a quanto pare non è stata una buona idea, perchè non c'è stata nessuna risposta.Avendo interesse a creare un generatore di Sudoku volevo sapere con quale logica vengono generati... Anche se non conoscete il Sudoku vi spiego brevemente com'è formata la tavola, in modo da potermi aiutare lo stesso. E' una tabella 9x9 che contiene in ogni riga tutti i numeri da 1 a 9, in ogni colonna tutti i numeri da 1 a 9 e in ogni tabella 3x3 tutti i numeri da 1 a 9. In pratica i numeri non si ripetono mai nelle righe, nelle colonne e nelle mini-tabelle 3x3. Ho provato una bozza ma mi si blocca sempre la creazione durante il ciclo, per una condizione che non si avvera mai, penso sia un problema di logica di fondo sbagliata... Qualcuno che può aiutarmi ad arrivare alla soluzione? Qua siamo nella sezione Programmazione e in teoria ci dovrebbe essere più passione nel fare i ragionamenti rispetto alla sezione Off topic... io non sono capace a giocare a sudoku!!!!! ma se ti compri delle riviste e copi il sudoku da lì non fai prima!!!!!! Link to comment Condividi su altri siti More sharing options...
xMetallicax Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 Avevo postato la discussione in Off Topic, ma a quanto pare non è stata una buona idea, perchè non c'è stata nessuna risposta.Avendo interesse a creare un generatore di Sudoku volevo sapere con quale logica vengono generati... Anche se non conoscete il Sudoku vi spiego brevemente com'è formata la tavola, in modo da potermi aiutare lo stesso. E' una tabella 9x9 che contiene in ogni riga tutti i numeri da 1 a 9, in ogni colonna tutti i numeri da 1 a 9 e in ogni tabella 3x3 tutti i numeri da 1 a 9. In pratica i numeri non si ripetono mai nelle righe, nelle colonne e nelle mini-tabelle 3x3. Ho provato una bozza ma mi si blocca sempre la creazione durante il ciclo, per una condizione che non si avvera mai, penso sia un problema di logica di fondo sbagliata... Qualcuno che può aiutarmi ad arrivare alla soluzione? Qua siamo nella sezione Programmazione e in teoria ci dovrebbe essere più passione nel fare i ragionamenti rispetto alla sezione Off topic... ciao masmil! sul sito della mshell c'è uno script che genera sudoku, puoi prendere qualche spunto da lì Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 (modificato) Quando programmavo in pascal c'era il problema delle 8 regine da risolvere. Oggi c'è qualcosa di più complicao: il sudoku. Il principio è lo stesso: la ricorsività (mi sembra si chiami così). Praticamente devi inserire in R1C1 il n. 1 R1C2 il n. 2 ... R1C9 il n. 9 Poi di nuovo per la riga 2: R2C1 il n. 1 - ops non è possibile allora metto il 2 R2C2 il n.3 e così via. Quando non puoi mettere nessuno dei 9 numeri devi salire alla posizione precedente e cambiare numero: se anche qui non puoi andare avanti devi salire e cambiare ancora numero fino a quando puoi metterne uno e ripetere il ragionamento fatto fin'ora. Be, prima lo scrivi su carta e poi lo implementi altrimenti non penso che per natale ci riesci. [edit] R1C1 per chi non lo avesse capito = riga 1 colonna 1 Puoi partire da qualsiasi numero in R1C1 e quando vai a R1C2 parti sempre dal valore 1, se non lo puoi mettere metti 2, se non lo puoi mettere metti 3 e così via. Puoi anche partire con R1C1=9 e affianco parti con un altro numero a piacere per fare un'altra combinazione. Ogni volta che cambi partenza c'è una combinazione nuova. Modificato 6 Giugno 2007 da Oper Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 6 Giugno 2007 Autore Segnalazione Share Pubblicato: 6 Giugno 2007 Grazie a tutti! Grazie oper per il suggerimento! Sono approdato a un'altra soluzione!!! Il problema, data questa soluzione, sarebbe ora arrivare alla soluzione finale, perchè in pratica ottengo solo alcuni numeri di tutta la tabella, avendo cura che in una riga non si ripeta nessun numero, lo stesso in una colonna e lo stesso in una mini tabella... Ho provato a mettere i numeri ottenuti in un risolutore di sudoku e sembra che riesca a risolverli tutti (ne ho provati 3 diversi), quindi in teoria dovrebbe essere tutto giusto Vi farò sapere sugli sviluppi spero di lavorarci un po' su tra la notte (prima di andare a dormire) e negli attimi in cui non ho niente da fare. Sto facendo tutto con mShell, sperando in un'uscita a breve del "famigerato" compilatore!!! Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 Stupendo masmill, sempre meglio! Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 7 Giugno 2007 Autore Segnalazione Share Pubblicato: 7 Giugno 2007 (modificato) Grazie!!! Ho un problema... la teoria di buttare numeri ad muzzum (casuali) non funziona: avevo provato a buttare pian piano numeri casuali nella tavola accertandomi di volta in volta che il numero non fosse già stato estratto nella colonna, nella riga e nella mini-tabella... Ho messo la tavola venuta fuori in un risolutore di Sudoku e mi dice che è impossibile risolverla... Con quale altro metodo si può fare? per ora l'unico che mi viene in mente è questo: 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 Prendere una riga tra le prime 3 e scambiarla con una delle altre due, e ripetere poi la stessa cosa tra gli altri due gruppi (anche più volte per ogni gruppo se necessario). Fare poi la stessa cosa con le colonne, dividendole sempre a gruppi di 3... I numeri si mischiano, ma in ogni riga ho sempre la stessa serie di numeri, anche se scambiati di posto... come si può mischiare ancora? Modificato 7 Giugno 2007 da masmil1988 Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 7 Giugno 2007 Autore Segnalazione Share Pubblicato: 7 Giugno 2007 Guardate questa tabella? Vi sembra una buona tabella o notate qualche analogia tra i numeri? (tipo troppe simmetrie o cose del genere...) Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 7 Giugno 2007 Segnalazione Share Pubblicato: 7 Giugno 2007 Te l'ho già detto come risolvere, devi partire dalla prima posizione e inserire un numero alla volta controllando con i precedenti se va bene o meno. Se non va bene devi sostituire il precedente e così via fino all'ultima casella. Con la tabella postata che non va da 1 a 9 vuoi farci rincretinire? Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 7 Giugno 2007 Autore Segnalazione Share Pubblicato: 7 Giugno 2007 No, ti spiego, il progetto è quello di creare un generatore di sudoku 16x16, che non esiste ancora per cellulare siccome l'ho cercato spesso senza alcun risultato ora lo creo io che facciamo prima comunque, devo vederlo meglio il metodo tuo... Link to comment Condividi su altri siti More sharing options...
pinnacchio88 Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 Guardate questa tabella?Vi sembra una buona tabella o notate qualche analogia tra i numeri? (tipo troppe simmetrie o cose del genere...) mi sa che è un po troppo "analogico" tra i numeri osserva i numeri 4 e 9 in orizzontale...se ci fai caso sono sempre vicini nelle striscie che vanno da 1-8 separati da 2 caselle dal 9 al 12, nella 13 e nella 15 da 3...e nella a4 e nella 16 da 4 caselle... stesso problema in modo diverso per 1 e 2 che trovano la loro massima distanza nella 5 -6 -7 riga...e se guardi altre coppie di numeri succede lo stesso... io te lo avevo detto che qualcosa che non andava ci doveva essere..ora l'ho trovata Link to comment Condividi su altri siti More sharing options...
pinnacchio88 Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 facendo ricerche sui sudoku e osservandone vari ho visto che le analogie sono esistenti gia negli altri...quindi l'algoritmo da te trovato è quello giusto( a mio parere) anche perche ho notato che anche nelle colonne avviene questo...in poche parole come mio solito nn ho trovato nulla che gia non si doveva sapere!!! Link to comment Condividi su altri siti More sharing options...
artify_6630rulez Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 compili tutto il sudoku in ordine con i numeri (scalandoli x non farli venire doppi) poi cominci semplicemente a spostare qua e la colonne o righe intere, una per volta.... in questo modo, ottieni un sudoku ke funziona..... sempre se non ho frainteso (ho letto a tirà via) Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 8 Giugno 2007 Autore Segnalazione Share Pubblicato: 8 Giugno 2007 Fatto già così, comunque sembra funzionare bene o male... Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 Fammi capire, tu prendi un sudoku già realizzato e poi sposti solo le righe e le colonne? E che gusto c'è a fare un'applicazione così. Il generatore deve generare non modificare. Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 8 Giugno 2007 Autore Segnalazione Share Pubblicato: 8 Giugno 2007 Non prendo un sudoku già fatto, io genero il tutto! Genero i numeri iniziali, genero la tabella iniziale e genero gli spostamenti casuali! Non mi permetterei mai di prenderne uno già fatto da qualcun altro! Comunque il lavoro procede a gonfie vele... Non vi anticipo niente, però penso che tra qualche giorno lo posso già sputare fuori Link to comment Condividi su altri siti More sharing options...
pinnacchio88 Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 massi io ho provato a fare il menù cm ti avevo detto ma ancora non sn in grado di fare qualcosa di graficamente accettabile...mi dispiace ma devo ancora allenare... Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 Non prendo un sudoku già fatto, io genero il tutto!Genero i numeri iniziali, genero la tabella iniziale e genero gli spostamenti casuali! Non mi permetterei mai di prenderne uno già fatto da qualcun altro! Comunque il lavoro procede a gonfie vele... Non vi anticipo niente, però penso che tra qualche giorno lo posso già sputare fuori Benissimo. Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 8 Giugno 2007 Autore Segnalazione Share Pubblicato: 8 Giugno 2007 Tranquillo, ho finito ora con la grafica, penso non sia venuta proprio cattiva... Sudoku 4x4mob E' già possibile: - giocare una partita - salvare una partita - caricare una partita salvata, solo se questa si chiama cane - uscire dal gioco Manca da fare: - caricare una partita (qualsiasi sia il suo nome) - pagina delle istruzioni - about ci vuole ancora un po' di tempo, ma credo che non lo potrò continuare fino a domenica... Link to comment Condividi su altri siti More sharing options...
Giovilomby Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 mamma mia ke lavoro ke stai facendo masmil1!!!.... B) Link to comment Condividi su altri siti More sharing options...
pinnacchio88 Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 massi sei mitico..cmq cm mai si chiama CANE e non "caccapupu" o "stronzo" tue mitiche denominazioni per le variabili??? ahahahahahaha Link to comment Condividi su altri siti More sharing options...
masmil1988 Pubblicato: 8 Giugno 2007 Autore Segnalazione Share Pubblicato: 8 Giugno 2007 Dipende sempre dalla prima parola che mi viene in mente Comunque, è già possibile caricare una partita con un qualsiasi nome Socio, domani ti mando quello che m'hai chiesto oggi Buonanotte a tutti! Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 Socio, domani ti mando quello che m'hai chiesto oggi Cioe?! Cosa ti ho chiesto? Link to comment Condividi su altri siti More sharing options...
artify_6630rulez Pubblicato: 8 Giugno 2007 Segnalazione Share Pubblicato: 8 Giugno 2007 Fammi capire, tu prendi un sudoku già realizzato e poi sposti solo le righe e le colonne?E che gusto c'è a fare un'applicazione così. Il generatore deve generare non modificare. NO, ciò ke dicevo io era il fatto di creare un sudoku fittizio del tipo: 123 231 312 cioè mettendo i numeri in ordine... poi x generarlo, basta ke invece di spostare un singolo numero, sposti intere colonne o righe.... CASUALMENTE... in questo modo, non otterrai mai numeri doppi sulla stessa riga (o colonna...) mi dixp solo aver dato il mio consiglio tardi, kmq non era un ragionamento difficilissimo eh Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 9 Giugno 2007 Segnalazione Share Pubblicato: 9 Giugno 2007 Non so sse avete mai visto un generatore di sudoku: La partita di solito inizia con dei numeri messi a caso nella tabella e il giocatore deve completare. Se non lo completa il giocatore lo deve completare come soluzione il programma. Se non si trova il modo corretto di generarlo, non serve spostare le righe e le colonne. 1 . . . 3 . . . . . . . 2 . . . . 4 . . . . . . . . . . . . 5 . . . . . . . ... e così via. Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora