π
<-

Le jeu WHIS sur la NumWorks

Le jeu WHIS sur la NumWorks

Unread postby Afyu » 24 Jul 2024, 22:18

20184Tu connais peut-être le mini-jeu WHIS que l'on trouve dans le jeu Tales of Eternia (sorti sur Playstation en 2000-2001 et sur PSP en 2005-2006 et aussi connu sous le nom Tales of Destiny II).

C'est un jeu de cartes qui se joue à plusieurs (4 joueurs dans le jeu Tales of Eternia) dont le principe ressemble beaucoup à celui du jeu UNO mais avec des cartes différentes, principalement axées sur les éléments au lieu des chiffres.

Jusqu'à présent, pour jouer à ce mini-jeu, il fallait posséder le jeu ainsi que la console qui permet de le lancer et avoir avancé suffisamment dans l'aventure pour avoir débloqué l'accès à ce mini-jeu.
On pouvait également s'en remettre à l'une des adaptations du mini-jeu seul, disponibles sous la forme d'un jeu d'ordinateur.

Ou encore, avec un esprit bricoleur, on pouvait recréer ce jeu et en faire un jeu de société, avec des (vraies) cartes.

20185Je te propose une adaptation de ce mini-jeu sous la forme d'un jeu pour calculatrice, programmé en Python. :#tritop#:

Découvrons-la avec la présentation du principe et du déroulement du jeu :

Le plateau de jeu montre le score et le nombre de cartes en main de chacun des 4 joueurs, ainsi que la carte actuellement en jeu mais également la pioche, le sens de rotation du jeu et l'ensemble des cartes dans la main du joueur que l'on incarne : le joueur J1.

Le principe du jeu est le suivant :
  • Chaque joueur joue à tour de rôle en jouant ou piochant une ou plusieurs cartes.
  • 20186Le jeu se déroule en 5 manches. Au début de chaque manche, les joueurs ont chacun 6 cartes dans leur main. Une manche se termine lorsque l'un des joueurs a joué toutes ses cartes (il est alors le gagnant) ou s'apprête à piocher alors qu'il a déjà 15 cartes en main (il est alors le perdant).
  • À la fin de chaque manche, le score de chaque joueur est actualisé en fonction des cartes qu'il lui reste en main et qu'il reste dans la main des autres joueurs.
  • À la fin des 5 manches, le joueur qui a le plus grand score a gagné la partie.

20187Avant de présenter plus en détails les règles, présentons les cartes : (la présentation individuelle des cartes est consultable dans le choix Cartes de l'écran d'accueil du jeu, mais les captures d'écran viennent du menu Règles)

Il y a 3 éléments : Eau, Feu et Vent.
Le cadre des cartes indique l'élément d'une carte : bleu pour Eau, rouge pour Feu et vert pour Vent.

20188Les cartes de l'élément Eau sont :
  • la carte simple
  • la carte d'attaque
  • la carte spéciale (Prisme) qui permet de choisir l'élément qui sera demandé au joueur suivant
  • la carte de transition (Volt) qui permet de modifier l'élément en jeu et passer de Eau à Vent.
20189Les cartes de l'élément Feu sont :
  • la carte simple
  • la carte d'attaque
  • la carte spéciale (Double) qui permet de rejouer immédiatement une carte
  • la carte de transition (Glace) qui permet de modifier l'élément en jeu et de passer de Feu à Eau.
20190Les cartes de l'élément Vent sont :
  • la carte simple
  • la carte d'attaque
  • la carte spéciale (Change) qui permet d'inverser le sens de rotation du jeu
  • la carte de transition (Terre) qui permet de modifier l'élément en jeu et de passer de Vent à Feu.
20191Les cartes de changement d'élément sont :
  • la carte Lumière
  • la carte Obscurité
Elles peuvent être jouées sur n'importe quelle carte (sauf carte d'attaque active) et permettent de choisir l'élément qui sera demandé au joueur suivant.
Le cadre de ces cartes est : jaune pour Lumière et gris pour Obscurité.

