π
<-

News 2025
June (1)
May (7)
April (2)
March (3)

News 2024
August (1)
July (2)
June (2)
May (1)
April (1)
March (1)

News 2023
August (4)
July (2)
June (3)
May (2)
April (4)
March (2)

News 2022
August (2)
July (8)
June (4)
May (7)
April (9)
March (10)

News 2021
August (7)
July (8)
June (2)
May (6)
April (11)
March (10)

News 2020
August (4)
July (11)
June (6)
May (4)
April (8)
March (3)

News 2019
August (1)
July (3)
June (3)
May (5)
April (1)
March (2)

News 2018
August (4)
July (1)
June (5)
May (9)
April (13)
March (5)

News 2017
August (4)

Carré magique de Merlin adapté pour ta NumWorks en Python

New postby Admin » 30 Apr 2020, 13:08

Le jeu électronique Merlin sorti en 1978 chez Parker Brothers (Miro Meccano en France), peut être considéré mine de rien comme l'une des premières consoles de jeux portables. Il dispose en effet :
  • de 11 pixels, dont 9 pixels organisés en un écran 3×3 pixels
  • un écran qui de plus est tactile près de 30 ans avant la démocratisation de cette technologie, avec une zone tactile pour chacun des pixels ainsi numérotés en conséquence de 0 à 10
  • d'une sortie sonore
  • de pas moins de 6 jeux différents intégrés :
    1. Morpion / Tic-tac-toe
    2. Composition musicale
    3. L'écho
    4. Black jack
    5. Carré magique
    6. Jeu de code

Aujourd'hui, Schraf te sort un nouveau tuto-vidéo d'adaptation pas à pas de jeu pour ta NumWorks, exploitant à nouveau les formidables possibilités écran et clavier maintenant offertes en Python par les modules respectifs kandinsky et ion combinés.

Et c'est justement le Carré magique de Merlin qu'il t'a choisi :
A partir d'un motif de départ aléatoire ton but est de dessiner un carré, c'est-à-dire d'allumer 8 pixels et pas un de plus (n° 1, 2, 3, 4, 6, 7, 8 et 9). Chaque touche te permet d'inverser les états de certains pixels c'est-à-dire selon le cas de les allumer ou les éteindre, toujours les mêmes pour chaque touche. À toi de retrouver la combinaison magique qui te permettra d'allumer le carré.


12490Sauf que Schraf en a profité pour t'étendre un petit peu le jeu :
  • L'appel par défaut go(1) te permettra bien de jouer au jeu original, avec donc un carré à dessiner. :)
  • go(0) quant à lui choisira le motif à dessiner aléatoirement parmi les 29=512 combinaisons différentes que permettent les 9 pixels centraux, le motif exigé étant indiqué en haut à droite de l'écran. ;)


Installation : https://workshop.numworks.com/python/sc ... re_magique

Crédits images :

Fire FR-27, le jeu Nintendo Game & Watch adapté sur NumWorks

New postby Admin » 26 Apr 2020, 12:49

6594Avant l'avènement des calculatrices graphiques, c'est Nintendo qui lança le tout premier jeu électronique de poche muni d'un écran LCD (cristaux liquides) exploitant les deux dimensions, Ball en avril 1980. Comme indiqué par sa référence AC-01, c'était le premier né de la gamme Game & Watch, largement imitée au siècle dernier par d'autres constructeurs asiatiques pour le meilleur et pour le pire. Au lieu de simples points, les pixels ici allumés à l'écran ont des formes représentant des éléments du jeu.

En 2016, Fenysk avait déjà rendu un bel hommage à ces produits avec une adaptation pour ta Graph 35/75+E de Helmet, sorti en février 1981 sous la référence CN-07, soit le 7ème jeu de la gamme. Il est à noter que le jeu fut renommé Headache pour sa commercialisation dans plusieurs zones d'Europe, le mot anglais Helmet (casque) se retrouvant sous à l'identique en allemand et renvoyant donc aux heures sombres de l'Europe.

Jouer à des jeux pour t'occuper en confinement c'est bien, mais les créer c'est encore mieux non ? ;)

Et bien justement Schraf se propose aujourd'hui de t'accompagner pas à pas dans l'adaptation d'un autre titre de la mythique gamme Game & Watch, Fire, mais pour ta NumWorks en tirant profit du nouveau module ion permettant enfin de détecter les appuis clavier ! :bj:

