INF220 - TP Séance 4

Durée : 2h00




Objectifs




Au menu

  1. Consignes
  2. Fonctions utiles lors de ce TP
  3. Chargement du fichier
  4. Affichage de l'animation
  5. Fonctions avancées d'affichage

Remarquez que la hauteur de chaque image en lignes est donnée sur la première ligne du fichier, et que la source de l'animation est donnée sur la deuxième ligne. Une seconde séance permettra de continuer ce TP, ou de prolonger l'exercice.

Lisez attentivement cet énoncé de TP en suivant les instructions. En cas d'interrogation, faites appel à moi, que ce soit pour en savoir plus sur un des points abordés pendant le TP, ou pour savoir comment effectuer une des tâches demandées (numérotées pour pouvoir y faire référence simplement).

Surtout ne restez pas bloqué(e) sur une des questions. Entre parenthèses, à côté des titres de sous-sections, est indiqué le temps que vous avez dû passer à effectuer les étapes précédentes.

Nous allons tout d'abord récupérer les paramètres transmis au programme, car l'adresse du fichier à charger sera donnée comme premier (et seul) paramètre. Rappelons que les paramètres du programme sont indiqués après la commande java NomDuProgramme et sont stockés dans le tableau de chaînes de caractères arg fourni en entrée de la fonction main.

Téléchargez, enregistrez et compilez le fichier INF220TP4.java. Enregistrez dans le même dossier un des fichiers d'animation ASCII fournis ci-dessus. Exécutez le programme INF220TP4 en ajoutant ce fichier en paramètre.

Ajoutez dans la fonction main une instruction permettant d'afficher le nombre de paramètres du programme. Ajoutez dans la fonction main une instruction permettant d'afficher l'ensemble des paramètres du programme.

En utilisant la fonction OuvreFichier, chargez l'ensemble du fichier dont l'adresse est donnée en premier paramètre du programme dans une file de chaînes de caractères lignes. Dans la fonction main, ajoutez les instructions permettant d'afficher l'ensemble des lignes de la file lignes.

Enregistrez dans une variable entière appelée lignesParImage le contenu de la première ligne du fichier chargé (pensez à utiliser la fonction permettant de convertir en entier une chaîne de caractères contenant des chiffres).

Insérez dans la boucle créée lors de la première question de cette partie une instruction permettant de faire 50 millisecondes de pause à la fin de l'affichage d'une image provenant du fichier.
Indication (à surligner pour lire) : Pour cela, vous compterez le nombre de lignes affichées par la boucle, et utiliserez la valeur de lignesParImage, ainsi que la fonction modulo (qui est, rappelons-le, notée % en Java) Créez une nouvelle fonction LitVideo qui prend en entrée une chaîne de caractères contenant l'adresse d'un fichier texte contenant une animation ASCII et affiche cette animation : vous allez donc déplacer vers cette fonction une partie du contenu de la fonction main.

Ajoutez à la fonction LitVideo une entrée entière timing qui indique le temps d'attente à fixer entre chaque image.

Ajoutez à la fonction LitVideo une entrée booléenne credits qui, quand elle vaut true, indique qu'il faut afficher en permanence, sous l'animation, sa source.

Ajoutez à la fonction LitVideo une entrée booléenne enBoucle qui, quand elle vaut true, indique qu'il faut afficher l'animation en boucle.

Créez une fonction LitVideoSplitScreen qui prend en entrée deux chaînes de caractères contenant chacune l'adresse d'un fichier texte contenant une animation ASCII et affiche les deux vidéos correspondantes en mode "splitscreen", c'est-à-dire l'une à gauche de l'autre, avec une barre verticale entre les deux.

Modifiez la fonction main de telle sorte que le programme accepte une deuxième adresse de fichier en paramètre, qui sera passée comme deuxième entrée de la fonction LitVideoSplitScreen.