20192Présentons plus en détails les règles du jeu. Les règles suivantes sont consultables dans le jeu, avec les choix Cartes et Règles de l'écran d'accueil du jeu.

Le jeu se déroule en 5 manches dont le déroulement est le suivant :
  • Au début de la manche, chaque joueur a 6 cartes en main.
    20193
  • Lorsque c'est son tour, chaque joueur joue une carte de sa main qui vient remplacer la carte actuellement en jeu.
  • 20194Si un joueur ne peut pas jouer parce qu'il n'a pas de carte compatible avec la carte actuellement en jeu, alors il doit piocher une carte. S'il a pioché une carte qui peut être jouée, alors il peut la jouer. Sinon, son tour est terminé.
  • Lorsque c'est son tour, si un joueur peut jouer une carte mais ne souhaite pas jouer, il peut choisir de passer son tour. Dans ce cas, il devra piocher puis son tour sera terminé.
  • La manche se termine lorsque l'un des joueurs a réussi à jouer toutes ses cartes ou lorsque l'un des joueurs s'est retrouvé à devoir piocher alors qu'il avait déjà 15 cartes en main.
  • À la fin de chaque manche, le score de la manche est calculé pour chaque joueur et le score global de chaque joueur est actualisé en conséquence.
    20186

Lorsque l'on joue une carte Prisme, Lumière ou Obscurité, on choisit l'élément demandé en sélectionnant le carré de la couleur correspondante (bleu pour Eau, rouge pour Feu et vert pour Vent). Cet élément est alors symbolisé par un carré coloré qui recouvre le coin supérieur droit de la carte en jeu.
201952019620197

Chaque carte jouée doit être compatible avec la carte actuellement en jeu, c'est-à-dire qu'elle doit être de l'élément attendu.
2019820199

Le cas particulier des cartes d'attaque :
Si la carte en jeu est une carte d'attaque, alors il est possible de jouer une carte d'attaque de n'importe quel élément ! Chaque carte d'attaque fait piocher 2 cartes au joueur suivant s'il ne peut pas surenchérir avec une autre carte d'attaque. Le nombre de cartes à piocher est cumulatif (tout comme la règle pas du tout officielle des joueurs de UNO qui enchaînent et cumulent les cartes +2 :). Par exemple : 3 cartes d'attaques successives impliquent 6 cartes à piocher).
2020020201

Si un joueur ne peut pas surenchérir sur une carte d'attaque et qu'il pioche, alors la carte d'attaque est neutralisée. Le joueur suivant doit jouer une carte (éventuellement d'attaque) de la couleur de la carte d'attaque neutralisée en jeu. En cas d'impossibilité de jouer, la carte d'attaque étant neutralisée, il faut piocher une carte (et une seule !), comme illustré ci-dessous avec J4 qui pioche et la carte d'attaque qui est neutralisée, ce qui fait piocher une seule carte à J1 qui ne peut pas jouer :
202022020320204

Mais comment est calculé le score en fin de manche ? (le paragraphe qui suit n'est pas expliqué dans le choix Règles de l'écran d'accueil du jeu)

Chaque carte a une valeur en points :
  • Les cartes simples et les cartes de transition valent 2 points chacune.
    202052020620207
    202082020920210
  • Les cartes spéciales (Prisme, Double et Change) valent 5 points chacune.
    202112021220213
  • Les cartes d'attaque valent 10 points chacune.
    202142021520216
  • Les cartes Lumière et Obscurité valent 20 points chacune.
    2021720218


On effectue la somme des valeurs en points des cartes restant dans la main de chaque joueur.

  • S'il y a un gagnant (un joueur qui a joué toutes ses cartes), alors chacun des autres joueurs est perdant. Chaque joueur perdant perd la somme des points de ses cartes restant en main. Le joueur gagnant gagne la somme des points de l'ensemble des cartes restant dans la main de tous les joueurs perdants.
    20186

  • S'il y a un perdant (un joueur qui s'apprêtait à piocher alors qu'il avait 15 cartes en main), alors chacun des autres joueurs est gagnant. Chaque joueur gagnant gagne le tiers (arrondi à l'entier inférieur) de la somme des points des 15 cartes restant en main du joueur perdant. Le joueur perdant perd la somme des points de ses cartes restant en main, (arrondi au multiple de 3 inférieur, si besoin).
    2021920220
