Effacer la console pendant le programme

Fermé
Bataille - 4 déc. 2022 à 17:33
 Bataille - 5 déc. 2022 à 06:41

Bonjour,

Je programme une bataille navale et voudrais donc effacer ma grille de la console lorsque c'est à l'adversaire de jouer.

J'ai cherché plusieurs techniques sur internet et essayé d'utiliser les lignes :

System.out.print("\033[H\033[2J");
System.out.flush();

Cela ne fonctionne pas.

Quelqu'un aurait la solution ?

Merci


Windows / Chrome 107.0.0.0

A voir également:

3 réponses

On voit régulièrement ce problème dans différents langages et sur différents systèmes d'exploitation.
Pour ne pas s'embêter, on peut afficher plusieurs lignes vides dans une boucle (30 en général)

0

Merci, c’est une très bonne alternative si je ne trouve pas d’autre solution.

C’est un projet pour l’école je vais quand même essayer de trouvé une solution qui efface complètement la console.

0
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
4 déc. 2022 à 20:05

Bonjour,

C'est la console qui exécute le programme Java, elle est propriétaire du processus, elle peut l'interrompre, etc.

Quoi qu'il arrive c'est donc la console qui est maître des autres programmes et qui va leur imposer comment ils peuvent s'exécuter.

Concrètement, un programme Java va pouvoir communiquer avec la console au travers des trois flux System.in, System.out, System.err, et c'est à peu près tout.

Donc à part s'exécuter dans un terminal (par exemple sous Linux) qui autorisent des combinaisons spéciales de caractères qui leurs sont propres, tu ne pourras pas effacer la console, changer la couleur de la console, etc.

Tu peux juste écrire ou lire... c'est pas très joli, mais c'est très puissant, en particulier lorsque l'on peut ensuite manipuler ces flux au travers d'autres commandes (par exemple 'grep' sous Linux)


0

Ok, merci pour l’information je ne savais pas !

0