Dans un
précédent article, je te présentais mon adaptation du mini-jeu
Orlog pour en faire un jeu compatible avec la
NumWorks, sous la forme d'une version
Epsilon et d'une version un peu améliorée qui ne fonctionne qu'avec
Upsilon.
Mais
la légende raconte qu'un add-in permet de lancer des jeux Python pour NumWorks sur la Casio Graph 90+E.Cet add-in est en fait
PythonExtra. Nous le devons au travail remarquable de la communauté de
Planète-Casio et en particulier de
Lephe.
La Casio
Graph 90+E a des
capacités matérielles remarquables mais son
implémentation de Python est malheureusement
très incomplète. En particulier elle est dépourvue du module
time
ainsi que de la fonction
getkey()
qui permet de gérer en temps réel l'appui sur les touches de la calculatrice. Cette dernière fonction est pourtant bien pratique (et essentielle ?) pour créer des jeux interactifs et son absence complique cruellement la conception de jeux nécessitant une interaction avec le joueur sans quitter l'interface graphique. Sans
getkey()
, toute interaction implique de quitter l'interface graphique, de poser une question puis de traiter la réponse après validation (ou alors il faut ruser, comme le fait
critor en interceptant l'instruction d'arrêt du script générée par l'appui sur la touche
AC/ON, la seule touche qui est reconnue).
Il y a quelques semaines, notre cher et talentueux
SlyVTT a entrepris de porter l'ensemble des modules et fonctions Python de la
NumWorks dans la
version 0.3.0 de cet add-in, qui permet maintenant de profiter de l'ensemble des scripts et jeux de la
NumWorks directement sur la
Graph 90+E.
Mais il ne s'est pas contenté de porter l'ensemble des fonctions Python de la
NumWorks, il a fait mieux que ça ! Il a ajouté une fonctionnalité qui permet, lorsqu'elle est activée, de profiter de la grande taille de l'écran de la
Graph 90+E et d'utiliser l'ensemble des pixels de l'écran, permettant de passer d'une définition de 320 par 222 pixels à une définition de 396 par 224 pixels !
Il ne faut pas oublier que la
Graph 90+E a également une bien
plus grande mémoire de stockage ainsi qu'une bien
plus grande mémoire de travail que la
NumWorks.
Il est donc possible non seulement de profiter de cet
écran plus large mais également de profiter de ce nouvel
espace mémoire pour ajouter de
belles décorations à ce jeu.
C'est maintenant chose faite, avec l'
ajout des torsades de la version
Upsilon dans les marges apparues de part et d'autre du plateau de jeu, ainsi qu'avec l'ajout d'
une image pour chaque divinité, lors de la phase initiale de choix des divinités et lors de la phase de choix de la divinité pour la manche en cours. Ce sont également ces images qui agrémentent désormais l'écran d'accueil (qui permet de choisir le mode de jeu).
Mais ce n'est pas tout ! Sur proposition de
SlyVTT et avec son aide précieuse, il a été possible d'ajouter un vrai
écran de titre, que l'on peut voir ci-contre.
La
fin de la partie a également été
améliorée, mais pour le découvrir, il faudra terminer une partie.
Et comment on joue ?Pour jouer à cette version spécialement améliorée, il faut d'abord copier l'add-in
PythonExtra sur la
Graph 90+E puis copier le script Python du jeu. Ensuite, depuis la calculatrice, il faut lancer
PythonExtra puis aller chercher le script Python dans l'arborescence et le lancer.
Pour jouer, on utilise les
4 flèches et la
touche EXE, en suivant les mêmes règles que décrites dans l'article qui présente
la version NumWorks.
En prime, notre cher
SlyVTT nous offre cette magnifique vidéo qui illustre une partie de jeu !
Fun fact :
Si l'on n'active pas la fonctionnalité de PythonExtra qui permet d'utiliser toute la largeur de l'écran de la Graph 90+E et que l'on n'utilise que des fonctions du Python de la NumWorks, alors le script Python se contente de profiter des formidables capacités de mémoire de la Graph 90+E et demeure entièrement compatible en théorie, techniquement, avec la NumWorks puisque toutes les fonctions utilisées font appels aux modules Python de la NumWorks. Cependant, il faudrait pour cela que la NumWorks gagne fortement en mémoire de travail.
Pendant le début du développement du jeu, j'ai conservé en parallèle une version compatible Graph 90+E qui utilise toute la largeur de l'écran de la Graph 90+E et une version compatible Graph 90+E qui n'utilise que la largeur de l'écran de la NumWorks et qui pourrait fonctionner sur la NumWorks si un jour elle bénéficiait d'une amélioration suffisante de sa mémoire de travail pour ne pas déclencher d'erreur de mémoire pleine. Je vous joins cette version spéciale.
La rumeur dit qu'un nouveau modèle de calculatrice Casio vient de voir le jour, avec une grande mémoire de travail et une version de Python munie d'une fonction getkey(). Et si... ?Edit du 15/06 : j'ai mis à jour le fichier de la v100 avec la correction d'un double bug dans le codage des divinités Frigg et Loki.Téléchargements :