Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Come Spostare un Immagine di Base in - Visual Basic 6.0
Forum - Visual Basic 6 - Come Spostare un Immagine di Base in - Visual Basic 6.0

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
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


ha allegato un file: Come Spostare Le Pedine in Senso Autonomo.zip (585096 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 20:42
Domenica, 21/04/2013
Non saprei, ma per migliorare la lettura del codice usa i tag code. E' il pulsante (Code) in basso a sinistra! :k:

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 9:45
Martedì, 23/04/2013
:ot:

Scusate l'ot ma.

il vb6 è ancora vivo?


Ultima modifica effettuata da Thejuster il 23/04/2013 alle 9:46


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
gibra (Normal User)
Pro


Messaggi: 155
Iscritto: 16/04/2009

Segnala al moderatore
Postato alle 8:44
Mercoledì, 24/04/2013
Testo quotato

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.

PM Quote