[]
[]
[]
[]
[]
[]
[]
[Web Creator] [LMSOFT]
rappel  important:
pour que le programme fonctionne, il faut autoriser l'exécution des macros à l'ouverture du fichier.
Pour cela, il faut, au préalable, vérifier que le niveau de sécurité d'Excel soit au maximum fixé à 'moyen'.
        ( menu outils / macro / sécurité  )
Télécharger le programme
OBJECTIFS
INTERFACE
PROGRAMMATION
RESSOURCES
Quelques uns des éléments de programmation utilisés:

- Do Until condition
... instructions ....
Loop
permet d'effectuer en boucle les instructions tant que la condition n'est pas remplie,

- If condition then
... instructions ...
End if
effectue les instructions dans le bloc If End If uniquement si la condition est respectée,

- l'instruction Top permet de positionner un objet par rapport au haut de la feuille, l'instruction Left permet de le positionner par rapport au bord gauche de la feuille,

- l'intruction Timer, renvoie le nombre de secondes écoulées depuis 0h00 du matin du jour en cours,

- Msgbox ...message... permet d'afficher une boîte de dialogue,

- l'instruction Rnd permet d'obtenir de façon aléatoire un nombre compris entre 0 et 1.
...


  
Position d'un objet:
La position des objets est définie par ses coordonnées x et y, exprimés en pixels, dans un repère orthonormé dont l'origine est le coin  haut à gauche de la feuille (les abscisses sont comptés positivement vers la droite - les ordonnées positivement vers le bas).
Plus précisément, il s'agit des coordonnées d'un point (le point haut et gauche de l'objet).

Vitesse:
les vitesses sont ici définies en pixels par seconde.
On distingue la vitesse selon l'axe horizontal notée vx et la vitesse selon l'axe vertical vy.
Dans le programme, on a écrit:
x = vx * t + x  ce qui signifie qu'au bout d'un intervalle de temps (une durée) t, on obtient une nouvelle valeur de x en multipliant la vitesse vx par la durée t et en ajoutant la précédente valeur de x.
Idem pour y = vy * t + y

Réflexion:
L'observation d'une balle de billard rebondissant sur la bande montre que l'angle incident égale l'angle réfléchi.
Pour obtenir ce résultat, il suffit d'inverser le sens de déplacement vertical vy = - vy chaque fois que la balle sort du cadre par le haut ou par le bas et le sens de déplacement horizontal vx = - vx chaque fois que la balle sort du cadre par la droite ou la gauche.

  
Le jeu consiste à animer plusieurs balles qui se déplacent à l'intérieur d'un cadre. Elles rebondissent sur les bords de ce cadre selon les lois de la réflexion (avec cependant une légère modification aléatoire de leur direction pour que leur trajectoire ne soit pas trop lisible).

A chaque rebond un point est marqué.

Un petit personnage, contrôlé par le joueur avec les touches de direction du clavier se déplace dans le cadre. S'il est touché par une des balles, le jeu s'arrête).
Sur une feuille excel, on dessinera une aire de jeu rectangulaire.

Un bouton de commande permettra de lancer le jeu (pour transformer un dessin quelconque de la feuille en bouton de commande: clic droitsur l'objet puis 'affecter une macro').

Les mouvements du personnage seront commandés par les touches de déplacement (haut - bas - droite - gauche).

Une cellule de la feuille enregistre le score.

  
Animer une ou plusieurs balles se déplaçant à vitesse constante et qui rebondissent dans un cadre.

Contrôler les déplacements d'un personnage qui doit éviter les éviter.

En cas de contact avec une des balles et le personnage, le jeu s'arrête.

Le total des points (nombre de rebonds) permet de donner un score à la partie.

  
Balles
Atelier scientifique 2010/2011
Programmer des jeux en Visual Basic sous EXCEL
(ou faire des maths et de la physique en s'amusant)