Oppure

Loading
21/04/13 18:01
Buona Sera Mi chiamo Maurizio : O un problema che Vorrei risolvere in Visual Basic 6.0 .
Ora il Discorso e questo : Molto Tempo Fa sono Stato in grado di Ricostruire il Classico Gioco Dei 15 Numeri da Riordinare ; ora sino qui nulla di Eclatante , Il problema ora Sorge quando mi sono forse Stupidamente Accorto che potrei rendere il Tutto un pochino più Accattivante , facendo si che non Siano i Numeri a Roteare all'interno degli Oggetti ; ma Fossero gli oggetti Numerati Stessi a roteare tra di loro .
Ora io Premetto di essere da Sempre un Autodidatta , per qui sono più predisposto a Seguire una Certa logica visiva Buttata di Volta in Volta direttamente sul campo ; piuttosto portata alla logica vera e propria , come voi Programmatori siete più portati a fare.
Questo e il motivo per qui , Non dico d'averci tentato in questa mia nuova Impresa , ma logicamente sono arrivato sino ad un Certo Punto dopo di che mi sono Arenato .
Ora il problema e Questo : Avendo delle Immagini Numerate che Vanno dall 1 al 15 ; più Una Cosi detta Neutra , lo scopo di questo mio gioco e o Sarebbe meglio dire Quello di Far Spostare di Volta in volta i Suddetti numeri ; aiutandomi con la Pedina Neutra ; Ora sino a che mi e stato possibile e Seguendo una Linea Orizzontale il Tutto Funziona a meraviglio ! il Problema nasce quando voglio Usare i numeri Posti in verticale .
In quanto , se provo a spostare il Numero 15 Preso Per Ipotesi iniziale facendolo Comparire alla mia Destra nulla è ; il problema sorge Quando provo a far Scendere il Numero 10 , in modo tale da riuscire a salire di una posizione . Il mio Listato e Questo :
Private Declare Function Play Lib "WINMM.DLL" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Dim num(0 To 15), coppia(0 To 15), Conta, Vinto As Byte
Dim E(0, 14) As Byte
Dim i(0, 15) As Byte
Dim R(0, 13) As Byte

Dim BottoniOrizzontali(1 To 15) As Variant
Dim BottoniVerticali(1 To 15) As Variant

Private Sub Cmd_AvviaGioco_Click()
Inizio
End Sub

Private Sub Cmd_Azzera_Click()
Dim R As Integer
For R = 0 To 14
P1(R).Visible = True
Next R
Call PosizioneOggetti
End Sub

Sub ClickBottone(left As Byte, top As Byte)

End Sub

Private Sub Form_Load()
On Error Resume Next
'Chiama la Base della Scacchiera e le Pedine all'avvio del Programma
Dim i As Integer
For i = 0 To 15
Base1(i).Picture = LoadPicture("Oggetti\Forma.bmp";)
Next i
P1(0).Picture = LoadPicture("oggetti\PallinoGiallo 1.bmp";)
P1(1).Picture = LoadPicture("oggetti\PallinoGiallo 2.bmp";)
P1(2).Picture = LoadPicture("oggetti\PallinoGiallo 3.bmp";)
P1(3).Picture = LoadPicture("oggetti\PallinoGiallo 4.bmp";)
P1(4).Picture = LoadPicture("oggetti\PallinoGiallo 5.bmp";)
P1(5).Picture = LoadPicture("oggetti\PallinoGiallo 6.bmp";)
P1(6).Picture = LoadPicture("oggetti\PallinoGiallo 7.bmp";)
P1(7).Picture = LoadPicture("oggetti\PallinoGiallo 8.bmp";)
P1(8).Picture = LoadPicture("oggetti\PallinoGiallo 9.bmp";)
P1(9).Picture = LoadPicture("oggetti\PallinoGiallo 10.bmp";)
P1(10).Picture = LoadPicture("oggetti\PallinoGiallo 11.bmp";)
P1(11).Picture = LoadPicture("oggetti\PallinoGiallo 12.bmp";)
P1(12).Picture = LoadPicture("oggetti\PallinoGiallo 13.bmp";)
P1(13).Picture = LoadPicture("oggetti\PallinoGiallo 14.bmp";)
P1(14).Picture = LoadPicture("oggetti\PallinoGiallo 15.bmp";)
P1(15).Picture = LoadPicture("oggetti\PallinoGiallo .jpg";)
End Sub

Private Sub Form_Resize()
On Error Resume Next
Me.Height = 6468
Me.left = 0
Me.top = 0
Me.Width = 8028
End Sub

Sub PosizioneOggetti()
On Error Resume Next
P1(0).left = 1200
P1(0).top = 1200
'_____________________________

P1(1).left = 2280
P1(1).top = 1200
'______________________________

P1(2).left = 3360
P1(2).top = 1200
'______________________________

P1(3).left = 4440
P1(3).top = 1200
'______________________________

P1(4).left = 1200
P1(4).top = 2280
'______________________________

P1(5).left = 2280
P1(5).top = 2280
'______________________________

P1(6).left = 3360
P1(6).top = 2280
'______________________________

