"Mode Boutique d'Améliorations": Dans ce mode de jeu unique pour Pong en Java, les joueurs ont la possibilité de visiter la Boutique d'Améliorations, où ils peuvent dépenser leurs précieuses pièces pour améliorer leur gameplay. Choisissez parmi différentes améliorations telles que la puissance, la taille et la vitesse de votre raquette, et ressentez le frisson de personnaliser votre style de jeu.
"Améliorations Propulsées par les Pièces": Portez vos compétences au Pong au niveau supérieur en gagnant des pièces lors des matches. Accumulez suffisamment de pièces pour acheter des améliorations puissantes qui rendront vos coups de raquette plus forts, augmenteront leur taille et accéléreront leur vitesse. Investissez stratégiquement dans ces améliorations pour dominer vos adversaires.
"Effets de Traînée ": vos balles laissent derrière elles des effets de traînée fascinants. Regardez vos tirs prendre vie avec ces effets qui ajoutent une touche d'éclat à chaque coup.
Ce Pong est un jeu de raquettes programmé en Java 17 avec JavaFX. Le projet est configuré avec Gradle utilisant le plugin JavaFX. Ce jeu est largement inspiré du jeu Pong, un classique des salles d'arcades dans les années 1970.
Le principe est simple : un terrain (le "court") deux raquettes et une balle. Le jeu se joue à deux, chaque joueur pouvant déplacer sa raquette sur un axe haut/bas et ayant pour but de ne pas laisser passer la balle derrière sa raquette (ce qui cause sa défaite immédiate). La balle se déplace à vitesse constante et rebondit sur les parois (limites haute et basse de la fenêtre) et sur les raquettes.
Pour l'instant, seules les fonctionnalités basiques sont implémentées : 2 raquettes contrôlées par 2 paires de touches sur le clavier ; gestion basique des rebonds de la balle et détection de sortie du terrain par les côtés (but marqué).
Dans les instructions ci-dessous, il faut remplacer myteam
par
- soit le nom de votre équipe dans gaufre, si le dépôt a été forké au nom de votre équipe,
- soit le login du membre de votre equipe qui a forké le dépôt pour tout le monde,
- soit
cproj2022
, si vous voulez cloner directement le dépôt de l'équipe enseignante.
Notez que dans le dernier cas, vous pourrez compiler et exécuter le projet, mais pas faire de git push
.
Le plus pratique pour télécharger Pong afin de participer à son developpement, c'est de cloner le dépôt. Depuis la console :
$ git clone https://gaufre.informatique.univ-paris-diderot.fr/myteam/pong
Il semble que l'installation de git sur les machines de TP refuse de reconnaître le certificat de gaufre. Heureusement, on peut demander à git d'ignorer la vérification du certificat :
$ git clone -c http.sslVerify=false https://gaufre.informatique.univ-paris-diderot.fr/myteam/pong
Ensuite, vous pouvez enregistrer de façon permanente votre choix d'ignorer la vérification pour ce dépôt :
$ cd pong
$ git config http.sslVerify false
(cela permettra de faire des git push
, des git pull
et des git fetch
sans avoir à préciser à chaque fois -c http.sslVerify=false
)
Après avoir téléchargé/cloné les sources, vous pouvez compiler et exécuter le projet à l'aide de gradle.
Le principe c'est que le script gradlew
dans le répertoire du projet téléchargera puis utilisera la version de gradle qui fonctionne avec le projet.
Pour compiler, il suffit d'exécuter, depuis le répertoire pong
:
`./gradlew build`
Pour exécuter, il suffit d'exécuter, depuis le répertoire pong
:
`./gradlew run`
Le projet en lui-même a besoin de Java 17 pour être compilé et exécuté.
Si vous travaillez depuis une machine des salles de TP de la Halle aux Farines, vous devez d'abord passer certains paramètres à gradle via une variable d'environnement. Cela peut être fait en exécutant
$ source SCRIPT/envsetup
avant de lancer toute commande gradle (notamment build
et run
.
Pour être tranquille, vous pouvez insérer cette commande dans votre fichier ~/.bashrc
, cela vous évitera de devoir la taper à la main à chaque nouvelle session. Pensez à adapter la commande en donnant le chemin absolu vers envsetup
.
Pour information, les paramètres passés à gradle indiquent :
- le fichier de certificats à utiliser pour télécharger les dépendances via HTTPS
- les paramètres du proxy de la Halle aux Farines
- le chemin vers Java 17
Eclipse installé sur les machines de TP contient une distribution de Java 17, et semble savoir passer la bonne configuration à Gradle. Pour travailler avec eclipse, il suffit donc de lancer Eclipse (commande eclipse
), puis d'importer le projet :
- File > Import... > Gradle > Existing Gradle Project, Next >
- choisir le chemin de pong et valider avec Finish
Dans l'onglet "Gradle Tasks", vous trouverez notamment les tâches permettant de compiler et d'exécuter le projet.
Si vous souhaitez/devez travailler avec une version ancienne de Java, il n'est pas très difficile de modifier la configuration : changez juste les numéros de version dans build.gradle
.
Ensuite, vous pouvez travailler comme avec Java 17 (le projet devrait pouvoir tourner tel quel).
Important : faites un commit de build.gradle
et poussez-le sur votre fork pour que toutes votre équipe travaille avec la même version de Java.
Je n'ai pas testé, mais Pong devrait pouvoir tourner (peut-être avec quelques modifications mineures). Malheureusement, ça peut être un peu compliqué.
Dans les grandes lignes :
- Commencez par désactiver le plugin JavaFX dans gradle (toujours dans
build.gradle
), car celui-ci ne fonctionne qu'à partir de Java 11. - Désormais, gradle ne s'occupe plus de télécharger et installer JavaFX. Il faut donc s'assurer de l'avoir installé d'une autre façon. Si vous avez une distribution de Java sans JavaFX (à noter que Oracle Java 8 contient JavaFX), il faut le télécharger et l'installer séparément, en prenant soin de prendre le même numéro de version.
- Si JavaFX a été installé séparément, il faut le faire savoir à gradle pour qu'il ajoute son répertoire au classpath.
- Si vous utilisez Java 9 ou 10, il y a de la configuration de modules JPMS à faire à la main. Je ne vais expliquer, ni ce que c'est, ni en quoi ça consiste ici. Il est possible de trouver de l'aide dans les forums.
Bref, il est grandement conseillé d'utiliser une version plus récente de Java. Néanmoins, si vous n'avez pas le choix et que vous êtes en difficulté, demandez de l'aide à vos enseignants.
Important : là aussi, il faut ensuite que toute votre équipe travaille avec la même version de Java. Faites un commit de build.gradle
et poussez-le sur votre fork pour que toutes votre équipe travaille avec la même version de Java.
La raquette de gauche est contrôlée par les touches CONTROL et ALT, alors que celle de droite est contrôlée par les flèches HAUT et BAS.