Le jeu est initialement sorti en juillet 1980 en tant que 4ème jeu de la gamme sous la dénomination RC-04.
Mais à l'époque, les décors de couleur (éléments graphiques fixes) devaient soit être de gros pixels allumés en permanence et donc consommateurs d'énergie, soit être imprimés directement sur l'écran soit au premier plan. Tu comprendras donc aisément pourquoi ils n'étaient présents qu'avec parcimonie. :p

A compter de 1981, Nintendo commence à intégrer des décors directement à l'intérieur de l'écran soit à l'arrière plan, et Fire bénéficie à cette occasion d'une réédition en décembre 1981 sous la référence FR-27.

C'est sur cette dernière édition que Schraf te propose de travailler.

A l'aide, l'immeuble est en flammes et les habitants se jettent dans le vide. Afin qu'ils ne se blessent pas tu dois amortir leur chute. Pour cela tu contrôles donc une paire de pompiers et devrais faire rebondir les sinistrés jusque dans l'ambulance.

Bien évidemment la difficulté augmentera progressivement, avec des habitants qui seront de plus en plus nombreux à sauter simultanément. ;)

La NumWorks ne disposant hélas pas encore de fonctions Python dédiées à l'affichage de sprites, ces derniers seront tout sauf instantanés si effectués pixel par pixel, ce qui impactera négativement le gameplay.

12485En attendant mieux, Schraf se propose de contourner ce problème en remplaçant les sprites par des caractères, à la différence affichables instantanément grâce à la fonction dédiée kandinsky.draw_string(). :bj:

C'est parti :

As-tu bien compris ?

Alors Schraf te met maintenant au défi d'adapter toi-même Parachute, jeu de référence PR-21 sorti dans la même gamme en juin 1981. ;)

Petit playthrough pour t'y aider, fais-nous du beau : ;)

Installation : https://workshop.numworks.com/python/schraf/firegw

Crédits images :

Le simulateur NumWorks porté sur Nintendo 3DS !

New postby Admin » 19 Apr 2020, 15:14

«L'urgent est déjà fait, l'impossible est en train de se faire, pour les miracles nous demandons 48 heures.»

Voilà qui résume bien la vie fertile de M4x1m3 en période de confinement.

Ce dernier vient en effet de porter en seulement deux jours le simulateur NumWorks pour la console de jeux portable Nintendo 3DS.

Il utilise l'écran supérieur pour l'affichage et l'écran tactile inférieur pour les touches clavier, réorganisées à cette fin.


Grâce à M4x1m3, tu vas donc enfin pouvoir jouer à la NumWorks sur ta Nintendo 3DS ! :D




Téléchargement : archives_voir.php?id=2619353

Code source : https://github.com/numworks/epsilon/pull/1528

Source : viewtopic.php?f=102&t=23726&p=252521#p252521
Link to topic: Le simulateur NumWorks porté sur Nintendo 3DS ! (Comments: 12)

Démineur, Snake, et interface lancement jeux Python

New postby Admin » 19 Apr 2020, 11:27

Les capacités Python de ta calculatrice NumWorks ont été fortement étendues dernièrement. :D

D'une part, la version 13.1.0 a introduit en Python un nouveau module ion permettant de tester les appuis de touches.
Cela devrait t'être fort utile pour coder tes jeux et interfaces de menus ! :bj:

12385D'autre part, le MicroPython de ta calculatrice utilise 3 types de mémoire avec les rôles suivants :
  • la mémoire de stockage qui accueille et conserve tes scripts Python
  • le stack (pile) qui, à l'exécution, accueille les références vers les objets Python créés
  • le heap (tas) qui, à l'exécution, accueille les valeurs de ces objets Python
En gros le stack / pile limite donc le nombre d'objets différents pouvant exister simultanément en mémoire, alors que le heap / tas limite la taille globale occupée par ces objets.
A moins d'avoir de gros besoins en terme de récursivité, le facteur limitant pour tes projets Python sur calculatrice est habituellement le heap / tas.
Or depuis la version 13.2.0, le heap / tas Python de ta NumWorks a doublé, passant de 16K à 32K. :bj:

Dans un article précédent, cent20 et ses disciples se proposaient de t'illustrer ces nouvelles possibilités dans le cadre du développement de jeux Python, avec :
  • des graphismes que l'on peut désormais prendre le temps de soigner au pixel près sans craindre l'erreur de mémoire
  • et une bibliothèque offrant une interface de menu de lancement contrôlée intuitivement à l'aide des touches fléchées
