Italian La prossima settimana, VACANZE... ma per ora vado avanti

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Allora, tramite un mio mini prog in VB6 ho aggiornato il DB con le chiavi :D
Cavolo... il file txt è 3.5MB mentre il file .db ne ha ben 10MB in più :confused:... sarebbe da importarlo in una listview invisibile al caricamento... ma poi come si ricerca al suo interno? :D
La ricerca che dicei, su poche lettere, è fattibile...ma su 7 o 10, è un po complicato
ES

PAOLA = CARTE
CHIAVE = ACERT
Per far trovare le parole con 4 lettere avrei vari cambi da fare

ACER
ACET
AERT
CERT

PAROLANDO = AADLNOOPR

....qui già è critico: :D

...per adesso mi accontendo di poter anagrammare le parole di lunghezza uguali... certo, è interessante questa cosa per capire come fare anche con il resto ;)
Alla fine potrebbe essee utile a molti ;)
 

Picena Informatica

Active Member
Licensed User
Longtime User
fai un campo con le lettere delle parole in ordine alfabetico (per ogni parola). Avrai l'elenco di tutte le parole anagrammabili dalle stesse lettere.
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
... sarebbe da importarlo in una listview invisibile al caricamento... ma poi come si ricerca al suo interno?
mmmhhh, magari si riesce pure a farlo ma, avendo tre campi (Parola,Lunghezza,chiave)... ma a sto punto tengo il DB e sti cavoli della dimensione.
QUI uno ne faceva richiesta.
 

Picena Informatica

Active Member
Licensed User
Longtime User
Ricordi che ti ho scritto di preparare un db alleggerito e creare le chiavi e gli indici dopo la copia?
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
fai un campo con le lettere delle parole in ordine alfabetico (per ogni parola). Avrai l'elenco di tutte le parole anagrammabili dalle stesse lettere.
Non capisco. Io ho già il DB ordinato per odime alfabetico ed ora ho anche le chiavi...cosa intendi?
Per trovare una frase anagrammata (con la stessa lunghezza), basta che faccio una semplice Select sulla chiave, passando la chiave della parola che estraggo per la frase più lunga:

es:
Se nel gioco estrae la frase da 7 (inizialmente è questa la lunghezza massima):

INCROCI, questa avrà come chiave = IICCNOR

facendo una SELECT su questa chiave, nel DB, avrò coe risultato tutte le parole che hanno la stessa chiave:
Parole Chiave
CORNICI IICCNOR
CRONICI IICCNOR
INCROCI IICCNOR
RICCONI IICCNOR
RICONCI IICCNOR

Il problema è sapere come prendere parole tipo:

CORNI CINOR
CONCI CCINO
CROCI CCIOR
RIONI IINOR
CONICI IICCNO
...etc

L'ultima da 6 è facile perché basta togliere la sola lettera finale alla chiave della frase... ma esiste anche la chiave ICCNOR come la IICCOR, quindi bisognerebbe fare tutti gli incroci.
 
Last edited:

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Ricordi che ti ho scritto di preparare un db alleggerito e creare le chiavi e gli indici dopo la copia?
Si ma non capivo se intendevi incapsulare all'interno del codice alcune frasi e toglierle dal DB, o cos'altro.:confused:
 

Picena Informatica

Active Member
Licensed User
Longtime User
Una chiave è un indice su un campo. Se crei il database senza indici viene sicuramente più piccolo, se fai il campo chiave alla prima esecuzione e lo indicizzi avrai un database ancora più piccolo a spese di un tempo di primo avvio leggermente più lungo. Quando fai una select con la WHERE su campi indicizzati il risultato è velocissimo. Probabilmente il tuo DB ha un indice sulle parole in ordine alfabetico. Per il problema 2: potresti fare un campo invece che con "CCIINOR", uno con "CINOR" (le singole lettere) ed uno con "2C2I1N1O1R" (le ricorrenze di ogni lettera), indicizzarli a fare query più complesse (sicuramente ci saranno altre tecniche ma ci ho solo dedicato 10 secondi).
 

