Accueil > > > UN PONG TOUT BETE
UN PONG TOUT BETE
Information sur la source
Description
Hé bien je suis certain que ce n'est pas le premier sur ce site ;-) Néanmoin la plupart de ceux que j'ai vu utilisais des controle comme des label ou images :O Celui ci est tout bete , et tien dans une seule sub, il utilise aucun control (sauf la form biensur) Donc vous n'avez qu'a copîer-coller le code et faire F5 :P Il gère les resize de form Pour les control c'est : A et Z pour le joueur 1 et FLECHE HAUT et FLECHE BAS pour le joueur 2. Il y a aussi un limitateur de frame parce que sur ma machine du moin j'approchais du million de frame par secondes sans limite et en mode compilé :-/.
Source
- Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
-
- Sub pong()
- Dim Raq1 As Integer: Raq1 = Height / 2 - 1000
- Dim Raq2 As Integer: Raq2 = Height / 2 - 1000
- Dim BalleX As Integer: BalleX = 1000
- Dim BalleY As Integer: BalleY = 1000
- Dim BalleXP As Integer: BalleXP = 75
- Dim BalleYP As Integer: BalleYP = 75
- Dim PointJ1 As Integer, PointJ2 As Integer
- Dim FPS, temp, F
- AutoRedraw = True
- ForeColor = RGB(255, 255, 255)
- BackColor = RGB(0, 0, 0)
- Do
- DrawWidth = (Height / 740)
- FPS = FPS + 1
- If GetAsyncKeyState(65) < 0 Then If Raq1 - (Height / 32) > 100 Then Raq1 = Raq1 - (Height / 32) '65
- If GetAsyncKeyState(90) < 0 Then If Raq1 + (Height / 32) < Height - ((Height / 4) + 500) Then Raq1 = Raq1 + (Height / 32) '90
- If GetAsyncKeyState(38) < 0 Then If Raq2 - (Height / 32) > 100 Then Raq2 = Raq2 - (Height / 32) '38
- If GetAsyncKeyState(40) < 0 Then If Raq2 + (Height / 32) < Height - ((Height / 4) + 500) Then Raq2 = Raq2 + (Height / 32) '40
- Cls
- CurrentX = Width - 800: Print Format(F, "00") & " FPS":: If temp <= Timer Then temp = Timer + 1: F = FPS: FPS = 0
- PSet (BalleX, BalleY) 'On dessine la balle
- Line (100, Raq1)-(100, Raq1 + (Height / 4)) 'La raquete gauche
- Line (Width - 300, Raq2)-(Width - 300, Raq2 + (Height / 4)) 'La raquette droite
- CurrentX = (Width / 2) - TextWidth("XX a XX")
- CurrentY = 20
- Print Format(PointJ1, "00") & " à " & Format(PointJ2, "00") 'Affiche le score
- If BalleY >= Height - 500 Then BalleYP = -75
- If BalleY <= 100 Then BalleYP = 75
- If (BalleX > Width - 400) And (BalleY >= Raq2) And (BalleY <= Raq2 + (Height / 4)) Then BalleXP = -75
- If (BalleX <= 200 And BalleY > 0) And (BalleY >= Raq1) And (BalleY <= Raq1 + (Height / 4)) Then BalleXP = 75
- If BalleX < 0 Then PointJ2 = PointJ2 + 1: BalleX = Width / 2: BalleXP = 75
- If BalleX > Width Then PointJ1 = PointJ1 + 1: BalleX = Width / 2: BalleXP = -75
- BalleX = BalleX + BalleXP
- BalleY = BalleY + BalleYP
- i = Timer + 0.03
- While Timer < i
- DoEvents
- Wend
- DoEvents
- Loop
- End Sub
-
- Private Sub Form_Load()
- Show
- Call pong
- End Sub
-
- Private Sub Form_Unload(Cancel As Integer)
- End
- End Sub
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub pong()
Dim Raq1 As Integer: Raq1 = Height / 2 - 1000
Dim Raq2 As Integer: Raq2 = Height / 2 - 1000
Dim BalleX As Integer: BalleX = 1000
Dim BalleY As Integer: BalleY = 1000
Dim BalleXP As Integer: BalleXP = 75
Dim BalleYP As Integer: BalleYP = 75
Dim PointJ1 As Integer, PointJ2 As Integer
Dim FPS, temp, F
AutoRedraw = True
ForeColor = RGB(255, 255, 255)
BackColor = RGB(0, 0, 0)
Do
DrawWidth = (Height / 740)
FPS = FPS + 1
If GetAsyncKeyState(65) < 0 Then If Raq1 - (Height / 32) > 100 Then Raq1 = Raq1 - (Height / 32) '65
If GetAsyncKeyState(90) < 0 Then If Raq1 + (Height / 32) < Height - ((Height / 4) + 500) Then Raq1 = Raq1 + (Height / 32) '90
If GetAsyncKeyState(38) < 0 Then If Raq2 - (Height / 32) > 100 Then Raq2 = Raq2 - (Height / 32) '38
If GetAsyncKeyState(40) < 0 Then If Raq2 + (Height / 32) < Height - ((Height / 4) + 500) Then Raq2 = Raq2 + (Height / 32) '40
Cls
CurrentX = Width - 800: Print Format(F, "00") & " FPS":: If temp <= Timer Then temp = Timer + 1: F = FPS: FPS = 0
PSet (BalleX, BalleY) 'On dessine la balle
Line (100, Raq1)-(100, Raq1 + (Height / 4)) 'La raquete gauche
Line (Width - 300, Raq2)-(Width - 300, Raq2 + (Height / 4)) 'La raquette droite
CurrentX = (Width / 2) - TextWidth("XX a XX")
CurrentY = 20
Print Format(PointJ1, "00") & " à " & Format(PointJ2, "00") 'Affiche le score
If BalleY >= Height - 500 Then BalleYP = -75
If BalleY <= 100 Then BalleYP = 75
If (BalleX > Width - 400) And (BalleY >= Raq2) And (BalleY <= Raq2 + (Height / 4)) Then BalleXP = -75
If (BalleX <= 200 And BalleY > 0) And (BalleY >= Raq1) And (BalleY <= Raq1 + (Height / 4)) Then BalleXP = 75
If BalleX < 0 Then PointJ2 = PointJ2 + 1: BalleX = Width / 2: BalleXP = 75
If BalleX > Width Then PointJ1 = PointJ1 + 1: BalleX = Width / 2: BalleXP = -75
BalleX = BalleX + BalleXP
BalleY = BalleY + BalleYP
i = Timer + 0.03
While Timer < i
DoEvents
Wend
DoEvents
Loop
End Sub
Private Sub Form_Load()
Show
Call pong
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Conclusion
C'est vraiment très basique comme code , mais bon j'avais jamais codé de pong depuis que je programme :)
Théoriquement il devrait pas y avoir de bugs , malgré le fait que je ne l'aille pas soumis a un test rigoureux...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Ping Timeout Pong, petit jeu [ par Mattis ]
Voilà, je cherche à faire un script pr un petit jeu que nous avons sur notre chan. Lorsque que quelqu'un sort en (ping timeout) c'est au pl
Problème avec mon ami Winsock !!! [ par manFIRE ]
Salut a tous J'ai créer un client mirc qui se connect très bien .il répond au PONG du server If Left(receive, 4) = "PING" Thenreceive = Left(receive,
passer des arguments à un thread [ par aragornis ]
Je souhaite pinger de nombreuses ip à la suite. Pour cela je compte utiliser un thread qui lancerait pour chaque ip la fonction qui ping mais encore f
cmd DOS TRACERT & PING dans applic VB [ par LeTech ]
Bonjour à tous,je commencerai par féliciter toutes les personnes qui gèrent et qui apportent leurs connaissances à ce forum et qui le rendent très int
ping [ par mathieu57100 ]
bonjour, peut on tester la présence d'un ordinateur sur le réseau en utlisant soit nom ou son ip mais sans la commande shell?
comme > sous DOS [ par mathieu57100 ]
Bonjour,je voulais savoir si il était possible d'envoyer le résultat d'une commande DOS avec shell dans une variable.Sous DOS, si je fais par exemple
Ping en VbScript [ par fdthierry ]
Bonjour,Est il possible d'effectuer un ping via le VBS d'une station sans utiliser la fonction Shell.Run "Ping 192.168.1.1"Ceci afin de travailler ave
Aide svp sur le sens de ping à quoi ça sert [ par kapisko17 ]
vous savez je trouve tres souvent ce terme et le probele je comprend pas à quoi ça sert svp si vous avez une idez repondez ça urge!!!!! vous pouver me
Longueur de chaine (classique newbie) [ par atlas189 ]
Bonjour , je débute en c++Pourriez-vous corriger mon code .Le principe est de renvoyé la longueur d'une chaine tapée au clavier .MerciBon c'est archi-
Comment recuperer dans un fichier la sortie du commande ping -t [ par degueret ]
Bonjour!je cherche à écrir un programme informatique en visual basic 6, qui fait:1 - lance la commande ping avec l'option -t2 - Enregistre dans un f
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : DATAREPORTRE : DATAREPORT par sabrinelle
Cliquez pour lire la suite par sabrinelle RE : DATAREPORTRE : DATAREPORT par NHenry
Cliquez pour lire la suite par NHenry DATAREPORTDATAREPORT par sabrinelle
Cliquez pour lire la suite par sabrinelle
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|