J'ai réutilisé l'idée de l'utf8 pour le jour 10 aussi. La lecture du LCD est infiniment plus facile, plus besoin de plisser les yeux pour deviner les lettres.
Pour l'animation de la corde j'ai choisis d'afficher le numéro du noeud (0 à 9) en noir sur fond jaune ; et de déplacer la caméra de 19 d'un coup. J'aimais pas trop la voir manger le mur :). J'ai aussi géré les largeurs impaires, c'est le cas de mon terminal.
classdisplay:def__init__(self):self.w,self.h=tuple(os.get_terminal_size())border="o"self.delta=numpy.array((self.w//2,self.h//2))top=border*(self.w)wodd=self.w%2lines=[border+"░ "*(self.w//2-1)+"░"*wodd+border,border+" ░"*(self.w//2-1)+" "*wodd+border]self.background=[top+"".join(lines[h%2]forhinrange(self.h-2))+top,top+"".join(lines[1-h%2]forhinrange(self.h-2))+top]def__call__(self,knots):print("033円[0;0H",end='')x,y=self.delta+knots[0]J=19# must be odd to see scrollifx<=0:self.delta[0]+=Jifx>=self.w-1:self.delta[0]-=Jify<=0:self.delta[1]+=Jify>=self.h-1:self.delta[1]-=Jtxt=[cforcinself.background[sum(self.delta)%2]]fori,knotinenumerate(reversed(knots)):x,y=knot+self.deltatxt[int(x+y*self.w)]="033円[30;43m"+str(9-i)+"033円[0m"print("".join(txt),end='')time.sleep(.008)
[^] # Re: En Python, modélisé
Posté par steph1978 . En réponse au message Avent du Code, jour 9. Évalué à 2.
Splendide !
J'ai réutilisé l'idée de l'utf8 pour le jour 10 aussi. La lecture du LCD est infiniment plus facile, plus besoin de plisser les yeux pour deviner les lettres.
Pour l'animation de la corde j'ai choisis d'afficher le numéro du noeud (0 à 9) en noir sur fond jaune ; et de déplacer la caméra de 19 d'un coup. J'aimais pas trop la voir manger le mur :). J'ai aussi géré les largeurs impaires, c'est le cas de mon terminal.