π
<-

Concours Python 2024-2025 - Championnat de codage jeu vidéo

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude critor » 18 Mar 2025, 09:35

Merci :)

On avance, The Map a été testé et est passé en actualité ce matin :
viewtopic.php?f=97&t=26978#p277581
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 53.7%
 
Messages: 42421
Images: 17170
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude cent20 » 18 Mar 2025, 17:30

critor a écrit:Merci :)

On avance, The Map a été testé et est passé en actualité ce matin :
viewtopic.php?f=97&t=26978#p277581


Demain c'est nous ! B-)
Image
Enseignant Maths & NSI : Projets, tutos & ressources NumWorks.
📙 Mes 3 livres : Apprendre avec l'IA | Découvrir la NumWorks | Discovering the NumWorks.
Soutenez l'évolution de la NumWorks (un 👍 suffit) : #2292 & #1680.
Avatar de l’utilisateur
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 51.4%
 
Messages: 1128
Images: 67
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: nsi_xyz

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude SlyVTT » 18 Mar 2025, 21:00

cent20 a écrit:Demain c'est nous ! B-)



ou pas :troll: !! :D
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
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 574
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude cent20 » 19 Mar 2025, 19:25

SlyVTT a écrit:
cent20 a écrit:Demain c'est nous ! B-)



ou pas :troll: !! :D


Non c'est juste que Xavier cherche à sortir de Explore, Escape. C'est qu'il y a quand même 666 niveaux ! :troll:
Image
Enseignant Maths & NSI : Projets, tutos & ressources NumWorks.
📙 Mes 3 livres : Apprendre avec l'IA | Découvrir la NumWorks | Discovering the NumWorks.
Soutenez l'évolution de la NumWorks (un 👍 suffit) : #2292 & #1680.
Avatar de l’utilisateur
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 51.4%
 
Messages: 1128
Images: 67
Inscription: 17 Mai 2012, 09:49
Localisation: Avignon
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: nsi_xyz

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude SlyVTT » 19 Mar 2025, 20:36

cent20 a écrit:Non c'est juste que Xavier cherche à sortir de Explore, Escape. C'est qu'il y a quand même 666 niveaux ! :troll:


666 niveaux !! Le nombre de la Bête !! Devil's inside :D
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
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 574
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude Afyu » 22 Mar 2025, 00:24

Afyu a écrit:
cent20 a écrit:Ok j'ai mal posé la question, comment as tu résolu ce bug ? J'avais proposé hier au créateur du script d'éclater son dico, mais je vois que tu ne l'as pas fait. Comment tu as résolu ce problème ?

Dans les grandes lignes :
J'ai remplacé l'indentation en 4 espaces par une indentation en 1 espace.
J'ai remplacé une partie des images du chef cuistot par une chaîne stockée dans une variable.
J'ai supprimé la partie qui gère la sauvegarde du meilleur score.
J'ai remplacé des x*40 et des y*40 par deux variables X et Y qui valent x*40 et y*40.
J'ai supprimé quelques lignes indentées suite à des if ou for ou def, par une écriture sur une seule ligne.
J'ai modifié les lignes d'import de modules en début de script pour y mettre des * à la place de la liste des fonctions et variables à importer.
J'ai remplacé des elif par des if.

Je crois que c'est à peu près tout.

On pourrait encore gagner un peu en supprimant la fonction dt définie par def dt(t,x,y,c,b,f=None):draw_string(t,x,y,c,b), dans la mesure où Espilon ne gère de toutes façons pas le 6ème paramètre.


