Démineur, Snake, et interface lancement jeux Python
Posted: 19 Apr 2020, 11:27
Les capacités Python de ta calculatrice NumWorks ont été fortement étendues dernièrement.
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 !
D'autre part, le MicroPython de ta calculatrice utilise 3 types de mémoire avec les rôles suivants :
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.
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 !
D'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
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.
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 :
Voici par exemple la simple ligne d'appel qui produit l'interface ci-dessus :
- 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
- 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
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."])
Aujourd'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 :
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 :
- Un menu en python pour les jeux sur la numworks
- Un démineur en python pour la NumWorks
- Un Snake codé en python pour la NumWorks
Téléchargements :