LucaMs

Expert
Licensed User
Longtime User
Per ora, questo funziona ma con la parola "intera" (chiedigli solo 5 lettere, altrimenti non te ne trova, perché ti tira fuori troppe consonanti e poche vocali - anche per questo, per aiutare il giocatore, dovresti dare una percentuale di consonanti e una di vocali, direi 65% e 35%).

Poi, si dovrebbe creare un ciclo per le ricerche con un minor numero di lettere... vediamo se lo trovo facilmente, servirà la ricorsione, sicuramente.

Ecco, come non detto... il file è troppo grande!


Allora tolgo il file "Italiano.txt", tanto non ti serve, userai il tuo db.

Nada, anche così supera il megabyte!

Devo togliere anche il db.

Ha una sola tabella: Voci
con due campi: Parola e Chiave, quest'ultima indicizzata.

Ecco, 13kb è un po' meglio :)
 

Attachments

  • lm Parolando.zip
    12.7 KB · Views: 297
Last edited:

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Scusa ma non posso provarlo :(
Ok per il DB,ma vedo che manca anche il file italiano.txt nella DirAssets.
E vabbè, quello l'ho messo (un dizionario txt giusto?).... mail DB come deve essere strutturato?

VOCE = tabella
PAROLA = stringa
CHIAVE = ? ...cosa hai messo? quella con le lettere in crescendo? CASA = AACS? :confused:

Comunque, nel mio gioco, io non prendo lettere casuali.... ma seleziono Random dal DB una frase da 7 lettere (o di quante sono il massiimo delle caselle) e la mescolo... essendo sicuro che almeno una parola della lunghezza giusta esista!
Poi, da questa, sicuramente ve ne saranno altre da 6 da 5 da 4 da 3 e, a volte (come per INCROCI) anche da 7. ;)
 
Last edited:

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Vabbè, finalmente l'ultimo giorno e, da domani, VACANZA :D:D:D:D:D

Nel frttempo ho creato la ruota della Fortuna e quella della Sfiga :D
Le inserirò quando:

1) La FORTUA: ad inizio turno sucessivo, se, in quello in cui si gioca, si trovano , senza cambiare le lettere, almeno 3 parole della massima lunghezza;
2) La SFIGA: sempre a l turno successivo, se si sommettono più di 3 errori di fila, oppure si mescalono 3 volte le parole.

Per ora le faccio così e non so se farle in trasparenza o creare un quadro grafico solo per questa ruota (forse la prima).
Volevo far girare la ruota... ma per risparmiare spazio (visto che già occua abbastanza :D), farò girare solo la lancetta di puntamento.


Ecco le immagini:

Buone Vacanze a ttti e, se on ci sentiamo ora....a SETTEMBRE :D
Porterò con me lo smart e, ogni tanto, anche se raramente, farò qualche scapatina ma... voglio staccare :D:D:D:D
Bye
PS: LUCAAAAAAAA, al mio ritorno voglio vedere la tua idea andare avanti... eh? ;):p
 

Attachments

  • RuotaFImg.png
    RuotaFImg.png
    70.3 KB · Views: 250
  • RuotaSImg.png
    RuotaSImg.png
    71.3 KB · Views: 254
  • ago0.png
    ago0.png
    8.3 KB · Views: 278

LucaMs

Expert
Licensed User
Longtime User
PS: LUCAAAAAAAA, al mio ritorno voglio vedere la tua idea andare avanti... eh? ;):p

uhm potresti fare di meglio... portatela appresso, la mia idea, sviluppala tu, così non correrai il rischio di annoiarti, in vacanza :):):)

Insieme alla ruota della Sfortuna dovresti metterci un paio di .... cose da grattare :D.


Buone vacanze :)



