Newsgroup: it.comp.lang.visual-basic
Titolo: secondo voi cosa ho sbagliato in questo codice (randomize)

Randomize Timer  ' Inizializza il generatore di numeri casuali.
Contalivelli = Contalivelli + 1
Carica = Int((34 * Rnd) + 1)   ' Genera un valore casuale compreso tra 1 e
34.
If Contalivelli = 1 Then
    vet(1) = Carica
End If
For i = 1 To Contalivelli - 1
If vet(i) = Carica Then
    Carica = Int((34 * Rnd) + 1)   ' Genera un valore casuale compreso tra 1
e 34.
    i = 0
End If
Next i
vet(Contalivelli) = Carica
Nome = "Livello" & Carica
poi con un select apro la form in base al valore, in teoria dovrebbe aprire
tutti e 34
i livelli invece mi succede che a volte esce dal programa senza aprire il
livello successivo e non è arrivato a 34
cosa non và?
    Select Case UCase(Nome)
        Case "LIVELLO1"
            Livello1.Show
        Case "LIVELLO2"
            Livello2.Show
        Case "LIVELLO3"
..............
    End Select
If Contalivelli = 34 Then
    MsgBox "COMPLIMENTI!!! SEI RIUSCITO A FINIRE IL GIOCO!"
    Avvio.Show
End If
End Sub


  Io ti avrei mandato ( 2 gg fa ) per email il codice che fa al caso tuo non
so se ti è arrivato.
Ciao
--------------------------------
Inviato via 
http://usenet.libero.it

 Ciao
ho la email perosnale che non funziona se dovete scrivermi fatelo qui

 End Sub
L'ho provato, e funziona. L'unica cosa è che dopo il caricamento
dell'ultimo livello, dato che non è caricato in modalita modale, parte
subito il messaggio di vittoria e dopo l'OK sul MsgBox parte la form
di avvio. Forse il MsgBox dovrebbe stare in testa alla procedura, ma
non conosco la logica del programma. Ti ripeto: è un po' sprecone e
non del tutto ortodosso, ma il tuo codice sembra corretto e il
problema semprerebbe essere altrove. Quando dici "invece mi succede
che a volte esce dal programa senza aprire il livello successivo e non
è arrivato a 34" che intendi? Forse il problema sta nell'evento che
dovrebbe segnalare la fine di un particolare livello, che si chiude
senza rilanciare la procedura di selezione del livello successivo. E'
sempre lo stesso livello a dare problemi?
--
Ciao, Silv:o)


innanzi tutto grazie per la tua analisi e la tua soluzione alternativa.
a volte come dicevo capita che dalla schermata di avvio inizio la partita e
non carica nessuna form, quindi pare che ci sia un caso in cui esca qualcosa
di diverso di un numero compreso tra 1 e 34.
e a volte succede nel mezzo della partita, sono al livello 6 per esempio,
ritorna
al menu avvio senza caricare il livello 7 come se il gioco fosse finito.
credo che dovrò farmi un accurato debug con tutti i vari casi, oppure
provare la
soluzione meglio impostata.
Grazie.


trovato l'errore come al solito era una svista, quando usciva il numero 10
eseguiva il codice
livell10.show  anzichè livello10.show
uno O dimenticata tutto il dilemma. grazie lo stesso.

uno O dimenticata tutto il dilemma. grazie lo stesso.
Ah, non usi Option Explicit!
-- 
ciao, hal

 Ah, non usi Option Explicit!
Quello non lo uso nemmeno io ma un [ctrl]+[F5] lo avrebbe sgamato ^_^


sgamato? sei di brescia?

 sgamato? sei di brescia?
e da quando in qua il termine "sgamato" farebbe parte del linguaggio nativo dei
bresciani?
che io sappia è voce del romanesco, diffusa poi in tutta la nazione dalla
televisione di stato....
--
Salutoni
Sergio

 sgamato? sei di brescia?
Abruzzo ! ^_^

Quello non lo uso nemmeno io ma un [ctrl]+[F5] lo avrebbe sgamato ^_^
Be'... auguri!
-- 
ciao, hal

 Quello non lo uso nemmeno io ma
ARRRGH ! =8-|
/me prende appunti
    Gigio - 50 punti e -5 arrosticini.
Bye, G.

     Gigio - 50 punti e -5 arrosticini.
azz i punti li avrei ripresi ma gli arrosticini non te li passo , snti togli
100 e ridammi le rostelle ok ? ^_^
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

tanta e voglia 0 !
In realta', se fossi veramente pigro useresti Option Explicit!
Perche' fare a mano, magari con figure di m34d@ dal cliente, cio' che
il compilatore puo' fare rapidamente e _gratis_ ?
-- 
ciao, hal