Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

[RISOLTO][Aiuto] .X e .Y Random in un Panel
(Questo messaggio è stato modificato l'ultima volta il: 15/08/2011, 22:21 da Cato97.)

Coder
Messaggi: 633
Discussioni: 57
Registrato: 04-2011
Mix: 0
cosa intendi per x1 a sinistra, x2 a destra, y1 in alto e y2 in basso?

EDIT: ho tirato fuori questa schifezza:

Spoiler:
    VBNET Programming
  1. Private rnd_x, rnd_y As Integer
  2. Dim xp1 = PictureBox1.Location.X + PictureBox1.Width
  3. Dim xp2 = PictureBox2.Location.X + PictureBox2.Width
  4. Dim x1 = PictureBox1.Location.X
  5. Dim x2 = PictureBox2.Location.X
  6. Dim yp1 = PictureBox1.Location.Y + PictureBox1.Height
  7. Dim yp2 = PictureBox2.Location.Y + PictureBox2.Height
  8. Dim y1 = PictureBox1.Location.Y
  9. Dim y2 = PictureBox2.Location.Y
  10. If xp1 >= xp2 Or xp1 <= x2 And yp1 >= yp2 Or yp1 <= y2 Then
  11. pnt.Text += 1
  12. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  13. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  14. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  15. PictureBox2.Location = a
  16. End If


(naturalmente sono solo i codici interessati)

e questo è il risultato del debug:

[Per vedere i link devi REGISTRARTI.]


RI-EDIT:
sono ruscito a risolvere il problema sopra indicato, però il codice non funziona a dovere...

RI-RI-EDIT:

ho provato con questo mettendolo in un timer, in modo che è sempre in grado di localizzare la posizione, però quando la pb1 è sulla pb2 cmq nn funziona:

Spoiler:
    VBNET Programming
  1. If PictureBox1.Location.X = PictureBox2.Location.X Then
  2. pnt.Text += 1
  3. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  4. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  5. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  6. PictureBox2.Location = a
  7. ElseIf PictureBox1.Location.X = PictureBox2.Location.Y Then
  8. pnt.Text += 1
  9. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  10. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  11. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  12. PictureBox2.Location = a
  13. ElseIf PictureBox1.Location.Y = PictureBox2.Location.X Then
  14. pnt.Text += 1
  15. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  16. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  17. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  18. PictureBox2.Location = a
  19. ElseIf PictureBox1.Location.Y = PictureBox2.Location.Y Then
  20. pnt.Text += 1
  21. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  22. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  23. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  24. PictureBox2.Location = a
  25. ElseIf PictureBox2.Location.X = PictureBox1.Location.X Then
  26. pnt.Text += 1
  27. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  28. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  29. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  30. PictureBox2.Location = a
  31. ElseIf PictureBox2.Location.X = PictureBox1.Location.Y Then
  32. pnt.Text += 1
  33. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  34. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  35. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  36. PictureBox2.Location = a
  37. ElseIf PictureBox2.Location.Y = PictureBox1.Location.X Then
  38. pnt.Text += 1
  39. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  40. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  41. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  42. PictureBox2.Location = a
  43. ElseIf PictureBox2.Location.Y = PictureBox1.Location.Y Then
  44. pnt.Text += 1
  45. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  46. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  47. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  48. PictureBox2.Location = a
  49. End If



RI-RI-RI-EDIT Asd :
diciamo che ho risolto... mi accontento con questo:
Spoiler:
    VBNET Programming
  1. If PictureBox1.Location.X = PictureBox2.Location.X And PictureBox1.Location.Y = PictureBox2.Location.Y Then
  2. pnt.Text += 1
  3. rnd_x = CInt(Int(((Panel1.Width - PictureBox2.Width) * Rnd()) + 1))
  4. rnd_y = CInt(Int(((Panel1.Height - PictureBox2.Height) * Rnd()) + 1))
  5. Dim a As New System.Drawing.Point(rnd_x, rnd_y)
  6. PictureBox2.Location = a
  7. End If




14/08/2011, 21:15
#5
Cerca


Messaggi in questa discussione
[Nessun oggetto] - da digger - 14/08/2011, 16:30
[Nessun oggetto] - da Cato97 - 14/08/2011, 17:47
[Nessun oggetto] - da digger - 14/08/2011, 20:12
[Nessun oggetto] - da Cato97 - 14/08/2011, 21:15
[Nessun oggetto] - da Skyline@69 - 15/08/2011, 17:08
[Nessun oggetto] - da Patoffo - 15/08/2011, 17:14
[Nessun oggetto] - da Cato97 - 15/08/2011, 19:56
[Nessun oggetto] - da digger - 16/08/2011, 17:20
[Nessun oggetto] - da Cato97 - 16/08/2011, 21:35
[Nessun oggetto] - da Cato97 - 18/08/2011, 1:12
[Nessun oggetto] - da digger - 18/08/2011, 15:17
[Nessun oggetto] - da Luca360 - 18/08/2011, 15:24
[Nessun oggetto] - da Cato97 - 18/08/2011, 15:32
[Nessun oggetto] - da digger - 18/08/2011, 15:29
[Nessun oggetto] - da Skyline@69 - 18/08/2011, 15:46
[Nessun oggetto] - da digger - 18/08/2011, 16:01
[Nessun oggetto] - da Cato97 - 18/08/2011, 18:26

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [aiuto] No segnale su sapphire R9 280. Pocciox 5 2,397 14/01/2015, 22:11
Ultimo messaggio: digger
  aiuto portatile oirad94 1 1,674 22/12/2014, 16:27
Ultimo messaggio: Admin
  Aiuto Nella Definizone Rokys091 9 3,641 25/11/2014, 10:24
Ultimo messaggio: digger



Utenti che stanno guardando questa discussione: 2 Ospite(i)