Le joueur qui termine la manche en étant le gagnant ou le perdant commence la manche suivante.

Pour donner un peu plus de lisibilité au déroulement du jeu, le cadre de chaque joueur change de couleur pour indiquer le joueur dont c'est le tour (fond violet), s'il joue une carte (fond vert) ou s'il pioche (fond rouge).
Une flèche indique le sens de rotation du jeu et permet de savoir qui sera le prochain joueur.
202212022220223

20224Au fait, comment joue-t-on ?

  • On utilise les flèches gauche et droite pour sélectionner une carte ou l'élément demandé dans le cas de l'utilisation des cartes Prisme, Lumière ou Obscurité.
  • On valide avec OK dans la version Epsilon et avec OK ou EXE dans la version Upsilon.
  • On pioche volontairement ou on passe son tour volontairement avec la touche shift. Attention, la touche Retour interrompt l'exécution du script !

15853Si tu as une calculatrice NumWorks, alors tu peux y transférer cette version.

Si tu n'as pas de calculatrice NumWorks, alors tu peux tout de même tester cette version du jeu, en utilisant les flèches gauche et droite, la touche Shift et la touche Entrée du clavier.

Les cartes du jeu d'origine sont très colorées et riches en détails mais une partie de ces détails a été perdue lors de l'encodage des images. En effet, pour faire tenir toutes ces données dans la mémoire restreinte de la NumWorks, il a fallu réduire le nombre de couleurs par image !

En utilisant les fonctionnalités du logiciel Gimp, j'ai transformé chacune des images en une image indexée qui comporte au maximum 8 couleurs. Un détail qui a toute son importance : ces 8 couleurs choisies sont celles qui correspondent le mieux aux couleurs présentes dans l'image d'origine et ne sont pas une répartition uniforme des couleurs sur le spectre des couleurs comme ce que l'on obtiendrait en transformant les images en mode RGB565.

Cette réduction permet d'encoder la couleur de 2 pixels avec un seul caractère ! En effet, en créant une palette de 8 couleurs pour chaque image, il suffit ensuite pour chaque pixel de stocker le rang de sa couleur dans cette palette et pour deux pixels, ça fait 8×8 rangs nécessaires, soit 64 valeurs différentes.

En Python, un caractère est associé à son rang dans la table des caractères ASCII, donc à un nombre. Sur la NumWorks, il est possible de trouver 64 caractères qui correspondent donc à 64 rangs dans cette table et la commande ord(caractère) permet de récupérer ce rang. Par exemple, ord('a') renvoie la valeur 97.

Avec 64 valeurs différentes, il est possible d'encoder 8×8 valeurs différentes, soit 8 rangs pour un pixel et 8 rangs pour un autre pixel, donc un caractère permet de stocker le rang de la couleur de 2 pixels dans la palette de couleurs de l'image.

En fait, étant donné que Python compte à partir de 0 pour le rang dans une liste, on souhaite avoir un nombre compris entre 0 et 63 et on récupère les deux rangs en effectuant la division euclidienne de ce nombre par 8 et on récupère le quotient et le reste, ce qui donne bien deux chiffres compris entre 0 et 7. J'ai choisi les caractères de rangs 35 à 98 dans la table des caractères ASCII avec un décalage de 35 pour revenir à des nombres compris entre 0 et 63.