P1(7).left = 4440
P1(7).top = 2280
'______________________________

P1(8).left = 1200
P1(8).top = 3360
'______________________________

P1(9).left = 2280
P1(9).top = 3360
'______________________________

P1(10).left = 3360
P1(10).top = 3360
'______________________________

P1(11).left = 4440
P1(11).top = 3360
'______________________________

P1(12).left = 1200
P1(12).top = 4440
'______________________________

P1(13).left = 2280
P1(13).top = 4440
'______________________________

P1(14).left = 3360
P1(14).top = 4440

End Sub

Private Sub click()
Dim Ret As Long
Dim file As String
file = "oggetti\camera1.wav"
Ret = Play(file, SND_ASYNC)
End Sub

Private Sub P1_Click(Index As Integer)
On Error Resume Next
click
Select Case Index
Case 14
P1(14).Move 4440, 4440
P1(15).Move 3360, 4440
Case 13
P1(13).Move 3360, 4440
P1(15).Move 2280, 4440
Case 12
P1(12).Move 2280, 4440
P1(15).Move 1200, 4440
Case 11
P1(11).Move 4440, 4440
P1(15).Move 4440, 3360
Case 10
P1(10).Move 4440, 3360
P1(15).Move 3360, 3360
Case 9
P1(9).Move 3360, 3360
P1(15).Move 2280, 3360
Case 8
P1(8).Move 2280, 3360
P1(15).Move 1200, 3360
Case 7
P1(7).Move 4440, 3360
P1(15).Move 4440, 2280
Case 6
P1(6).Move 4440, 2280
P1(15).Move 3360, 2280
Case 5
P1(5).Move 3360, 2280
P1(15).Move 2280, 2280
Case 4
P1(4).Move 2280, 2280
P1(15).Move 1200, 2280
Case 3
P1(3).Move 4440, 2280
P1(15).Move 4440, 1200
Case 2
P1(2).Move 4440, 1200
P1(15).Move 3360, 1200
Case 1
P1(1).Move 3360, 1200
P1(15).Move 2280, 1200
Case 0
P1(0).Move 2280, 1200
P1(15).Move 1200, 1200
End Select

Select Case Index
Case 18
P1(10).Move 3360, 4440
P1(15).Move 3360, 3360
P1(10).Move 0, 0
Case 19
P1(10).Move 3360, 4440
P1(15).Move 3360, 3360
P1(12).Move 4440, 4440
Case 20
P1(6).Move 3360, 3360
P1(15).Move 3360, 2280
Case 21
P1(2).Move 3360, 2280
P1(15).Move 3360, 1200
End Select
End Sub


Private Sub Inizio()
On Error Resume Next
For a = 0 To 14
P1(a).Enabled = True
Next a

For m = 0 To 14
coppia(m) = 0
P1(m).Visible = True
P1(m).Visible = True
Next m

For z = 0 To 14
Do
Randomize
num(z) = Int(15 * Rnd)
Loop While coppia(num(z)) = 100
coppia(num(z)) = 100
Next z
For z = 0 To 14
Select Case num(z)
Case 0
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 1.bmp";)
Case 1
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 2.bmp";)
Case 2
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 3.bmp";)
Case 3
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 4.bmp";)
Case 4
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 5.bmp";)
Case 5
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 6.bmp";)
Case 6
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 7.bmp";)
Case 7
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 8.bmp";)
Case 8
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 9.bmp";)
Case 9
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 10.bmp";)
Case 10
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 11.bmp";)
Case 11
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 12.bmp";)
Case 12
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 13.bmp";)
Case 13
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 14.bmp";)
Case 14
P1(z).Picture = LoadPicture("OGGETTI\pallinoGiallo 15.bmp";)
Case 15
P1(15).Picture = LoadPicture("OGGETTI\pallinoGiallo.jpg";)
End Select
Next z
End Sub

Private Sub SelzOrizzontale()
BottoniOrizzontali(1).Move 4440, 4440

End Sub

Invio mio progetto di prova ; anche sé non voglio che me lo Svolgiate del tutto voi ; Mi basta solo che riusciate a far Spostare in Senso Orizzontale e in verticale anche solo la Prima riga che va dal " 14 - al 2 " Grazie di tutto l'aiuto che riuscirete a darmi Sinceri saluti in fede A. Maurizio
21/04/13 18:42
LittleHacker
Non saprei, ma per migliorare la lettura del codice usa i tag code. E' il pulsante (Code) in basso a sinistra! :k:
aaa
23/04/13 7:45
Thejuster
:ot:

Scusate l'ot ma.

il vb6 è ancora vivo?

Ultima modifica effettuata da Thejuster 23/04/13 7:46
mire.forumfree.it/ - Mire Engine
C# UI Designer
24/04/13 6:44
gibra
Postato originariamente da Thejuster:

:ot:

Scusate l'ot ma.

il vb6 è ancora vivo?


Francamente non capisco il senso della domanda, ma la risposta è, ovviamente, sì, per chi ce l'ha.

Chi ha realizzato e venduto programmi deve avere anche la possibilità di fare manutenzione degli stessi.
aaa