Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Non mi sono perso XD, ma mi viene difficile restarvi dietro con il codice in VB.
Non sto agendo su nuove feature et simila, ma per migliorare qualcosa.
Ad esempio ho riscritto la funzione Verifica_Ultima_Potenza()
Codice sorgente - presumibilmente Delphi
public void Verifica_Ultima_Potenza(Int32 Ultima_Potenza)
{
Thread.Sleep(200);
if (Ultima_Potenza > Max_Potenza_Raggiunta)
Max_Potenza_Raggiunta = Ultima_Potenza;
/* Se non trova Max_potenza torna -1 */
Int32 index = Array.IndexOf(Obiettivi_Punteggio, Max_Potenza_Raggiunta);
if (index > 0)
{
Suono4.play();
Obiettivi_Punteggio[index] = 0;
}
}
Codice sorgente - presumibilmente VB.NET
' Versione in VB.
' Nuova
PublicSub Verifica_Ultima_Potenza(ByVal Ultima_Potenza As Int32)
Thread.Sleep(200)
If Ultima_Potenza > Max_Potenza_Raggiunta Then Max_Potenza_Raggiunta = Ultima_Potenza
Dim index As Int32 =Array.IndexOf(Obiettivi_Punteggio, Max_Potenza_Raggiunta)
If index > 0 Then
Suono4.play()
Obiettivi_Punteggio(index)= 0
EndIf
EndSub
' Vecchia Riga.505
PublicSub Verifica_Ultima_Potenza(ByVal P As Int32)
Thread.Sleep(200)
Ultima_Potenza = P
If Ultima_Potenza > Max_Potenza_Raggiunta Then Max_Potenza_Raggiunta = Ultima_Potenza
If Max_Potenza_Raggiunta = 2048 And Obiettivi_Punteggio(0)= 2048 Then
Suono4.play()
Obiettivi_Punteggio(0)= 0
EndIf
If Max_Potenza_Raggiunta = 4096 And Obiettivi_Punteggio(1)= 4096 Then
Suono4.play()
Obiettivi_Punteggio(1)= 0
EndIf
If Max_Potenza_Raggiunta = 8192 And Obiettivi_Punteggio(2)= 8192 Then
Suono4.play()
Obiettivi_Punteggio(2)= 0
EndIf
EndSub
Se va bene inseritela voi nei vostri update.io con le 1000 modifiche e prove non ho la versione 8.9 quindi ne inserirei una vecchia
Ultima modifica effettuata da Mikelius il 01/06/2018 alle 17:44
Postato originariamente da Mikelius: Non mi sono perso XD, ma mi viene difficile restarvi dietro con il codice in VB.
Tranquillo non ci corre dietro nessuno.
Io trovo difficoltà con il C#, non ricordo mai la giusta sintassi.
E' un buon allenamento, utilizzare + linguaggi.
Postato originariamente da Mikelius: Ad esempio ho riscritto la funzione Verifica_Ultima_Potenza()
Vediamo che dice Ultimo, anche io ho una versione che non è più quella ufficiale, per esempio ho riscritto una sub
Originale:
Codice sorgente - presumibilmente VB.NET
PublicSub Random_Matrice4x4_2048(ByRef Matr2048 As Int32(,))
Dim rand AsNew Random
Dim Riga()As Int32 ={1, 2, 3, 4}
Dim Colonna()As Int32 ={1, 2, 3, 4}
Dim R As Int32
Dim C As Int32
Avvia:
Do
R = Riga(rand.Next(0, 4))
C = Colonna(rand.Next(0, 4))
If Matr2048(R, C)= 1 Then
Matr2048(R, C)= Rand_2_4()
Indx_Nuovo_Val = R &"-"& C
Verifica_Ultima_Potenza(Matr2048(R, C))
ExitDo
EndIf
Loop
If Stato_eventi = Stato.AzzeratoThen
Stato_eventi = Stato.Avviato
Thread.Sleep(300)
GoTo Avvia
EndIf
EndSub
modificata:
Codice sorgente - presumibilmente VB.NET
PublicSub Random_Matrice4x4_2048()
If Stato_eventi = Stato.AzzeratoThen
Stato_eventi = Stato.Avviato
Estrai()
Estrai()
Else
Estrai()
EndIf
EndSub
PublicSub Estrai()
Dim rand AsNew Random
Dim R As Int32
Dim C As Int32
Do
R = rand.Next(1, 5)
C = rand.Next(1, 5)
If Matrice4x4(R, C)= 1 Then
Matrice4x4(R, C)= Rand_2_4()
Indx_Nuovo_Val = R &"-"& C
Verifica_Ultima_Potenza(Matrice4x4(R, C))
ExitDo
EndIf
Loop
EndSub
Naturalmente tutte le chiamate a Random_Matrice4x4_2048(), ora vanno fatte senza specificare il parametro matrice, perché Matrice4x4() è una matrice pubblica.
Ultima modifica effettuata da Carlo il 01/06/2018 alle 18:14
Si certamente, ma ad esempio il namespace My.Application non ha una "reale" controparte in c#, quindi non basta una semplice conversione
Application.DoEvents(); in C# = Application.DoEvents() in Vb
Per il My mi sembra che se in C# si caricano i giusti assembly c'è.
Per portare un programma VB in C#, apro un progetto nuovo C#, da progettazione replico tutta la grafica, usando come aiuto il designer della grafica vb, scrivo da zero l'inizializzazione, poi incollo la prima routine che deve essere eseguita e correggo tutti gli errori. Poi incollo uno per uno gli eventi click, e correggo tutti gli errori e così via.
Con i convertitori, impiegavo più tempo.
Ultima modifica effettuata da Carlo il 01/06/2018 alle 19:10