Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

[VB] CRÉER UN PONG :: NIVEAU DÉBUTANT


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 15/07/2004 13:13:55 Vu : 19 995 fois

Note :
9,71 / 10 - par 14 personnes
9,71 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

Tutorial

Note : J'avais réaliser ce tutorial pour un ami, ne vous étonnez donc pas si je vous tutoies dans le lignes qui suivent.
Note 2 : je ne sais pas si les images s'afficheront, elles ne sont pas primordials de toutes façons.


Tutorial Visual Basic : Créer un Pong.

 

 

Pré-requis nécessaire :

 

            Les variables : une variable est une valeur (des chiffres, des lettres, ou les deux) stocké sous un nom. Par exemple :

Variable1 = 22

Button1.Caption = Variable1

Cet exemple n’affiche  pas « Variable1 » sur le bouton, mais il affiche 22. C’est à dire la valeur associé au nom Variable1. C’est clair ? Bon. Il faut aussi savoir comment créer une variable dans le code. Ouvre la fenêtre de code, monte tout en haut de cette dernière, en dehors de toutes les fonctions, et tape :

Public Le_Nom_De_Ta_Variable

 

Cet exemple crée une variable appelé Le_Nom_De_Ta_Variable. Tu peux bien évidemment changer ce nom. Elle ne lui assigne par contre aucune valeur. Elle est donc, par defaut, égale à « Null ». Pour lui assigner une autre valeur, il faut te rendre à l’intérieur d’une fonction (c’est à dire entre les bornes « Private Sub» et « End Sub » ) et taper :

Le_Nom_De_Ta_Variable = « La_Valeur ».

 

Attention : la valeur que tu veux assigner à ta variable doit être mise entre guillemets si elle contient des lettres. Tu ne devra pas en mettre par contre si elle ne contient QUE des chiffres.

            Tu peux aussi assigner à une variable la valeur d’une autre variable, comme ceci :

Var1 = 22

Var2 = Var1

 

Cet exemple donne pour valeur 22 aux deux variables.

Tu peux aussi assigner un calcul comme valeur :

Var1 = 22

Var2 = 44

Var3 = Var1 + Var2 + 66

 

Cet exemple donne pour valeur 132 à la variable Var3 (c’est à dire le résultat de 22 + 44 + 66).

 

                        La boucle If-Then-Else : La boucle If-Then-Else te permet de ne réaliser certaines actions que si une certaine conditions est verifié :

Var1 = 22

If Var1 = 22 Then

            Var2 = Var1

End If

 

Cet exemple est tout bête : il assigne 22 à la variable Var1. Ensuite arrive la  boucle If. Sa condition est : If Var1 = 22 Then. C’est à dire : Si Var1 = 22 Alors. La variable Var1 étant bien égale à 22, l’ordinateur exécute la ligne suivante : Var2 = Var1. Si Var1 n’avait pas été égale à 22, l’ordinateur serait aller directement à la ligne End If, sans exécuter la ligne Var1 = Var2.  La ligne End If est la fin de la boucle If Then Else.

 

 

Voici un exemple plus compliqué :

Var1 = 22

If Var1 < 22 Then

            ...blablabla...

ElseIf Var1 > 22 Then

            ...blablabla...

Else

            ...blablabla...

End If

 

Cet exemple assigne la valeur 22 à Var1. Ensuite la boucle If teste si Var1 est inférieur ( signe < ) à 22. Vue qu’elle ne l’est pas, l’ordinateur va à la ligne ElseIf Var1 > 22 Then. Cette ligne teste si Var1 est supérieur (signe > ) à 22. Vue qu’elle ne l’est pas non plus, elle va à la ligne Else qui signifie : si aucunes des conditions si-dessus ne sont respectés, alors… Vue que Var1 n’est ni inférieur, ni supérieur à 22, l’ordinateur exécute les lignes contenues entre Else et End If. C’est clair ?

 

 

Début du cours :

 

Commençons tout de suite les choses sérieuses :

Lance Visual Basic. Fait EXE Standard. Agrandit la feuille pour qu’elle ait les dimensions suivantes : Width = 7620, Height = 5310.

Dans sa fenêtre de PROPRIETE, change les valeurs suivantes :

Nom de la valeur

Valeur de départ

Changer en …

Backcolor

Blanc

Noir

BorderStyle

2 - Sizable

1 – Fixed Single

Caption

Form1

Pong !

Ensuite, on va créer un menu qui servira à régler le difficulté :