Cette dernière bibliothèque est de plus réutilisable pour tes propres projets de jeu Python sur NumWorks, elle se charge d'absolument tout ce qui précède le lancement de ta partie. Il te suffit d'un simple appel à la fonction menu() en lui fournissant dans l'ordre :
  • titre du jeu
  • texte du bouton de lancement
  • des listes comportant un nom suivi de une ou plusieurs valeurs qui te permettent astucieusement de traiter par exemple :
    • aussi bien les choix disponibles pour une ou plusieurs options (difficulté, niveau de départ, ...)
    • que l'affichage d'une ligne d'aide avec les différentes touches de contrôle, défilables de la même façon qu'une option avec les touches fléchées
    • ou encore l'affichage des différents auteurs, là encore défilables de la même façon
La fonction te retourne alors automatiquement les valeurs choisies par l'utilisateur pour chaque option, tu n'as rien d'autre à faire ! :bj:

Voici par exemple la simple ligne d'appel qui produit l'interface ci-dessus :
Code: Select all
mode, dif, bor = menu("SNAKE",
                      "Lancer la partie",
                      ["Mode", "Classique", "Dingue"],
                      ["Difficulté", "Moyen", "Difficile", " Extrême",
                        "Facile"],
                      ["Bordures", "Mortelles", "Téléportation"],
                      ["Commandes", " Nav: Flèches", "Menu: HOME",
                        "Rejouer: OK"],
                      ["Crédits","Arthur J.","Vincent R."])

12378Aujourd'hui, cent20 revient à son tout premier jeu NumWorks exploitant le nouveau module ion, le jeu du Démineur.

cent20 te met donc justement à jour ce Démineur avec cette nouvelle interface de lancement, te donnant ainsi accès beaucoup plus intuitivement à toute la richesse de gameplay offerte par les options !

Voici la ligne d'appel correspondante, regarde comme c'est simple : :)
Code: Select all
mines, triche, graphisme, com, cre = menu("Démineur",
                                          "Lancer la partie [OK]",
                                          ["Mines", 16, 19, 22, 25, 28,
                                            31, 33, 36, 39, 42, 7, 10, 13],
                                          ["Mode Triche", "1 fois", "non",
                                            "oui"],
                                          ["Graphisme", "sobre", "classique"],
                                          ["Commandes", "Nav: Flèches",
                                            "Déminer: OK", "Drapeau: Retour",
                                            "Rejouer: Maison", "Triche: shift"],
                                          ["Crédits", "Site web$nsi.xyz/demine",
                                            "Auteur$Vincent Robert",
                                            "Contributeur$Bisam tiplanet.org",
                                            "Contributeur$Critor tiplanet.org",
                                            "Contributeur$Arthur Jacquin"])

Liens :

Téléchargements :

Snake, calcul mental, et interface lancement jeux Python

New postby Admin » 19 Apr 2020, 00:10

12385Cela t'a peut-être échappé, mais les capacités Python de ta NumWorks ont été fortement étendues dernièrement. :D

D'une part, le MicroPython de ta calculatrice utilise 3 types de mémoire avec les rôles suivants :
  • la mémoire de stockage qui accueille et conserve tes scripts Python
  • le stack (pile) qui, à l'exécution, accueille les références vers les objets Python créés
  • le heap (tas) qui, à l'exécution, accueille les valeurs de ces objets Python
En gros le stack / pile limite donc le nombre d'objets différents pouvant exister simultanément en mémoire, alors que le heap / tas limite la taille globale occupée par ces objets.
A moins d'avoir de gros besoins en terme de données ou de récursivité, le facteur limitant pour tes projets Python sur calculatrice est habituellement le heap / tas.
Or depuis la version 13.2.0, le heap / tas Python de ta NumWorks a doublé, passant de 16K à 32K. :bj:

D'autre part, la version 13.1.0 a introduit en Python un nouveau module ion permettant de tester les appuis de touches.
Cela devrait t'être fort utile pour coder tes jeux et interfaces de menus ! :bj:

Mais jeux et interfaces de menus, les deux choses sont liées.

