Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
X Visual Basic.....battaglia navale
giovedì 26 aprile 2007 - 19.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
gio 26 apr 2007 - 19:38
avrei bisogno di qualcuno ke mi dia una mano...seriamente xkè sto andando in crisi..
questo programma lo uso con scuola e devo fare 1 programma di battaglia navala usando i vettori e non ne vengo fuori
è lunga da spiegare...
qualcuno piò darmi 1 mano xfavore? vi prego!!
contattatemi...
grazie!
motogpdesmo16
Profilo
| Senior Member
201
messaggi | Data Invio:
gio 26 apr 2007 - 21:35
Ciao. Inizia a scrivere quali sono le tue perplessità o le tue difficoltà a riguardo.
Sarebbe controproducente che qualcuno ti dia il codice del programmino già bello e pronto poichè non rimarrebbe nulla a te....
Hai già fatto un algoritmo di quello che dovrebbe essere il tuo programma??'
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
gio 26 apr 2007 - 21:54
qualcosa si....ma sn 1pò nel pallone...
vi spiego...
devo fare una battaglia navale dando la possibilità all'utente di scegliere da quante caselle (2o3o4) fare le 3 navi a disposizione e permettere allo stesso l'inserimento delle coordinate ke andranno a rienpire degli appositi vettori(array) con 'visualizzazione' in una skermata composta da dei botton con righe dalla A alla F e colonne dall'1 al 5..
fare vari controlli tipo ke le navi non si intersichino o che le coordinate di una nave vadano in verticale o orizzontale attaccate (qsti controlli non riesco proprio a capire come farli!!!!!!!!!!!!!!).
vi prego aiutatemi!
nn vi kiedo tutto il codice ma qlk spunto qlk pezzo...
voi siete bravi ed espentri!!!
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
ven 27 apr 2007 - 21:44
se vi posto il pezzo di programma ke ho fatto..qualcuno mi aiuta?
se no vi kiedo i pezzettini,i particolari ke nn riesco a fare e mi aiutate su quelli...
un bacione!!!
xxpiccolaxx
motogpdesmo16
Profilo
| Senior Member
201
messaggi | Data Invio:
ven 27 apr 2007 - 21:45
Inizia a postare qualcosa....senza che inserisci del codice penso che per chiunque sarebbe difficile aiutarti procedendo "a tentoni".
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
sab 28 apr 2007 - 13:04
QUESTO è A GRANDI LINEE IL PEZZETTO DI CODICE KE HO FATTO.....è ancora 1 bozza...
Dim i, x As Integer
Dim nave1() As Integer
Dim nave2() As Integer
Dim nave3() As Integer
Private Sub cmdgioca_Click()
If txtx1a.Text = "a" Or "A" Then
txt1a.Text = 1
ElseIf txt1a.Text = "b" Or "B" Then
txt1a.Text = 2
ElseIf txt1a.Text = "c" Or "C" Then
txt1a.Text = 3
ElseIf txt1a.Text = "d" Or "D" Then
txt1a.Text = 4
ElseIf txt1a.Text = "e" Or "E" Then
txt1a.Text = 5
ElseIf txt1a.Text = "f" Or "F" Then
txt1a.Text = 6
End If
If txtx2a.Text = "a" Or "A" Then
txt2a.Text = 1
ElseIf txt2a.Text = "b" Or "B" Then
txt2a.Text = 2
ElseIf txt2a.Text = "c" Or "C" Then
txt2a.Text = 3
ElseIf txt2a.Text = "d" Or "D" Then
txt2a.Text = 4
ElseIf txt2a.Text = "e" Or "E" Then
txt2a.Text = 5
ElseIf txt2a.Text = "f" Or "F" Then
txt2a.Text = 6
End If
If txtx3a.Text = "a" Or "A" Then
txt3a.Text = 1
ElseIf txt3a.Text = "b" Or "B" Then
txt3a.Text = 2
ElseIf txt3a.Text = "c" Or "C" Then
txt3a.Text = 3
ElseIf txt3a.Text = "d" Or "D" Then
txt3a.Text = 4
ElseIf txt3a.Text = "e" Or "E" Then
txt3a.Text = 5
ElseIf txt3a.Text = "f" Or "F" Then
txt3a.Text = 6
End If
If (txtx1a.Text) > 5 Or (txtx1b.Text) > 6 Or (txtx1a.Text) < 1 Or (txtx1b.Text) < 1 Or (txtx2a.Text) > 5 Or (txtx2b.Text) > 6 Or (txtx2a.Text) < 1 Or (txtx2b.Text) < 1 Or (txtx3a.Text) > 5 Or (txtx3b.Text) > 6 Or (txtx3a.Text) < 1 Or (txtx3b.Text) < 1 Then
lblxy.Caption = "inserisci di nuovo i valori richiesti!"
txtx1a.Text = " "
txtx1b.Text = " "
txtx2a.Text = " "
txtx2b.Text = " "
txtx3a.Text = " "
txtx3b.Text = " "
txtx1a.SetFocus
Else
nave1(1) = Val(txtx1a.Text)
nave1(2) = Val(txtx1b.Text)
If optordx1.Value = True Then
nave1(3) = nave1(1) + 1
nave1(4) = nave1(2)
nave1(5) = nave1(3) + 1
nave1(6) = nave1(2)
nave1(7) = nave1(5) + 1
nave1(8) = nave1(2)
ElseIf optorsx1.Value = True Then
nave1(3) = nave1(1) - 1
nave1(4) = nave1(2)
nave1(5) = nave1(3) - 1
nave1(6) = nave1(2)
nave1(7) = nave1(5) - 1
nave1(8) = nave1(2)
ElseIf optversu1.Value = True Then
nave1(3) = nave1(1)
nave1(4) = nave1(2) - 1
nave1(5) = nave1(1)
nave1(6) = nave1(4) - 1
nave1(7) = nave1(1)
nave1(8) = nave1(6) - 1
ElseIf optvergiu1.Value = True Then
nave1(3) = nave1(1)
nave1(4) = nave1(2) + 1
nave1(5) = nave1(1)
nave1(6) = nave1(4) + 1
nave1(7) = nave1(1)
nave1(8) = nave1(6) + 1
Else
lblservizio.Caption = "inserisci TUTTI i criteri per costruire le navi!"
End If
nave2(1) = Val(txtx2a.Text)
nave2(2) = Val(txtx2b.Text)
If optordx2.Value = True Then
nave2(3) = nave2(1) + 1
nave2(4) = nave2(2)
nave2(5) = nave2(3) + 1
nave2(6) = nave2(2)
nave2(7) = nave2(5) + 1
nave2(8) = nave2(2)
ElseIf optorsx2.Value = True Then
nave2(3) = nave2(1) - 1
nave2(4) = nave2(2)
nave2(5) = nave2(3) - 1
nave2(6) = nave2(2)
nave2(7) = nave2(5) - 1
nave2(8) = nave2(2)
ElseIf optversu2.Value = True Then
nave2(3) = nave2(1)
nave2(4) = nave2(2) - 1
nave2(5) = nave2(1)
nave2(6) = nave2(4) - 1
nave2(7) = nave2(1)
nave2(8) = nave2(6) - 1
ElseIf optvergiu2.Value = True Then
nave2(3) = nave2(1)
nave2(4) = nave2(2) + 1
nave2(5) = nave2(1)
nave2(6) = nave2(4) + 1
nave2(7) = nave2(1)
nave2(8) = nave2(6) + 1
Else
lblservizio.Caption = "inserisci TUTTI i criteri per costruire le navi!"
End If
nave3(1) = Val(txtx3a.Text)
nave3(2) = Val(txtx3b.Text)
If optordx3.Value = True Then
nave3(3) = nave3(1) + 1
nave3(4) = nave3(2)
nave3(5) = nave3(3) + 1
nave3(6) = nave3(2)
nave3(7) = nave3(5) + 1
nave3(8) = nave3(2)
ElseIf optorsx3.Value = True Then
nave3(3) = nave3(1) - 1
nave3(4) = nave3(2)
nave3(5) = nave3(3) - 1
nave3(6) = nave3(2)
nave3(7) = nave3(5) - 1
nave3(8) = nave3(2)
ElseIf optversu3.Value = True Then
nave3(3) = nave3(1)
nave3(4) = nave3(2) - 1
nave3(5) = nave3(1)
nave3(6) = nave3(4) - 1
nave3(7) = nave3(1)
nave3(8) = nave3(6) - 1
ElseIf optvergiu3.Value = True Then
nave3(3) = nave3(1)
nave3(4) = nave3(2) + 1
nave3(5) = nave3(1)
nave3(6) = nave3(4) + 1
nave3(7) = nave3(1)
nave3(8) = nave3(6) + 1
Else
lblservizio.Caption = "inserisci TUTTI i criteri per costruire le navi!"
End If
For i = 1 To x Step 2
If (nave1(x) <= 0) Or (nave1(x) > 5) Then
lblservizio.Caption = "la nave da te scelta esce dal campo..inserisci di nuovo!"
Next i
For i = 2 To x Step 2
If (nave1(x) <= 0) Or (nave1(x) > 6) Then
lblservizio.Caption = "la nave da te scelta esce dal campo..inserisci di nuovo!"
Next i
For i = 1 To x Step 2
If (nave2(x) <= 0) Or (nave2(x) > 5) Then
lblservizio.Caption = "la nave da te scelta esce dal campo..inserisci di nuovo!"
Next i
For i = 2 To x Step 2
If (nave2(x) <= 0) Or (nave2(x) > 6) Then
lblservizio.Caption = "la nave da te scelta esce dal campo..inserisci di nuovo!"
Next i
For i = 1 To x Step 2
If (nave3(x) <= 0) Or (nave3(x) > 5) Then
lblservizio.Caption = "la nave da te scelta esce dal campo..inserisci di nuovo!"
Next i
For i = 2 To x Step 2
If (nave3(x) <= 0) Or (nave3(x) > 6) Then
lblservizio.Caption = "la nave da te scelta esce dal campo..inserisci di nuovo!"
Next i
For i = 1 To x Step 2
if nave1(x)
controllare sovrapposizione!!!!
se qualche coppia di coordinata è uguale ad un'altra coppia di coordinate delle altre 2 navi deve segnare errore!!
End Sub
Private Sub cmdok_Click()
If optn2.Value = True Then
ReDim nave1(4)
ReDim nave2(4)
ReDim nave3(4)
x = 4
ElseIf optn3.Value = True Then
ReDim nave1(6)
ReDim nave2(6)
ReDim nave3(6)
x = 6
ElseIf optn4.Value = True Then
ReDim nave1(8)
ReDim nave2(8)
ReDim nave3(8)
x = 8
Else
lblservizio.Caption = "inserisci il criterio per costruire le navi!"
End If
End Sub
spero possiate capire qualcosa...
un bacione!!!
xxpiccolaxx
motogpdesmo16
Profilo
| Senior Member
201
messaggi | Data Invio:
lun 30 apr 2007 - 09:27
Una domanda:
potresti spiegarmi cosa hai intenzione di fare quando fai "if..... = "A" or "a"; if ..... = "B" or "b""... personalmente, pur conoscendo il gioco della battaglia navale, non l'ho capita quella sequenza di operazioni
.
Volevi forse delimitare la dimensione dell'area di gioco??? (3x3, 4x4, 5x5, 6x6)
Cerca di rispondere a questa domanda così qualcosa sarà più chiaro....
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
lun 30 apr 2007 - 14:04
è semplicemente xk il campo è formato da 1-2-3-4-5 colonne e da A-B-C-D-E-F righe e l'utente x immettere le coordinate delle navi x il loro posizionamento inserisce una lettera e un numero... l'operazione consiste poi nel cambiare la lettera in numero x semplificare il lavoro nel codice ed utilizzare solo numeri nonostante l'utente abbia inserito anke lettere nelle coordinate.
un bacione!!!
xxpiccolaxx
motogpdesmo16
Profilo
| Senior Member
201
messaggi | Data Invio:
lun 30 apr 2007 - 15:52
E perchè questa "conversione" la fai per tre volte??? txt1a, txt2a, txt3a????
...come non detto....ho riletto il sorgente e mi son accorto che crei, contestualmente, 3 vettori perchè le navi sono 3.
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
mar 1 mag 2007 - 10:13
si esatto...le navi sono 3..
faccio la conversione solo3 volte xk sn 3 le lettere ke l'utente inserisce..
un bacione!!!
xxpiccolaxx
progradanitro
Profilo
| Newbie
3
messaggi | Data Invio:
mer 9 mag 2007 - 08:24
ciao .
scolta una soluzione per controllare se le navi si intersecano , è immaginare il campo di battaglia come una matrice.
nel momento in cui un nave viene posizionata , tu nella matrice,nelle rispettive posizioni , inserisci un numero tipo 1.
quando l'utente inserirà una nuova nave ti basterà controllare che nei punti dove lui vuole posizionare la nave , la matrice sia diversa da 0 .
ti può essere utile ?
alla prossima
Walimay
Profilo
| Newbie
13
messaggi | Data Invio:
mar 15 mag 2007 - 14:10
una cosa che ti semplifica la lettura del codice e' modificare questo:
If txtx1a.Text = "a" Or "A" Then
txt1a.Text = 1
ElseIf txt1a.Text = "b" Or "B" Then
txt1a.Text = 2
ElseIf txt1a.Text = "c" Or "C" Then
txt1a.Text = 3
ElseIf txt1a.Text = "d" Or "D" Then
txt1a.Text = 4
ElseIf txt1a.Text = "e" Or "E" Then
txt1a.Text = 5
ElseIf txt1a.Text = "f" Or "F" Then
txt1a.Text = 6
con:
Select case txtx1a.text.tolower
case "a"
txtx1a.text= 1
case "b"
...
end select
per il resto farei una matrice bidimensionale da x,x celle e gestirei con 1/0 il fatto che ci sia la nave o meno.
la cosa funziona sia che serva controllare sovrapposizioni sia per controllare il colpo a segno o meno.
ciao !!
Waly
Walimay
newbie developer in vb.net
Sistemista ambiente MSWindows
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
mar 15 mag 2007 - 16:28
grazie mille!
avrei bisogno di sapere una cosa xò.. cos'è "TOLOWER" (?) nel ciclo case?
baci..
p.s. le matrici purtroppo il prof nn ce le lascia usare in qsto programma...
un bacione!!!
xxpiccolaxx
kasuken
Profilo
| Newbie
18
messaggi | Data Invio:
mer 16 mag 2007 - 11:03
il tolower è una funzione che trasforma un testo in un testo con tutti i caratteri minuscoli... ad esempi CASA, cAsA, caSa in casa.
ciao
xxpiccolaxx
Profilo
| Newbie
8
messaggi | Data Invio:
mer 16 mag 2007 - 16:49
ah! grazie...
uso la funz. Ucase ke è la stessa cosa...
grazie mille!
un bacione!!!
xxpiccolaxx
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !