|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#121 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
..ok.....allora più o meno ho capito come funziona....è semplice.
In pratica il CLIENT: 1 - decide a chi connettersi attraverso l'ip o il nome 2 - apre la porta di comunicazione 3 - si connette 4 - invia il pacchetto con SendData 5 - imposta il formato dei pacchetti da ricevere 6 - riceve i dati con GetData 7 - associa i dati a qualche elemento del programma tipo textbox Il SERVER invece: 1 - verifica se c'è un'altra connessione aperta, la chiude e ne apre un'altra 2 - apre la porta di comunicazione 3 - si mette in attesa di dati con LISTEN 4 - trasmette dati con SendData 5 - riceve dati con GetData dovrebbe essere tutto qui, vero?? capito bene?? ma............come lo implemento adesso nel mio programmino??? E' QUESTO CHE MO DEVO CAPIRE!!!!
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#122 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
ah mi sono anche procurato un libro sul VB6 dalla mia univ.....
si chiama: Il Manuale di Visual Basic 6 di Brian Siler e Jeff Spotts Jackson Libri!!!! L'ho preso perchè tanto con la tessera della biblioteca è GRATIS....quindi posso spulciarlo un po, cmq come è come libro?? SONO 750 PAGINE....!!!! MADRE!!!!
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#123 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
Ora secondo me dovresti fare un form che richiede in ingresso l'ip del server (e soprattutto di chi fa da server e di chi fa da client e li lanci la form che ti interessa), poi uno si mette in attesa (il server) e l'altro si connette, se tutto va bene cominci il gioco!!
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#124 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#125 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ma che fine hai fatto
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#126 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
We scusa, lo so sono scomparso.....è che sono appena tornato a casa!!!
C'ho un mal di testa oggi!! Quindi dovrei operare in questo modo: Creo una FORM e magari DUE MODULI; nella form ci inserisco la parte dove si decide chi fa da Client e chi da server, con la relativa immissione dell'indirizzo IP, mentre nei moduli metto: nel primo la parte di codice relativa al CLIENT e nel secondo quella relatia al SERVER in questo modo all'interno dalla form col gioco che ho già fatto basta che inserisco qualche IF e qualche chiamata ad uno dei moduli, giusto??? cmq devo ancora entrare nell'ottica rete....ma il sonno mi porterà consiglio e domani mattina risolvo tutto.....cmq è giusto il ragionamento??
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#127 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
In pratica basta che mandi una stringa formattata in questa maniera....
"#,1" oppure "#,2" Dove # sta per il comando che tu riconosci come stringa che metti che esegui il bottono 1 o 2 cioè nella funzione DataArrival fai una cosa del genere: Codice:
dim sData as string
dim vVet as variant
wskRete sData
vVet=split(sData,",")
Select case vVet(0)
case "@"
'qui magari gestisci altro
case "#"
'qui lanci la funzione che gira il simbolo che rappresenta l'avversario
'es: call GiraSimbolo(vVet(1))
end select
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#128 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
sinceramente non c'ho capito niente.............(ricorda che sto imparando....mica sono un genio....)
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#129 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
a me come informazione mi servirebbe che mi venga restituito il numero (index) della casella premuta dall'avversario
Però devo anche fare il modo che il gioco SIA IN ATTESA della mossa dell'avversario, cioè nn posso fare che muovo a cazzo di cane, quando mi pare e piace.....un turno alla volta insomma!!! Solo che ancora c'ho le idee poco chiare........magari è una fesseria farlo, ma se non faccio ordine in testa è inutile........cmq ti posto il codice sorgente del mio programma e mi dici che te ne pare fin qui....t'ho messo anche l'eseguibile!!!!! Dimmi che te ne pare mi raccomando....e......e......e per favore....si cioè....dai su.........e nn darmi brutte notizie...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#130 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Con l'esempio magari lo capisci meglio
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#131 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ti faccio alcune annotazione (da buon prof
Codice:
Private Sub livello_Click(Index As Integer)
' Imposta i vari livelli di difficoltà
If Index = 1 Then
diff = 1
Call nuovo_Click(1)
Else
If Index = 2 Then
diff = 2
Call nuovo_Click(1)
Else
If Index = 3 Then
diff = 3
Call nuovo_Click(1)
End If
End If
End If
End Sub
Codice:
Private Sub livello_Click(Index As Integer) ' Imposta i vari livelli di difficoltà diff = Index Call reset End Sub Codice:
If win Then
If stato Then
MsgBox "Ha vinto il Giocatore numero 2, COMPLIMENTI!!!", , "VITTORIA GIOCATORE 2"
Else
MsgBox "Ha vinto il Giocatore numero 1, COMPLIMENTI!!!", , "VITTORIA GIOCATORE 1"
End If
Call reset
End If
Codice:
MsgBox "Ha vinto il Giocatore numero " & IIf(stato, "2", "1") & ", COMPLIMENTI!!!", , "VITTORIA GIOCATORE " & IIf(stato, "2", "1") Codice:
If matrice(x, y) = 0 Then
If stato Then
matrice(x, y) = 1
Command(Index).Picture = LoadPicture(App.Path & "\sfera.gif")
'azzera i colori dei giocatori
Shape1.FillStyle = 1
Shape2.FillStyle = 0
Else
matrice(x, y) = 2
Command(Index).Picture = LoadPicture(App.Path & "\ics.gif")
'azzera i colori dei giocatori
Shape1.FillStyle = 0
Shape2.FillStyle = 1
End If
stato = Not stato
Else: MsgBox "Casella già premuta"
End If
Codice:
If matrice(x, y) = 0 Then
matrice(x, y) = IIf(stato, "1", "2")
Command(Index).Picture = LoadPicture(App.Path & IIf(stato, "\sfera.gif", "\ics.gif"))
'azzera i colori dei giocatori
Shape1.FillStyle = IIf(stato, "1", "0")
Shape2.FillStyle = IIf(stato, "0", "1")
stato = Not stato
Else: MsgBox "Casella già premuta"
End If
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#132 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
ca@@o c'hai ragione............è vero....vabbè che sono sicuro che TANTISSIME COSE si possono migliorere........ciò che non mi piace proprio sono tutti quegli IF per l'intelligenza del computer......ma proprio non sapevo come fare altrimenti.....c'ho pensato un casino...ma alla fine mi sono arreso, credo di non avere le conoscenze adeguate!!
Spulciando in internet (siti di università) ho trovato cose assurde sulla scissione della matrice in vari alberi con rami figli e con assegnato un determinato livello di utilità alle mosse a seconda di tante cose.....ma le mei conoscenze in merito ad AI sono praticamente nulle!!!!! Con gli IF invece sapevo farlo dall'inizio, ma volevo evitarlo...quindi se hai consigli...beh...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#133 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Va be per adesso va bene così dai..
Vai sulla parte Rete che ti manca poco a finirlo
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#134 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
da quello che ho capito la funzione IIf funziona così:
nuova_variabile = IIf(variabile_booleana, valore_vero, valore_falso) in pratica se la variabile_booleanda è vera NUOVA_VARIABILE assume il valore posto a VALORE_VERO, mentre se è falsa il valore posto a VALORE_FALSE giusto?? thanks per le ottimizzazioni
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#135 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#136 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
io non reggo più vado a nanna.....oggi è stata una giornata esageratamente stancante e stressante.......ci si sente domani ed ancora grazie
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#137 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
|
#138 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
mi spiace ammetterlo ma...........non ne sono capace......ci sto capendo poco, nel senso che non so come implementarlo nel gioco..........mi servono più informazioni.....e qualche spinta...HELP
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
|
#139 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Dissi così anche io la prima volta che affrontai da solo la rete senza nemmeno un progetto di esempio ma con solo il manuale cartaceo che bene o male spiegava alla buona il tutto!!
Ci sono stato una giornata intera a studiare tutte le cose e la maniera di affrontarla al meglio...dopo molta analisi sono giunto ad una conclusione e sono andato a letto veramente soddisfatto!! Dai nn demordere...vedrai che ci riesci...il concetto nn è complicato è solo che magari devi creare qlc funzione in +......per esempio quando fai click sul pulsante e hai tutta la procedura di visualizzazione immagine, la puoi mettere in una procedura con un parametro (l'indice)...quando ti arriva la richiesta dalla rete che ha premuto il tasto allora laci quella procedura con l'indice passato per parametro!! Quando uno dei due vince...passa all'altro il dato, ogni click sui bottoni passa il dato all'altro!! L'importante è che formatti in maniera corretta i dati che viaggiano e dato che il server ed il client sono tuoi e nn dipendono da informazini esterna li formatti a tuo piacimento! Come hai notato la funzione SPLIT divide una stringa e la mette in un vettore, in questa maniera il vettore con indice 0 contiene un carattere che utilizzerai nel Case per gestire l'evento, nn so # click sul bottone, @ nome di chi si è connesso, etc etc... Nel vettore con indice 1 hai una stringa che se passa il carattere # è l'indice del bottone premuto, se passa @ il nome del giocatore e così via... Spero di essere stato + chiaro....voglio che ti sforzi al massimo...se proprio ma dico PROPRIO sei in difficoltà chiedi ancora una mano
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#140 |
|
Senior Member
Iscritto dal: May 2003
Messaggi: 1113
|
sto fatto della rete mi sta cominciando un po ad infastidire.....................
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:23.



















