Un solitaire en Python, de la NumWorks à la TI-83 Premium CE
Posted: 11 Apr 2021, 12:03
Au jeu du solitaire, le seul déplacement de pion autorisé est de le faire passer par-dessus 1 pion adjacent (horizontalement ou verticalement) pour rejoindre une case vide. Le pion ainsi enjambé est alors retiré du plateau, et à la fin il ne doit en rester qu'un.
Le 20 Mars dernier, Schraf te sortait une adaptation en Python du jeu du solitaire pour ta NumWorks.
Le jeu dispose de graphismes aux couleurs bien choisies (particulièrement si tu utilises le firmware nsi.xyz / NSIos ), et est très réactif aux actions des touches comme c'est usuellement le cas sur cette machine.
Les touches à utiliser sont les suivantes :
Le 20 Mars dernier, Schraf te sortait une adaptation en Python du jeu du solitaire pour ta NumWorks.
Le jeu dispose de graphismes aux couleurs bien choisies (particulièrement si tu utilises le firmware nsi.xyz / NSIos ), et est très réactif aux actions des touches comme c'est usuellement le cas sur cette machine.
Les touches à utiliser sont les suivantes :
EXE
à la fois pour choisir le pion à déplacer puis sa destination⌫
pour annuler un choix de pion⸧
pour quitter
Pas du tout sectaire, Schraf t'avait même sorti en même temps une version de son solitaire pour TI-83 Premium CE Edition Python.
Ici les touches à utiliser sont :
Toutefois cette version avait des graphismes fortement dégradés par rapport à la NumWorks. En effet comme Schraf le dit lui-même, "l'affichage est très lent", et il avait souhaité ainsi limiter le problème.
Mais malgré ce bridage nuisant hélas à l'attractivité du jeu, la différence de vitesse par rapport à la NumWorks restait aisément remarquable. Un laps de temps était nécessaire après chaque action, le temps de rafraîchir les 2 ou 3 cases concernées.
En effet le facteur limitant sur TI-83 Premium CE Edition Python ce n'est pas la complexité des graphismes, mais le nombre d'appels aux primitives de la bibliothèque ti_graphics que l'on fait transiter entre le processeur 8 bits historique eZ80 et le coprocesseur 32 bits ARM dédié au Python.
Bref, ce n'est pas la simple suppression du fond d'écran et d'au pire 3 appels isolés à ti_graphics.fillRect() par action qui devrait avoir un effet très significatif.
Par contre, si on fait tourner la version avec les graphismes NumWorks sur TI-83 Premium CE Edition Python, selon les actions on remarque des clignotements peu agréables de certaines cases lors de la plupart des actions, ce qui semble indiquer que le code rafraîchit plusieurs fois les 2 à 3 cases concernées par chaque action...
On note également de coûteux rafraîchissements de la ligne de score à chaque pression de touche, et ce même si le score n'a pas changé.
Ici les touches à utiliser sont :
entrer
à la fois pour choisir le pion à déplacer puis sa destinationsuppr
pour annuler un choix de pionannul
pour quitter
Toutefois cette version avait des graphismes fortement dégradés par rapport à la NumWorks. En effet comme Schraf le dit lui-même, "l'affichage est très lent", et il avait souhaité ainsi limiter le problème.
Mais malgré ce bridage nuisant hélas à l'attractivité du jeu, la différence de vitesse par rapport à la NumWorks restait aisément remarquable. Un laps de temps était nécessaire après chaque action, le temps de rafraîchir les 2 ou 3 cases concernées.
En effet le facteur limitant sur TI-83 Premium CE Edition Python ce n'est pas la complexité des graphismes, mais le nombre d'appels aux primitives de la bibliothèque ti_graphics que l'on fait transiter entre le processeur 8 bits historique eZ80 et le coprocesseur 32 bits ARM dédié au Python.
Bref, ce n'est pas la simple suppression du fond d'écran et d'au pire 3 appels isolés à ti_graphics.fillRect() par action qui devrait avoir un effet très significatif.
Par contre, si on fait tourner la version avec les graphismes NumWorks sur TI-83 Premium CE Edition Python, selon les actions on remarque des clignotements peu agréables de certaines cases lors de la plupart des actions, ce qui semble indiquer que le code rafraîchit plusieurs fois les 2 à 3 cases concernées par chaque action...
On note également de coûteux rafraîchissements de la ligne de score à chaque pression de touche, et ce même si le score n'a pas changé.
Dans le respect de l'œuvre d'origine, nous te sortons aujourd'hui pour ta TI-83 Premium CE Edition Python une version embellie avec :
- les graphismes complets tels que présents dans la version NumWorks
- et pour ne pas ralentir davantage la chose mais bien au contraire ici l'accélérer, des optimisations tenant compte des événements et de l'état courant afin d'éviter les affichages inutiles
Envie toi aussi d'apprendre à créer des jeux de ce style pour ta NumWorks ou TI-83 Premium CE Edition Python ?
Alors la vidéo qui suit est là pour ça, t'expliquant pas à pas la conception du solitaire :
Alors la vidéo qui suit est là pour ça, t'expliquant pas à pas la conception du solitaire :
Téléchargements :