π
<-

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

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

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 51.1%
 
Posts: 42211
Images: 16673
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby cent20 » 18 Mar 2025, 17:30

critor wrote: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 de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
Amélioration NumWorks à pousser (un commentaire, un pouce, je compte sur vous) : #2292, #1680
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 50.6%
 
Posts: 1108
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

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

Unread postby SlyVTT » 18 Mar 2025, 21:00

cent20 wrote: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
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 47.9%
 
Posts: 542
Images: 32
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

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

Unread postby cent20 » 19 Mar 2025, 19:25

SlyVTT wrote:
cent20 wrote: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 de mathématiques et d'informatique. Spécialité NSI : Des projets, des tutos, mais aussi de l'art
Calculatrice NumWorks : Des applications et des jeux, scripts, 📙 Découvrir la NumWorks
Amélioration NumWorks à pousser (un commentaire, un pouce, je compte sur vous) : #2292, #1680
User avatar
cent20VIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 50.6%
 
Posts: 1108
Images: 67
Joined: 17 May 2012, 09:49
Location: Avignon
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: nsi_xyz

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

Unread postby SlyVTT » 19 Mar 2025, 20:36

cent20 wrote: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
User avatar
SlyVTTPremium
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 47.9%
 
Posts: 542
Images: 32
Joined: 19 Jan 2021, 09:41
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
GitHub: SlyVTT

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

Unread postby Afyu » Today, 00:24

Afyu wrote:
cent20 wrote: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") :)
User avatar
AfyuVIP++
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.3%
 
Posts: 414
Images: 149
Joined: 30 Oct 2019, 19:17
Gender: Male
Calculator(s):
MyCalcs profile
Class: plutôt, oui :)

Previous

Return to News Divers

Who is online

Users browsing this forum: No registered users and 24 guests

-
Search
-
Social TI-Planet
-
Featured topics
Grand Concours 2024-2025 - Programmation Python
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 !
12345
-
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.
981 utilisateurs:
>969 invités
>6 membres
>6 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)