Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Chazelas
2004-01-13, 03:28(+01), Mat Free: [...]
est-il possible lors du deplacement des joueurs de ne pas redesinner tout le circuit, mais seulement deplacer les numeros des joueurs. [...]
regarde du côté des bibliothèques ncurses ou slang. L'idée est d'envoyer des séquences de control au terminal pour déplacer le curseur. ncurses et slang font des trucs plus optimisés en maintenant en mémoire le contenu de l'affichage et en faisant seulement les mises à jour nécessaires.
Pour une console Linux, par exemple pour se posisionner en coordonnées (6,7), faut envoyer "e[7;8H"
Ça peut changer suivant le type de terminal, d'où l'intérêt des bases terminfo ou termcap qui référencent les séquences de controle pour chaque terminal (se base sur la variable d'environnement TERM)
est-il possible lors du deplacement des joueurs de ne pas redesinner
tout le circuit, mais seulement deplacer les numeros des joueurs.
[...]
regarde du côté des bibliothèques ncurses ou slang. L'idée est
d'envoyer des séquences de control au terminal pour déplacer le
curseur. ncurses et slang font des trucs plus optimisés en
maintenant en mémoire le contenu de l'affichage et en faisant
seulement les mises à jour nécessaires.
Pour une console Linux, par exemple pour se posisionner en
coordonnées (6,7), faut envoyer "e[7;8H"
Ça peut changer suivant le type de terminal, d'où l'intérêt des
bases terminfo ou termcap qui référencent les séquences de
controle pour chaque terminal (se base sur la variable
d'environnement TERM)
est-il possible lors du deplacement des joueurs de ne pas redesinner tout le circuit, mais seulement deplacer les numeros des joueurs. [...]
regarde du côté des bibliothèques ncurses ou slang. L'idée est d'envoyer des séquences de control au terminal pour déplacer le curseur. ncurses et slang font des trucs plus optimisés en maintenant en mémoire le contenu de l'affichage et en faisant seulement les mises à jour nécessaires.
Pour une console Linux, par exemple pour se posisionner en coordonnées (6,7), faut envoyer "e[7;8H"
Ça peut changer suivant le type de terminal, d'où l'intérêt des bases terminfo ou termcap qui référencent les séquences de controle pour chaque terminal (se base sur la variable d'environnement TERM)
je réalise un programme en C. C'est une course de voiture. L'affichage doit se faire en console. (La question est plus bas) [...]
MA QUESTION :
est-il possible lors du deplacement des joueurs de ne pas redesinner tout le circuit, mais seulement deplacer les numeros des joueurs.
Oui, avec une bibliothèque telle que ncurses.
CE QUE J'AI ESSAYE :
J'ai essayé de me positionner dans le flux stdout avec les fonctions fseek, ce qui est apparement impossible, de meme pour /dev/tty
Normal.
Pourtant wget affiche une barre de progression et la met à jour sans rafraichir tout l'affichage. Quelle technique utilise t'il pour y arriver ??
printf("toto"); printf("r"); printf("tata");
Pas d'effacement complet de l'écran, pas de déplacement dans un flux, mais ne fonctionne que pour la ligne courante, à condition qu'elle ne soit pas trop longue.
-- Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5 ----- ``This talk is like an Infinity commercial. You see lots of pretty pictures -- waves splashing up on rocks, sunsets, sandy beaches -- but you never see the car.'' Prof. Marv Solomon After listening to a less-than-perfect talk.
Bonjour,
On Tue, 13 Jan 2004, Mat Free wrote:
je réalise un programme en C. C'est une course de voiture.
L'affichage doit se faire en console. (La question est plus bas)
[...]
MA QUESTION :
est-il possible lors du deplacement des joueurs de ne pas redesinner
tout le circuit, mais seulement deplacer les numeros des joueurs.
Oui, avec une bibliothèque telle que ncurses.
CE QUE J'AI ESSAYE :
J'ai essayé de me positionner dans le flux stdout avec les fonctions
fseek, ce qui est apparement impossible, de meme pour /dev/tty
Normal.
Pourtant wget affiche une barre de progression et la met à jour sans
rafraichir tout l'affichage. Quelle technique utilise t'il pour y
arriver ??
printf("toto");
printf("r");
printf("tata");
Pas d'effacement complet de l'écran, pas de déplacement dans un flux, mais
ne fonctionne que pour la ligne courante, à condition qu'elle ne soit pas
trop longue.
--
Erwann ABALEA <erwann@abalea.com> - RSA PGP Key ID: 0x2D0EABD5
-----
``This talk is like an Infinity commercial. You see lots of pretty
pictures -- waves splashing up on rocks, sunsets, sandy beaches --
but you never see the car.''
Prof. Marv Solomon
After listening to a less-than-perfect talk.
je réalise un programme en C. C'est une course de voiture. L'affichage doit se faire en console. (La question est plus bas) [...]
MA QUESTION :
est-il possible lors du deplacement des joueurs de ne pas redesinner tout le circuit, mais seulement deplacer les numeros des joueurs.
Oui, avec une bibliothèque telle que ncurses.
CE QUE J'AI ESSAYE :
J'ai essayé de me positionner dans le flux stdout avec les fonctions fseek, ce qui est apparement impossible, de meme pour /dev/tty
Normal.
Pourtant wget affiche une barre de progression et la met à jour sans rafraichir tout l'affichage. Quelle technique utilise t'il pour y arriver ??
printf("toto"); printf("r"); printf("tata");
Pas d'effacement complet de l'écran, pas de déplacement dans un flux, mais ne fonctionne que pour la ligne courante, à condition qu'elle ne soit pas trop longue.
-- Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5 ----- ``This talk is like an Infinity commercial. You see lots of pretty pictures -- waves splashing up on rocks, sunsets, sandy beaches -- but you never see the car.'' Prof. Marv Solomon After listening to a less-than-perfect talk.