J'ai retenté cette adaptation (optimisation), en notant au passage l'ensemble des modifications faites.
Les modifications suivantes sont suffisantes pour que le script du jeu À La Carte par Ayabusa devienne compatible avec Epsilon :
1) remplacer les tabulations en 4 espaces par des tabulations en 1 espace
2) remplacer , par , (supprimer l'espace)
3) supprimer les premières lignes du script (détection de l'os)
4) supprimer les deux fonctions (shg et shg) de gestion de la sauvegarde du meilleur score et leur appel (la lecture/écriture des fichiers .txt n'est de toutes façons pas gérée par Epsilon)
5) modifier les lignes d'import des modules : remplacer import ion par from ion import * et ensuite supprimer tous les ion. du script, pareil pour time et random
6) supprimer la ligne de commentaire qui explique l'utilité de la fonction ra
7) dans la fonction de, poser X,Y=x*40,y*40+40 puis remplacer x*40 et y*40+40 par X et Y dans la fonction de.
8) remplacer les fonctions kd, fr et tm par kd=keydown, fr=fill_rect et tm=monotonic

Ces modifications sont suffisantes pour que le script fonctionne avec Epsilon. :D :bj:

Mais on peut aller plus loin et gagner encore en place (si besoin) en :
1) remplaçant les retours à la ligne avec indentation, dans les boucles for et while, dans les conditions if et dans les définitions de fonctions lorsqu'il n'y a qu'une ligne indentée (on gagne en place en supprimant les tabulations)
2) supprimant la fonction dt définie par def dt(t,x,y,c,b,f=None):draw_string(t,x,y,c,b), dans la mesure où Espilon ne gère de toutes façons pas le 6ème paramètre de la fonction draw_string
3) dans certaines fonctions, en remplaçant des elif par des if, lorsque ce sont des cas exclusifs les uns des autres (mais on touche à la structure du code et on pourrait observer un temps d'exécution de ces fonctions très légèrement augmenté)
4) stockant le début des 4 sprites du cuistot dans une variable, pour éviter d'écrire 4 fois le même début des chaînes de caractères concernées
5) rassemblant plusieurs affectations de variables sur une seule ligne, comme : self.player,self.ms,self.old_missions,self.pmi,self.g_timer,self.g_money=P(self,1,1),[],[],(tm(),1),(tm(),180),0 dans la classe G, lorsque la simultanéité d'affectation est possible et ne casse rien
6) compactant certaines conditions : if px != 16 and px != 17: peut se réécrire if px not in (16,17):
7) supprimant le test ==1 ou le test !=[] ou encore le test !=None pour ne garder que le nom de la variable soumise au test
8) rassemblant certains appels très similaires au sein d'une boucle : les deux appels fr(of+3,3,27,34,c[3]) et fr(of+30,3,27,34,c[3]) peuvent être rassemblés dans une boucle for ; de même les trois appels ds("assiette",X,y*40+42,2), ds("assiette",X,y*40+38,2) et ds("assiette",X,y*40+34,2) peuvent aisément être rassemblés dans une boucle for
9) supprimant la ligne print("G started") :)
Avatar de l’utilisateur
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 5.5%
 
Messages: 424
Images: 150
Inscription: 30 Oct 2019, 19:17
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: plutôt, oui :)

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude critor » 30 Mar 2025, 18:21

Toutes mes excuses pour la mise en pause involontaire de ce fil, la lourde actualité niveau calculatrices qui nous est tombée dessus la semaine dernière ayant bouleversé nos calendriers.
22053

Mais nous revenons bientôt, les jeux vont continuer à être évalués et récompensés comme prévu.

Ce n'était pas du tout prévu comme ça, mais on nous a donc donné quelques déclinaisons supplémentaires de goodies TI dont vous pourrez bénéficier. 💗
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 53.7%
 
Messages: 42421
Images: 17170
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Balto pour NumWorks, concours Python 2024-2025

Message non lude critor » 07 Avr 2025, 10:15

Voici la présentation de Balto, un jeu conçu en équipe dans le cadre de notre concours de programmation Python 2024-2025.

Derrière ce titre se trouvent 3 élève de Vincent Robert alias cent20 au Lycée Louis Pasteur en Avignon :
  • Gabriel G.
  • Nicolas R.
  • Léandre C.

