Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
Postato originariamente da Carlo:
Postato originariamente da Ultimo:
@Carlo
@Mikelius
Mi chiedevo se esiste un utility che mi
trasforma in automatico un Assembly vb.net
di tipo Forms in tipo WPF
esiste ? |
Sono relativamente nuovo del .NET, l'IDE è vasto e lo conosco ancora poco.
Mi spieghi, meglio? vorrei capire bene la domanda. |
Quando devi realizzare un progetto,
oltre al Windows Forms trovi il WPF
Windows Presentation Foundation
If ok Then GOTO Avanza else GOTO Inizia
|
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
@Carlo
altre 2 figure majong
Ultima modifica effettuata da Ultimo il 01/07/2018 alle 21:00
If ok Then GOTO Avanza else GOTO Inizia
|
|
Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
Non conosco metodi che lo facciano in automatico, anzi non credo esistano.
Si deve riprogettare il tuoo con le classi .net (e non procedurale come quella fatta)
Io dal mio canto avevo iniziato a lavorarci
|
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
Non conosco metodi che lo facciano in automatico, anzi non credo esistano.
Si deve riprogettare il tuoo con le classi .net (e non procedurale come quella fatta)
Io dal mio canto avevo iniziato a lavorarci |
Ho chiesto perché sapevo che rifarlo a mano
non è semplice semplice
If ok Then GOTO Avanza else GOTO Inizia
|
|
Mikelius (Member)
Expert
Messaggi: 525
Iscritto: 14/04/2017
|
Postato originariamente da Ultimo:
Ho chiesto perché sapevo che rifarlo a mano
non è semplice semplice |
Non è semplice, ma ha molti lati positivi:
- Sbattendoci la testa si impara più in fretta il linguaggio (io sto imparando qiualcosa di vb tramite questo progetto)
- Sfruttando classi e il mondo .net si può ricreare il programma in .net standard, piuttosto che in .net Framework. Forse è un lavoro maggiore creare dll adatte al .net standard, ma si conpensa col fatto che poi per l'eventuale APP Android (se ne parlava post fa) serve solo ritoccare l'interfaccia in quanto il motore è utilizzabile ovunque nel mondo .net
In caso bisogna progettare le classi in modo "furbo" . Nel senso:
Per gestire Nome,punti,mosse ecc ecc del player. sarebbe buono creare una classe apposita che racchiuda tutte le informazioni e metodi utili a gestire queste info, non solo le 4 usate (nome, punteggio, mosse, tesseraMaggiore), ma tutte quelle informazione che a nostro avviso potrebbero essere utili (tipo durata di gioco) anche per giochi oltre questo. Si crea una classe 1 volta e la si può utilizzare per gestire tutti i giochi simili. Ad esempio una classe per disegnare la griglia. Ma invece che 4x4 la dovra essere Dim1xDim2. Quella classe verrà utilizzata per il 2048 e un domani per un ipotetico "Forza4" |
|
Ultimo (Member)
Guru
Messaggi: 877
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
Postato originariamente da Ultimo:
Ho chiesto perché sapevo che rifarlo a mano
non è semplice semplice |
Non è semplice, ma ha molti lati positivi:
- Sbattendoci la testa si impara più in fretta il linguaggio (io sto imparando qiualcosa di vb tramite questo progetto)
- Sfruttando classi e il mondo .net si può ricreare il programma in .net standard, piuttosto che in .net Framework. Forse è un lavoro maggiore creare dll adatte al .net standard, ma si conpensa col fatto che poi per l'eventuale APP Android (se ne parlava post fa) serve solo ritoccare l'interfaccia in quanto il motore è utilizzabile ovunque nel mondo .net
In caso bisogna progettare le classi in modo "furbo" . Nel senso:
Per gestire Nome,punti,mosse ecc ecc del player. sarebbe buono creare una classe apposita che racchiuda tutte le informazioni e metodi utili a gestire queste info, non solo le 4 usate (nome, punteggio, mosse, tesseraMaggiore), ma tutte quelle informazione che a nostro avviso potrebbero essere utili (tipo durata di gioco) anche per giochi oltre questo. Si crea una classe 1 volta e la si può utilizzare per gestire tutti i giochi simili. Ad esempio una classe per disegnare la griglia. Ma invece che 4x4 la dovra essere Dim1xDim2. Quella classe verrà utilizzata per il 2048 e un domani per un ipotetico "Forza4" |
Ho capito, si crea una struttura di classi base riutilizzabili
una classe per ogni esigenza del gioco
If ok Then GOTO Avanza else GOTO Inizia
|
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Postato originariamente da Mikelius:
Postato originariamente da Ultimo:
Ho chiesto perché sapevo che rifarlo a mano
non è semplice semplice |
Non è semplice, ma ha molti lati positivi:
- Sbattendoci la testa si impara più in fretta il linguaggio (io sto imparando qiualcosa di vb tramite questo progetto)
- Sfruttando classi e il mondo .net si può ricreare il programma in .net standard, piuttosto che in .net Framework. Forse è un lavoro maggiore creare dll adatte al .net standard, ma si conpensa col fatto che poi per l'eventuale APP Android (se ne parlava post fa) serve solo ritoccare l'interfaccia in quanto il motore è utilizzabile ovunque nel mondo .net
In caso bisogna progettare le classi in modo "furbo" . Nel senso:
Per gestire Nome,punti,mosse ecc ecc del player. sarebbe buono creare una classe apposita che racchiuda tutte le informazioni e metodi utili a gestire queste info, non solo le 4 usate (nome, punteggio, mosse, tesseraMaggiore), ma tutte quelle informazione che a nostro avviso potrebbero essere utili (tipo durata di gioco) anche per giochi oltre questo. Si crea una classe 1 volta e la si può utilizzare per gestire tutti i giochi simili. Ad esempio una classe per disegnare la griglia. Ma invece che 4x4 la dovra essere Dim1xDim2. Quella classe verrà utilizzata per il 2048 e un domani per un ipotetico "Forza4" |
Il concetto della classe mi è chiaro, ne percepisco i vantaggi, il mio problema è metterlo in pratica, vorrei un esempio "semplice" da applicare al ns. progetto.
Ho modificato la funzione che genera i numeri 2
Codice sorgente - presumibilmente VB.NET |
Public Function Rand_2_4(ByVal Quanti As Short) As Int32 ' estrazione 2 4 con scelta probabilitàdi quanti 2 rispetto ad un 4 ' se quanti = 0 restituisce 2 ' se quanti = 10 restituisce 4 Dim rand As New Random Dim num As Short If Quanti < 1 Then Return 2 If Quanti > 9 Then Return 4 Dim opz(Quanti) As Short For i = 0 To Quanti - 1 opz(i) = 2 Next opz(Quanti) = 4 num = opz(rand.Next(0, Quanti + 1)) Return num End Function
|
Ti prego di correggere se sbaglio, anche il modo in cui pongo le domande, per migliorare la mia comprensione dei termini.
Se questa funzione la vogliamo inserire in una classe, dobbiamo agire anche sullo spazio dei nomi? per il programma principale es: main2048
Aggiungiamo una classe, di nome rand2_4
in conseguenza di ciò nello spazio dei nomi avremo: main2048.rand2_4?
ora dovremo dire al programma quali sono le variabili che vogliamo vengano "passate"
nel nostro caso, vogliamo passare Quanti, ed in risposta vogliamo num.
come si fa?
Ultima modifica effettuata da Carlo il 02/07/2018 alle 15:13
in programmazione tutto è permesso |
|
Carlo (Member)
Guru
Messaggi: 1344
Iscritto: 29/01/2018
|
Ho creato la classe Rnd2_1
e l'ho usata, in allegato esempio.
E' corretto?
in programmazione tutto è permesso |
|