C'est quoi un jeu ? Algorithmiquement, on peut le définir en tant que boucle qui répère 3 choses à l'infini :
  • lecture des entrées (clavier, souris, joystick, tactile, réseau...)
  • traitement avec mise à jour des variables codant l'état du jeu
  • mise à jour de l'affichage
Mais ça c'est en cours de partie. Avant le démarrage de la partie, un jeu c'est aussi justement un menu permettant de choisir nombre d'options (difficulté, niveau de démarrage, options d'affichage, ...).

cent20 et ses disciples Arthur_Jacquin et Golden Man se proposent justement ce soir de t'illustrer les formidables nouvelles capacités de la NumWorks, à la fois en terme de jeux et d'interfaces de menus, au pluriel note-le bien. ;)

Grand fan du Python, cent20 a poussé Arthur_Jacquin à nous commencer bien évidemment par un Snake, le jeu du serpent, dont voici ci-contre l'interface de lancement.
Grâce au nouveau module ion, les touches fléchées te permettent intuitivement de sélectionner et modifer les différentes options, et on apprécie également l'affichage d'une aide avec les touches à utiliser ainsi que du nom du jeu et de l'auteur. :)

12472Comme tu le vois maintenant en cours de partie et comme déjà montré, le nouveau tas / heap de 32K permet beaucoup plus de libertés et désormais le travail des graphismes au pixel près, sans avoir à craindre l'erreur de mémoire ! :D

Et voici maintenant comme promis un 2ème jeu, cette fois-ci du calcul mental par Golden Man, une fois de plus aux graphismes remarquablement soignés. :)

Mais voyons un petit peu l'interface de lancement de ce 2ème, car peut-être n'as-tu pas percuté plus haut. Elle est très similaire à celle du Snake, non ? Avec juste les noms et valeurs qui changent... ;)
Car en effet, c'est littéralement une bibliothèque très complète d'interface de lancement de jeu que cent20 et Arthur_Jacquin t'ont développée, et que tu peux réutiliser clé en main pour tes propres jeux ! :bj:
Il te suffit de lui fournir dans l'ordre :
  • titre du jeu
  • texte du bouton de lancement
  • des listes comportant un nom suivi de une ou plusieurs valeurs qui te permettent astucieusement de traiter par exemple :
    • aussi bien les choix disponibles pour une ou plusieurs options
    • que l'affichage des différentes touches de contrôle, défilable de la même façon qu'une option avec les touches fléchées
    • ou encore l'affichage des différents auteurs, là encore défilable de la même façon

Rien de compliqué, un simple appel de fonction et la bibliothèque se charge de tout ! :D
Par exemple, voici l'appel correspondant au jeu Snake :
Code: Select all
mode, dif, bor = menu("SNAKE",
                      "Lancer la partie",
                      ["Mode", "Classique", "Dingue"],
                      ["Difficulté", "Moyen", "Difficile", " Extrême",
                        "Facile"],
                      ["Bordures", "Mortelles", "Téléportation"],
                      ["Commandes", " Nav: Flèches", "Menu: HOME",
                        "Rejouer: OK"],
                      ["Crédits","Arthur J.","Vincent R."])

Mais pas de défilement vertical par contre à ce jour si on spécifie plus de 5 listes nom+valeurs. Peut-être pour une prochaine fois ? ;)

Et voici celui correspondant au jeu de calcul mental :
Code: Select all
mode, ope, dif, rep = menu("Automatismes en calcul mental",
                            "Calculer [OK]",
                            ["Mode", "Classique", "Rapide"],
                            ["Opération(s)", "+", "-", "x", "/", "+ -",
                              " x / ", "+ - x", "+ - x /"],
                            ["Difficulté", "  modéré", "difficile",
                              "expert", "facile"],
                            ["Répétition", 42, 50, 100, 120, 20],
                            ["Crédits", "Site web$nsi.xyz/calcul",
                              "Auteur$Kevin Fedyna",
                              "Contributeur$Vincent ROBERT"])

12473Enfantin, n'est-ce pas ? ;)

N'hésite pas à aller consulter ci-dessous les pages de ces 3 projets, débordantes de détails passionnants à dévorer.

Et en attendant ta prochaine création, jusqu'à combien arrives-tu à faire grandir ton serpent ? :troll:




Liens :

Téléchargements :

-
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.
1817 utilisateurs:
>1757 invités
>52 membres
>8 robots
Record simultané (sur 6 mois):
7582 utilisateurs (le 25/06/2025)
-
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)