dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006
-
26 mai 2005 à 16:35
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006
-
26 mai 2005 à 17:15
salut à tous,
j'ai encor un problèm pour fair un pong deux joueur^^j'ai mon interface qui est fait de deux labels(pour les points)de deux raquettes et d'un balle et d'un timer sur interval 1000,et ma feuille de code:
Public
Class Form1
Public ballMouveTop
Public ballMouveLeft
Public player1MouveTop
Public player1MouveLeft
Public direction
Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load
End
Sub
Private
Sub Timer1_Tick(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Timer1.Tick
Call pl1mouve()
Call pl2mouve()
Call BalleRebonditEnHaut()
Call BalleRebonditEnBas()
Call Player2MarqueUnPoint()
Call Player1MarqueUnPoint()
Call ballrebonditsurplayer1()
Call ballrebonditsurplayer2()
Call mouvementdelaballe()
End
Sub
Sub pl1mouve()
Select
Case direction
Case 1 : player1.Top = player1.Top - 25
Case 2 : player1.Top = player1.Top + 25
End
Select
End
Sub
Sub pl2mouve()
Select
Case direction
Case 3 : player2.Top = player2.Top - 25
Case 4 : player2.Top = player2.Top + 25
End
Select
End
Sub
Sub ballrebonditsurplayer1()
If ball.Left < (player1.Left + player1.Width)
And ball.Left > player1.Left
And (ball.Top + ball.Width) > player1.Top
And ball.Top < (player1.Top + player1.Height)
Then
ballMouveLeft = 25
End
If
End
Sub
Sub ballrebonditsurplayer2()
If (ball.Left + ball.Width) < (player2.Left + player2.Width)
And (ball.Left + ball.Width) > player2.Left
And (ball.Top + ball.Width) > player2.Top
And (ball.Top + ball.Width) < (player2.Top + player2.Height)
Then
ballMouveLeft = 100
End
If
End
Sub
Sub mouvementdelaballe()
ball.Top = ball.Top + ballMouveTop
ball.Left = ball.Left + ballMouveLeft
End
Sub
Sub Player1MarqueUnPoint()
Dim pl1nbr
As
Integer
If ball.Left > 300
Then
pl1nbr = pl1nbr + 1
ball.Left = -25
ball.Left = -25
ballMouveLeft = -25
ballMouveTop = +25
End
If
End
Sub
Sub Player2MarqueUnPoint()
Dim pl2nbr
As
Integer
If ball.Left < 130
Then
pl2nbr = pl2nbr + 1
ball.Left = -25
ball.Left = -25
ballMouveLeft = -25
ballMouveTop = +25
End
If
End
Sub
Sub BalleRebonditEnBas()
If (ball.Top + ball.Width) > 430
Then
ballMouveTop = +50
End
If
End
Sub
Sub BalleRebonditEnHaut()
If (ball.Top + ball.Width) > 85
Then
ballMouveTop = -50
End
If
End
Sub
Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click
direction = 1
End
Sub
Private
Sub Button2_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button2.Click
direction = 2
End
Sub
Private
Sub Button3_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button3.Click
direction = 3
End
Sub
Private
Sub Button4_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button4.Click
direction = 4
End
Sub
End
Class
voila alors mon problèm c'est quand faites ma balle disparait je peux fair bouger mes raquette mais au bout d'un seconde(enfaites c'est dès que le tiuler appelle les fonction j'ai tester avec plusieur valeur d'intervale)la balle disparait alors peut-etre qu'elle bouge très très loin (ma feuille fait 760; 530)mais pourtant j'ai essayer de bien coordonner les mouvements de la balles avec la taille de la feuille donc si vous avez la solution ca serait cool
merci d'avance
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006 26 mai 2005 à 17:15
si tu regardes bien je m'en suis très largement inspiré meme si j'ai pas pris les meme mesure vu que'elles ne rentrent pas
en plus mon pong fonctionnent grace a des boutons et est fait pur deux personnes