Ils ont choisi de concourir dans la catégorie NumWorks.

22034Leur jeu est une adaptation simplifiée du jeu vidéo de cartes Balatro, abrégé pour cette raison en Balto.

Il n'utilise pas une interface graphique mais une interface texte. Ta main de 7 cartes t'est présentée sur les 7 premières lignes, et les dernières lignes te permettant de choisir les cartes à jouer ou défausser via un appel input().

220372203622035Une interface texte n'est absolument pas un défaut en soi, mais nous trouvons que l'intuitivité et la simplicité de des interactions ont manqué d'approfondissements, surtout dans le contexte des énormes possibilités de la calculatrice NumWorks. Nous pouvons reprocher :
  • que les cartes choisies doivent être indiquées par leur numéro de 1 à 7 dans l'ordre de la main, numéro qui plus est non indiqué à l'écran et nécessitant donc de compter lorsque la position n'est pas visuellement évidente - une alternative aurait été de saisir les noms des cartes visiblement connus du script, éventuellement en abrégé ('KP' pour roi de pique par exemple)
  • que les actions doivent être indiquées en tapant littéralement les mots "jouer" ou "defausser", le tout obligatoirement en minuscule et sans accent, chose qui n'est pas indiquée à l'écran -
    une alternative ici où nous n'avons que 2 choix possibles eut été ici de se contenter de l'initiale de l'action soit 'j' ou 'd', en autorisant aussi bien les majuscules que minuscules
  • que tout choix de carte en action saisi au clavier doive en prime être validé avec
    EXE
    ou
    OK
    - une alternative aurait été d'exploiter la formidable fonction getkey() non bloquante de la NumWorks

220402203922038Cela ne compte pas pour l'évaluation vu qu'ils n'ont pas indiqué relever le défi d'un jeu compatible avec différents modèles, mais bien qu'il n'y ait donc rien de spécifique à la plateforme NumWorks dans ce code, précisons qu'il ne tournera pas de façon optimale ou même pas du tout sur d'autres modèles de calculatrices :
  • les lettres accentuées non gérées correctement perturbent l'affichage des TI/Casio
  • l'interface texte sur 11 lignes ne permet pas d'utiliser le jeu sur Casio (limité à 9 lignes, masquant donc une partie des cartes en main ce qui est bien embêtant)
  • ce n'est absolument pas de la faute de Gabriel, mais il y a un bug sur les TI-Nspire CX II rendant le jeu totalement inutilisable en l'état, les saisies effectuées avec input() voyant apparemment leurs premiers caractères ignorés lorsque le message d'invite inclut une ou plusieurs occurrences du caractères retour charriot
Les seules calculatrices non-NumWorks sur lesquelles le jeu est utilisable, aux détails d'accents près, sont donc les TI-82 Advanced Edition Python, TI-83 Premium CE et TI-84 Plus CE.

C'est dommage, il eut été facile de faire bien mieux.

Téléchargement : Balto
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 53.7%
 
Messages: 42421
Images: 17170
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude SlyVTT » 08 Avr 2025, 09:22

Merci pour la news.
Les tests reprennent, c'est cool.
Tu ne fais plus une news individuelle pour chaque jeu comme précédemment ?
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
Avatar de l’utilisateur
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 50.4%
 
Messages: 574
Images: 32
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours Python 2024-2025 - Championnat de codage jeu vi

Message non lude critor » 08 Avr 2025, 09:46

SlyVTT a écrit:Tu ne fais plus une news individuelle pour chaque jeu comme précédemment ?

Si si, ce n'est juste pas systématique, ça dépend de l'actualité (qui est chargée avec les diverses annonces de promotion ces derniers jours).
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 53.7%
 
Messages: 42421
Images: 17170
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

PrécédenteSuivante

Retourner vers News Divers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 613 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
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
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2991 utilisateurs:
>2972 invités
>13 membres
>6 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)