Questions
Qui dit grandes inventions dit grandes questions. Vous verrez toutes les questions auxquelles nous avons du répondre afin d'affiner notre projet.
- Comment représenter le terrain et le goal ?
Nous avons d'abord du trouver des images ( 2 en tout ) , une pour le terrain et les cages et une pour le gardien. Nous avons rapidement trouvé ces images sur internet. Nous les avons modifié à l'aide de plusieurs logiciels, notamment photofiltre. Nous avons ensuite inséré ces images dans processing, ce fut sans difficulté et avons réglé la taille de notre fenêtre (dans processing) afin d'optimiser la qualité de nos images et l'espace que notre programmes aurait sur un ordinateur.
- Comment représenter le ballon ?
Nous avons juste crée une ellipse qui représenterait le ballon et qui aurait une couleur (noir) ainsi que des coordonnées ( 600, 600) prédéfinie.
- Comment donner une apparence au goal?
Nous avons utilisé le logiciel photophiltre et son mode transparence qui nous a été tres utile et pratique. Cela nous as permis de donner une impression de profondeur au goal, qui le rend plus "réel".
- Comment gérer le deplacement du gardien?
Il fallait qu'il se déplace du poteau gauche au poteau droit des cages sans les dépasser. Nous avons donc utilisé la fonction « vitessegardien » qui attribuait une certaine vitesse au gardien selon ses coordonnés. Nous avons choisi 20 comme vitesse de base pour le gardien. Et afin que celui-ci aille de gauche à droite, nous avons fait en sorte que passer une certaine coordonné sur l'axe des X, sa vitesse de 20 devienne l'inverse, c'est à dire -20. Pour cela, nous avons utilisé une condition if ().
- Comment gérer l'arrêt de la balle par le gardien ?
Pour cela, nous avons utiliser « void arret() ». Quand les coordonnés en X de la balle étaient inférieure aux coordonnées en X du gardien plus 30 ( xballe<xgardien+30). La balle doit se replacer à sa position de départ prédéfinie.Cela signifie que le gardien a croisé la balle et qu'il était assez proche d'elle pour l'arrêter.
- Comment faire se repositionner la balle lorsque le gardien ne l'arrête pas ?
Nous avons donc décidé de créer une fonction « void repositionnementdelaballe » qui force la balle à se replacer à sa position de départ lorsqu'elle arrive à une certaine coordonnée. Car nous estimons que le but a été marqué lorsque cette coordonnée est atteinte par la balle. Nous avons donc choisi de repositionner la balle lorsque sa coordonnée en Y serait inférieure à 100.
- Comment commencer une nouvelle partie aprés un arrêt du goal ?
Nous avions dit précédemment que la balle et le gardien prenait une vitesse de 0 lorsque le gardien arrêtait la balle ( que les coordonnes des 2 objets étaient très proche). Et quand cela se produisait, le programme s'arrêtait de fonctionner, puisque tout s'arrêtait. Nous avons donc choisi de créer un bouton « Rejouer », en bas à droite de la fenêtre qui permet après un arrêt du gardien de rejouer. Nous avons défini des coordonnées, dans lesquels nous avons écris « Rejouer » et qui lorsque l'utilisateur clique sur ce bouton, la balle se repositionne à ses coordonnées de base, et redonne à la balle et au gardien leur vitesse de base qui est de 20.
- Comment mettre en place un systéme de score ?
Pour mettre en place un systéme de score dans notre jeu, nous avons commencé par créer un entier "score" égal à 0 avant le setup. Et avons ensuite crée un void score que nous avons d'abord nommé dans le setup puis developper à la fin de notre programme. Ce void score permet au score d'augmenter de 1 à chaque fois que la balle atteint une certaine coordonnée. Pour améliorer le design de notre jeu, nous avons aussi mis un texte score et fait en sorte que le score apparaisse à côté de ce texte afin que l'utilisateur sache ce que ces chiffres représentent.
- Comment mettre en place un systéme de niveau de difficulté ?
Nous avons décidé de mettre en place 3 niveaux de diifficultés, numérotés de 1 à 3. Pour cela, dans le setup, nous avons cité les 3 niveaux ( "niveau1();" "niveau2();" "niveau3;"). Nous avons d'abord crée 3 rectangles, un par niveau. Avec sur chacun d'eux écrit le nom d'un niveau. Puis avons crée 3 void, un par niveau. Chaque void était reglé de telle sorte à ce que si l'utilisateur appuie sur les coordonnées d'un rectangle associé à un niveau, plusieurs action se passent. Nous avons défini 4 actions : la balle se replace à ces coordonnées de base, la vitesse du gardien et de la balle augmente et le score se remet à 0. Dans notre jeu , c'est la vitesse de notre goal qui fait la difficulté de notre niveau. Plus il est rapide, plus il est compliqué de marquer.