2012-03-04 3 views
1

Je tente d'afficher une grille avec des individus en mouvement. En ce moment im en utilisant un "écran clair" puis afficher la grille. C'est désordonné car l'écran "scintille" à chaque fois.Renvoie le retour à 0,0 en Python 2.6

En C et VB.NET, il y avait des méthodes pour forcer le chariot à revenir au début de la console et à écraser le contenu. Cela a supprimé le scintillement.

Est-il possible en Python de le faire? J'ai cherché Google, et j'ai trouvé des malédictions, mais c'est seulement Unix (et je travaillerai principalement dans Windows).

code réseau actuel (super base):

#Clear() is a OS indepedent method of clearing the screen defined in code above, in windows its just os.system('cls') 
clear() 
x=0 
y=0 
tiles="" 
tile="" 
# Generate grid 
while(y<max_y): 
    while(x<max_x): 
     tile = tileGen(x,y) 
     tiles += str(tile) 
     x+=1 
    tiles += "\n" 
    y+=1 
    x=0 
print(tiles) 

Répondre

3

Peut-être que cela va aider: ANSI Escape Sequences

La commande Home serait '\x1b[0;0H'.

+1

Ne semble pas fonctionner correctement (ou ne pas l'implémenter correctement). J'ai essayé d'utiliser sys.stderr.write ("\ x1b [0; 0H"), mais il sort juste du charabia (au lieu de déplacer le curseur). J'ai également essayé certaines des autres commandes listées sur cette page, y compris "\ x1b [u" et "\ x1b [s" – Mattisdada

+0

Si votre terminal est ANSI (l'invite DOS, c'est-à-dire cmd.exe est), cela devrait fonctionner, donc vous devez utiliser autre chose et devez expliquer quoi. –

0

Pour ce que ça vaut, un paquet python existe qui encapsule PDCurses, une bibliothèque de curseurs compatible avec Windows. Le package, UniCurses, fournit une interface uniforme à PDCurses (sous Windows) ou au module natif curses de python, et peut donc être utilisé pour écrire des applications curses multiplateformes. Il se peut que la réponse de Mike Desimone soit suffisante pour vos besoins.