Effacer la console pendant le programme
Bataille -
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
- Effacer la console pendant le programme
- Programme demarrage windows - Guide
- Test console steam deck - Guide
- Console action - Accueil - Jeu vidéo
- Forcer la fermeture d'un programme - Guide
- Effacer les données de navigation sur android - Guide
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)
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)
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.