Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
Postato originariamente da Carlo:
Postato originariamente da Mikelius:
@Carlo, se riesci a mandarmi gli screen singoli li metto in guida (magari anche quello da 8192!)
|
8192? ci si può arrivare, facendo la partita in due puntate, la mia concentrazione dura un'ora, infatti nell'ultima 1/2 ora di gioco ho fatto un sacco di sbagli, proprio banali.
|
Tranquillo... Al massimo faccio copia-incolla con paint XD...Tanto per mettere nella guida una griglia con 81912 .
Per la Form Congratulazioni a questo punto, dovrebbero esserci 2 tasti.
- Esci/Salva record con nome/quello che più ti piace
- Continua Partita (Tranne nel 8192!)
|
|
Carlo (Member)
Guru
Messaggi: 1312
Iscritto: 29/01/2018
|
Postato originariamente da Mikelius:
- Continua Partita (Tranne nel 8192!) |
Ultima modifica effettuata da Carlo il 25/06/2018 alle 13:12
in programmazione tutto è permesso |
|
Carlo (Member)
Guru
Messaggi: 1312
Iscritto: 29/01/2018
|
@Mikelius
schermate jpg
Ultima modifica effettuata da Carlo il 25/06/2018 alle 18:16
in programmazione tutto è permesso |
|
Carlo (Member)
Guru
Messaggi: 1312
Iscritto: 29/01/2018
|
Mentre non riuscivo a sfondare il muro del 2048 con l'autosoluzione, mi è venuta l'idea di registrare una partita.
In allegato ver 9.4.4 mod
Implementata registrazione (salva in cartella applicazione: nome_del_giocatore.txt)
Implementato tasto rivedi
Se l'idea piace, cose da fare:
1) Registrazione (On/Off)
2) Salvataggio con percorso/nome
3) sospensione del rivedi
4) rivedi passo passo
5) vai ad un punto e riprendi partita da lì
6) correzioni eventuali bugs
7) varie ed eventuali
Nella cartella bin\Release\Carlo_primo_game.txt
Partita di esempio, giocata a pezzi, mentre debaggavo.
La partita può essere rivista e al termine continuata a piacere.
La continuazione verrà salvata in un file.txt usando il nome del giocatore.
I files possono essere riuniti con notepad, per creare una partita unica.
in programmazione tutto è permesso |
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
@Carlo
Bella idea !!
Si può inserire una cartella apposta per
i file dei replay.
Da ottimizzare
If ok Then GOTO Avanza else GOTO Inizia
|
|
Carlo (Member)
Guru
Messaggi: 1312
Iscritto: 29/01/2018
|
Postato originariamente da Ultimo:
@Carlo
Bella idea !!
Si può inserire una cartella apposta per
i file dei replay.
Da ottimizzare |
Si, serve qualche rifinitura, se si vuole implementare.
Nel frattempo ho dimostrato a me stesso, che a puntate sono in grado di raggiungere 8192 ed oltre.
In allegato registrazione partita (raggiunto 8192 e non è ancora finita).
Sono partito dalla precedente Carlo_primo_game.txt (dove avevo raggiunto 2048)
La parte finale è giocata molto bene, utile come esempio... Ultima modifica effettuata da Carlo il 26/06/2018 alle 23:12
in programmazione tutto è permesso |
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
@Carlo
Bravo bel risultato
ho messo un thread.sleep(1000)
si può regolare il tempo delle mosse
la tua tecnica funziona bene
Codice sorgente - presumibilmente VB.NET |
Do ' gestire sospensione e passo passo RigaLetta = objReader.ReadLine() If Not RigaLetta Is Nothing Then Dim Sequenza() As String = RigaLetta.Split(";") For i = 0 To 15 Dim r As Short = Math.Ceiling(i \ 4) Dim c As Short = i Mod 4 Matrice4x4(r + 1, c + 1) = Sequenza(i) Visualizza_Immagine_Celle2048(Matrice4x4) Application.DoEvents() ' se non inserito, l'uso della ram aumenta in modo incontrollato lblInfo.Text = Sequenza(16) ' orario della mossa Next End If Thread.Sleep(1000) Loop Until RigaLetta Is Nothing
|
If ok Then GOTO Avanza else GOTO Inizia
|
|
Carlo (Member)
Guru
Messaggi: 1312
Iscritto: 29/01/2018
|
Postato originariamente da Ultimo:
la tua tecnica funziona bene |
sul file da_2048_a_8192.txt, ci sono pochi errori.
Tu Ultimo già lo sai, lo spiego per chi ha poca dimestichezza.
Le tecniche sono due, le chiamo ad L e zigzag, le cambio e le combino in base alle esigenze.
Lo scopo primario è avere sulla riga 4 i numeri sempre progressivi, con il numero più grande a destra (pos 4,4)
come fare?
tecnica L: uso la colonna 1 per impilare i numeri dal più piccolo in alto al più grande in basso.
tecnica zigzag: uso la riga 3 per impilare i numeri, il più piccolo a destra e il più grande a sinistra.
Postato originariamente da Ultimo:
Thread.Sleep(1000)
|
Immagino di caricare il file intero in una matrice e con un cursore scorrere la matrice avanti ed indietro, creando una moviola virtuale che permette di rivedere tutta la registrazione avanti ed indietro alla velocità voluta. Ultima modifica effettuata da Carlo il 27/06/2018 alle 0:47
in programmazione tutto è permesso |
|