[P.S. chissà, avranno già messo qualche finto gratta e vinci in qualche app?]
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
uhm potresti fare di meglio... portatela appresso, la mia idea, sviluppala tu, così non correrai il rischio di annoiarti, in vacanza :):):)
Nooooooo o_Oo_O:p voglio stare in pace con il cervello per queste 3 settimane :D:D:D
Insieme alla ruota della Sfortuna dovresti metterci un paio di .... cose da grattare :D.
...tu, forse, ci scherzi.... ma sarà uno dei miei minigiochi :D:D:D:D:D:D

Buone vacanze :)
Come disse il mitico :D
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
....sai che c'è? Forse hai raggiorne tu! ;)
Invece di usarlo come bonus, potrei fare in modo che, quando accade una situazione da Ruota della Sfiga o, in alcuni livelli, quando apparirà il "diavoletto", potrei far giocare ad un gratta e vinci da 10 e farne grattare 5. Nel loro interno, random, sono presenti 3 ruote della Sfiga che, se trovate, porteranno a girarla e, utilizzare eventuali oggetti, nello stesso livello . :D
Quasi quasi, la tolgo proprio la ruota e lascio solo i gratta, anche per i Bonus Buoni, ... che dici?
Il "Diavoletto" avrà la funzione di scassare le scatole. Ad esempio, potrà chiedere di trovare una parola di una certa lunghezza, alla digitalizzazione attuale. :D
Poi, ho anche il "fantasmino" che, quando capita, macchia alcune lettere e fa scrivere al "buio", er qualche secondo :D:D:D
Sono tutte idee che metterò... per ora faccio la grafica e studio anche qualche angioletto o cose buone (beh! se dvo fare 60-70 livelli qualcosa di movimentato e nuovo devo metterlo altrimenti sai che OO :D:D)
 

LucaMs

Expert
Licensed User
Longtime User
Beh so che gli italiani sono fissati col gratta e vinci! (scommetto che nessuno ci crederà, ma non ne ho mai comprato uno! In compenso ho provato a diventare multimilionario col SuperE... - niente pubblicità :) - qualche volta... ma se ancora mi leggete, evidentemente non ho vinto :D).

Altra cosa che scommetto piace a tutti è toccare lo schermo (grattare, in questo caso) e vedere qualche effetto (i touch-screen, in fondo, non esistono da tanto tempo).

(comunque non credo che starai in pace col cervello per 3 settimane... ti verranno tante idee, invece :p)
 

CyclopDroid

Well-Known Member
Licensed User
Longtime User
Già, per il gratta e stringi :D:D:D dovrò utilizzare il _Touch(Action... per simulare la grattata da uno spostamento ristretto.
Sinceramente, mi è antipatico usarlo (l'ho messo nell'apertura del menu dalla barra laterale, ma per chiuderlo mi incasino :confused:):oops:
 

LucaMs

Expert
Licensed User
Longtime User
Oh, per quanto riguarda il mio giochino, procede spedito... come una lumaca! (ogni tanto ci metto le mani, ma dovrei invece progettare seriamente, sigh)
Ogni tanto mi diverto con la grafica, non avevo mai usato tanto i livelli in un programma così.
Quindi disegno il tavolo su un livello, i posti in un altro e così via, in modo da poter apportare modifiche in qualunque momento.

Questo come passatempo, perché la rogna è programmare il lato server!

Una domandina: per i suoni, tu usi SoundPool?

Perché, se non ho visto male, fa parte di una libreria piena di altre cose, mentre MediaPlayer è nel Core.
Però temo che SoundPool sia molto più efficace, in questi casi.
 

LucaMs

Expert
Licensed User
Longtime User
Già, per il gratta e stringi :D:D:D dovrò utilizzare il _Touch(Action... per simulare la grattata da uno spostamento ristretto.
Sinceramente, mi è antipatico usarlo (l'ho messo nell'apertura del menu dalla barra laterale, ma per chiuderlo mi incasino :confused:):oops:


A beh, posso aiutarti... non ne so un tubo, ma penso che dovresti usare una delle librerie Gestures
 
Top