π
<-

Démineur, Snake, et interface lancement jeux Python

Démineur, Snake, et interface lancement jeux Python

Unread 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 :
 
Ce compte ne reçoit pas de MP / This account does not receive PMs.
User avatar
AdminAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 1%
 
Posts: 460
Images: 28
Joined: 30 Aug 2011, 11:00
Gender: Not specified
Calculator(s):
MyCalcs profile

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.
873 utilisateurs:
>844 invités
>22 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)