Clique sur ce bouton (3ème bouton de la barre d'outils) :

Voici a peu près la fenêtre qui s’affiche :

Dans Caption, tape « 3 », puis dans Name, tape « Trois ».

Clique ensuite sur Insérer, Puis dans Caption retape « 2 », et dans Name « Deux ». Clique encore sur insérer, et retape « 1 » dans Caption et « Un » dans Name. Clique sur OK pour fermer la fenêtre

            Un menu à dût apparaître sur Form1, portant les chiffres 1, 2 , et 3. Il nous serviront à régler la difficulté plus tard. Crée maintenant un pictureBox ( c’est l’icône en haut à droite de la BARRE D’OUTILS) quelconque. Puis, dans la barre de PROPRIETE, change ces valeurs :

Nom de la valeur

Valeur actuelle

Changer en …

Name

Picture1 (je crois…)

Player1 

BorderStyle

1 – Fixed Single 

2 – None

BackColor

Je sais plus

Blanc

Left

?

240

Top

?

1440

Height

?

1575

Width

?

255

 

            Tu obtiens un beau rectangle blanc à gauche de la feuille. Ce sera la raquette du joueur. Re-Crée un PictureBox avec ces PROPRIETES :

Nom de la valeur

Valeur actuelle

Changer en …

Name

Picture1 (je crois…)

Ball

BorderStyle

1 – Fixed Single 

2 – None

BackColor

Je sais plus

Blanc

Left

?

3360

Top

?

2040

Height

?

255

Width

?

255

Ca, ce sera la balle.

 

 

            Re-Re-Crée un PictureBox avec ces PROPRIETES :

Nom de la valeur

Valeur actuelle

Changer en …

Name

Picture1 (je crois…)

Player2

BorderStyle

1 – Fixed Single 

2 – None

BackColor

Je sais plus

Blanc

Left

?

7080

Top

?

1440

Height

?

1575

Width

?

255

Et ça se sera la raquette contrôlée par l’ordinateur.

Maintenant, crée 6 Timer (l’icône en forme de chronomètre).

Tu peux les placer où tu veux, ils sont invisible pendant l’exécution de l’application.

Associe 75 à la PROPRIETE Interval du premier Timer (portant le nom Timer1).

Associe 1500 à la propriété Interval du deuxième Timer (portant le nom Timer2).

Associe 3000 à la propriété Interval du troisième Timer (portant le nom Timer3).

Associe 6000 à la propriété Interval du quatrième Timer (portant le nom Timer4).

Associe 8000 à la propriété Interval du cinquième Timer (portant le nom Timer5).

Associe 16000 à la propriété Interval du sixième Timer (portant le nom Timer6).

Il te reste à créer deux label (Deuxième icône à gauche en partant du haut) :

Voici leurs PROPRIETE :

            Label n°1 :

Nom de la valeur

Valeur actuelle

Changer en …

Name

Label1 (je crois…)

P1Nbr

Caption

Label1

00

BackColor

Je sais plus

Noir

ForeColor

Noir

Blanc

Font

?

Taille : 24 / Gras /             Time New Roman

--

--

--

--

--

--

Je te laisse le placer où tu veux, en sachant que ce sera le compteur de points du joueur 1.

 

Label n°2 :

Nom de la valeur

Valeur actuelle

Changer en …

Name

Label1 (je crois…)

P2Nbr

Caption

Label1

00

BackColor

Je sais plus

Noir

ForeColor

Noir

Blanc

Font

?

Taille : 24 / Gras /             Time New Roman

--

--

--

--

--

--

Je te laisse le placer où tu veux, en sachant que ce sera le compteur de points du joueur 2.

 

Résultat à la suite des modifications :

Voilà, l’interface est créée ! Maintenant il va falloir la programmer. Ouvre la fenêtre de code (en double cliquant sur la feuille, par exemple), puis, en dehors de toutes fonctions, toutes en haut de la feuille de code, tape :

Public BallMouveLeft

Public BallMouveTop

Public DiffLevel

Public refY

 

Ce sera les quatre variables qui nous seront nécessaires.

Referme la fenêtre de code, et double clique sur le Timer 1. Voici ce qui s’affiche :

Private Sub Timer1_Timer( )

 

End Sub

            Cette fonction sera exécuter toutes les 75 millisecondes (propriété Interval de Timer1).

Rajoute le code souligné :

Private Sub Timer1_Timer()

Call MouvementP2

Call BalleRebonditEnHaut

Call BalleRebonditEnBas

Call BalleRebonditSurPlayer1

Call BalleRebonditSurPlayer2

Call MouvementDeLaBalle

Call Player1Mouve

Call Player1MarqueUnPoint

Call Player2MarqueUnPoint

End Sub

 

Cela mérite une explication je pense…E