L'aventure aurait pu se terminer ici, avec un jeu de cartes aux couleurs chatoyantes (mais seulement 8 couleurs différentes par carte) et de simples carrés de couleurs pour choisir l'élément demandé au joueur suivant. Mais c'était sans compter sur le travail formidable de la communauté de développeurs qui a produit le firmware alternatif Upsilon qui peut être installé sur certaines NumWorks, à certaines conditions, et qui permet de bénéficier d'une mémoire de travail augmentée.

Le gain de place a permis de remplacer les carrés colorés du mini menu de choix de l'élément demandé au joueur suivant par les images d'origine : un fond bleuté pour l'Eau, une petite flamme pour le Feu et une petite tornade pour le Vent.Ces petites images ont d'ailleurs été ajoutées à l'écran d'accueil.
20228

Les choix de menus présentant les Cartes et les Règles ont également gagné un titre, en haut de l'écran.
2022620227


L'écran de fin de partie montre maintenant clairement qui est le joueur gagnant (en vert) et qui est le joueur perdant (en rouge).
20229

Il n'y a pas d'autres différences entre les versions Epsilon et Upsilon du jeu, l'ajout des visages nécessitant encore bien davantage d'espace en mémoire que ce que Upsilon offre.

20225Si tu as une calculatrice NumWorks sur laquelle tu peux installer le firmware Upsilon, alors tu peux y transférer cette version.

Si tu n'as pas de calculatrice NumWorks, alors tu peux tout de même tester cette version du jeu, en utilisant les flèches gauche et droite, la touche Entrée et la touche shift. Ceci est rendu possible grâce au formidable Workshop Upsilon de Yaya.Cout. :favorite:


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... ?

Liens et ressources :
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 2.7%
 
Posts: 405
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)

Re: Le jeu WHIS sur la NumWorks

Unread postby SlyVTT » 25 Jul 2024, 10:43

Très bon article et très bon jeu.
J'ai eu la chance de "beaucoup" y jouer et c'est vraiment un petit jeu sympa.
Je peux vous dire, qu'il y a du lourd qui arrive :D
Alors restez connectés ... :troll:
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Le jeu WHIS sur la NumWorks

Unread postby Afyu » 27 Jul 2024, 19:34

SlyVTT wrote:Très bon article et très bon jeu.
J'ai eu la chance de "beaucoup" y jouer et c'est vraiment un petit jeu sympa.
Je peux vous dire, qu'il y a du lourd qui arrive :D
Alors restez connectés ... :troll:


Merci beaucoup à toi, pour ton retour et tes nombreux tests accompagnés de bons conseils et de suggestions pertinentes qui ont permis à ce jeu d'être aussi complet ! :D :favorite:

Le lourd est par ici : viewtopic.php?f=51&t=26767#p276066 :D :bj:
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 2.7%
 
Posts: 405
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)

Re: Le jeu WHIS sur la NumWorks

Unread postby SlyVTT » 29 Jul 2024, 15:18

Y'a du encore plus lourd qui arrive je crois :troll:
Some works in progress :
The GUI Toolkit NF for nSpireMyShmup for fxCG-50Magic Light for Casio Graph 90+E
and
Magic Light for nSpire CX/CX-II
Simple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
50%
100%
75%
100%
And more to come ... stay tuned
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 45.7%
 
Posts: 523
Images: 31
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

Re: Le jeu WHIS sur la NumWorks

Unread postby Afyu » 30 Jul 2024, 20:15

SlyVTT wrote:Y'a du encore plus lourd qui arrive je crois :troll:

Je crois bien que le "encore plus lourd" est par ici : https://tiplanet.org/forum/viewtopic.php?t=26768
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 2.7%
 
Posts: 405
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)


Return to News NumWorks

Who is online

Users browsing this forum: ClaudeBot [spider] and 6 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
691 utilisateurs:
>654 invités
>30 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)