Page 1 of 35

Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 21 Sep 2022, 21:09
by critor
Depuis 2016, TI-Planet et Planète Casio te proposent un grand rendez-vous chaque rentrée, avec des défis autour de la calculatrice graphique te permettant de gagner l'équipement intégral de ton choix, ou nombre d'accessoires exclusifs te permettant de compléter et personnaliser ton équipement de façon unique au monde.

Année après année, nous progressons :
  • Rentrée 2017, Galactik : premier concours multi-constructeurs Casio + Hewlett Packard + NumWorks + Texas Instruments
  • Rentrée 2018, Triconcours avec 3 défis : premières versions Python des défis, uniquement pour calculatrice NumWorks
  • Rentrée 2019 avec 3 défis : premier défi intégralement en Python, avec un affichage en mode texte
  • Rentrée 2020 avec 3 défis : tous les défis intégralement en Python + affichage graphique (certes encore modeste) sur tous les modèles
  • Rentrée 2021 : nos défis évoluent vers de véritables jeux vidéo auxquels il suffisait de réaliser le meilleur score, les plus poussés jamais conçus en Python sur calculatrices jusqu'alors :
    • Alrys, un RPG 2D avec une énorme carte de 146×91=13286 cases
    • SynchroDonjon, défiant tes IA sur une série infinie de tableaux de 16×8=128 cases
Voici sans plus attendre notre événement de rentrée 2022... ;)

Image








A) Genèse de Pykaster3D :Go to top

Pour cette rentrée 2022 nous poursuivons cette transition de nos défis vers des jeux vidéo et allons toujours plus loin. Au menu cette année un jeu unique une nouvelle fois compatible avec les meilleures calculatrices Python : une grande arène fortifiée de 64×29=1856 cases à explorer mais cette fois ci en 3D : Pycaster3D !
critor wrote:Je tiens à remercier Lephe pour m'avoir motivé sur cette catégorie de jeux que j'avais proposée parmi d'autres choix pour le sujet de cette rentrée, alors que justement je ne l'estimais pas encore réalisable à ce jour. Comme quoi, tout-le-monde peut se tromper... ;)

Le codage fut intensif en un nombre très réduit de semaines cette année, n'ayant retrouvé de disponibilité correcte qu'à compter de mi-juillet, et j'en profite pour remercier tous ceux qui m'ont soutenu par leurs messages ou diverses attentions au cours de l'année écoulée. :favorite:

Aujourd'hui quand je me rends compte que le jeu tourne même sur le modèle d'entrée de gamme Casio Graph 35+E II, je n'en reviens moi-même pas. Formidable les hautes capacités de cette petite machine qui n'a pourtant l'air de rien ! :D

Nous utilisons donc ici un moteur 3D que nous avons codé à partir de rien, s'appuyant sur la technique du raycasting (lancer de rayons) brillamment mise à la portée de tous dès 1996 par F. Permadi avec son tutoriel dédié puis ses exemples jouables en ligne. Ceci permet au jeu de tourner sur la plupart des bonnes calculatrices Python, en évitant justement d'avoir à exploiter des bibliothèques non intégrées sur ces plateformes.

Popularisée au début des années 1990 dans des jeux comme Wolfenstein 3D sorti par Id Software dès 1991, le raycasting est initialement un simple affichage en relief d'une carte tout ce qu'il y a de plus 2D. Diverses créations sur calculatrices en langage machine ou même interprété ont d'ailleurs repris ce principe.

Toutefois, aucune à notre connaissance n'avait osé aller plus loin alors que mathématiquement le plus dur est déjà derrière nous. Nous t'avons donc codé ici une version bien plus poussée que nous appellerons "raycasting étendu", car allant beaucoup plus loin dans la 3D : murs de différentes hauteurs, plafonds, sols, etc... la 3ème dimension passant ici d'une simple décoration visuelle à une véritable composante du jeu à prendre en compte. Pour te donner une idée, nous sommes techniquement beaucoup plus proche d'un Doom sorti par le même éditeur en 1993, au détail près que la mémoire nous bride ici fortement niveau textures.

Comme tu peux le voir, les formidables possibilités Python de nos calculatrices sont encore très loin d'avoir été correctement exploitées ni explorées par les projets ; nous espérons que cela t'inspirera pour tes futurs projets et également te passionnera pour les cours de trigonométrie de ton prof de Maths, car sans elle rien de tout ceci n'existerait ! ;)

Précisons que ce défi est parfaitement abordable avec un niveau collège et qu'il n'y a aucune obligation d'achat pour participer. Comme détaillé plus loin tu peux jouer à Pycaster3D sur ordinateur, sur émulateur de calculatrice, et nous pouvons même t'envoyer des clés USB d'émulation si besoin, dans la limite de nos stocks.




B) Détail des lots mis en jeu :Go to top

Commençons déjà par te présenter ce qu'il y a à gagner. Pour te récompenser nous avons réuni diverses calculatrices graphiques Python haut de gamme. Mais bien plus que les simples calculatrices trouvables dans le commerce, nous t'offrons ici encore de formidables lots exclusifs dans la lignée des années précédentes !

Les lots de cette année ainsi que leur acheminement te sont gracieusement offerts par :
Nos plus sincères remerciements à tous pour votre générosité et votre confiance renouvelées ! :favorite:

29 lots sont mis en jeu et sont à gagner rien qu'en réalisant un des meilleurs scores à notre jeu. Les voici :
14658
  • 6 lots Graph 90+E : 1 calculatrice Casio Graph 90+E + 1 pack de goodies Casio + 1 pack de goodies Xcas + 1 pack de goodies TI-Planète Casio
  • 4 lots Casio : 1 clé USB d'émulation Casio au choix + 1 coque collector Casio au choix + 1 goodie Casio au choix + 1 kit de géométrie Calcuso + 1 pack de goodies Casio + 1 pack de goodies Xcas + 1 pack de goodies TI-Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    La coque collector Casio présente 2 visuels au choix. Elle est disponible de plus sous 2 formats :
    • soit en bleu pour Graph 35+E II / fx-9750/9860GIII
    • soit en blanc pour Graph 90+E / fx-CG50
    Attention au format, les dimensions sont différentes et la coque ne conviendra pas à un autre modèle que ceux indiqués.

    La clé USB dite d'émulation Casio est une clé USB (8 Go) préchargée avec 4 simulateurs diffusés par Casio pour Windows, dans leur toute dernière version : fx-92+ Spéciale Collège + Graph 35+E II 3.50 + Graph 90+E 3.60 + fx-CG50 3.60. Ces logiciels sont beaucoup plus rapides que de simples émulateurs. Sont au choix :

    Le goodie Casio au choix est à sélectionner parmi les propositions suivantes :
    • autocollant avec inscriptions fonctions secondaires de touches pour fx-CP400 / fx-CG500 (à apposer sur la face interne du couvercle)
    • gourde isotherme Casio
    • sac en toile Casio
    • livre Casio fx-CP400

    13022130231464015878152151456814569146181481714819

    11649
  • 2 lots N0120EX : 1 calculatrice NumWorks N0120EX + 1 sticker Macaremath + 1 pack de goodies NumWorks + 1 goodie Calcuso au choix + 1 pack de goodies Xcas + 1 pack de goodies TI-Planète Casio
  • 7 lots NumWorks : 1 coque collector NumWorks au choix + 1 autocollant NumWorks au choix + 1 pack de goodies NumWorks + 1 goodie Calcuso au choix + 1 pack de goodies Xcas + 1 pack de goodies TI-Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    Nouveauté de cette rentrée 2022 au Portugal proposée ici en exclusivité et peut-être avant-première, la NumWorks N0120EX y remplace l'ancien modèle N0110 de 2019 que tu connais bien. Véritable phénomène de puissance, elle est munie d'une nouvelle itération du matériel arrivant même à rivaliser en performances avec le haut de gamme TI-Nspire CX II ! :bj:

    13036148021480014799160761609816080

    1457314124
  • 6 lots CX2CAS : 1 calculatrice TI-Nspire CX II-T CAS (ou autre TI-Nspire Ndlessable) au choix + 1 licence logiciel TI-Nspire élève + 1 kit de géométrie Calcuso + 1 pack de goodies TI + 1 pack de goodies Xcas + 1 pack de goodies TI-Planète Casio
  • 2 lots Calcuso : 1 calculatrice TI-83 Premium CE Edition Python + 1 licence logiciel d'émulation TI-SmartView CE dédié + 1 gravure texte laser au choix + 1 extension garantie 6 ans + 1 chargeur mural + 1 housse Wyngs au choix + 1 film de protection écran Wyngs dédié + 1 kit de géométrie Calcuso + 1 livret de prise en main Calcuso + 1 extrait de cahier d'activités + 1 pack de goodies TI + 1 pack de goodies TI-Planète Casio
  • 2 lots 83PCE : 1 calculatrice TI-83 Premium CE Edition Python + 1 licence logiciel d'émulation TI-SmartView CE dédié + 1 film de protection écran Wyngs dédié + 1 livret de prise en main Calcuso + 1 extrait de cahier d'activités + 2 cahiers d'activités TI au choix + 1 goodie Calcuso au choix + 1 pack de goodies TI + 1 pack de goodies TI-Planète Casio
    Show/Hide spoilerAfficher/Masquer le spoiler
    La calculatrice TI-Nspire peut être choisie parmi les suivantes (attention, le stock de machines Ndlessables est limité) :
    • TI-Nspire CX II-T CAS en boîte, révision matérielle AP, avec OS 5.4.0.259 préinstallé, non Ndlessable
    • TI-Nspire CX II-T CAS sous blister scellé, avec OS 5.1.3.73 préinstallé, Ndlessable
    • TI-Nspire CX II-T sous blister scellé, avec OS 5.1.3.73 préinstallé, Ndlessable
    • TI-Nspire CX CAS révision matérielle AA, en boîte, avec OS 4.4.0.532 préinstallé, Ndlessable
    • TI-Nspire CX CAS révision matérielle Y, en boîte, avec OS 4.4.0.532 préinstallé, Ndlessable
    • TI-Nspire CX CAS sous blister scellé © 2015, Ndlessable
    • TI-Nspire CX CAS sous blister scellé © 2012, Ndlessable

    Les logiciels d'émulation/simulation sont installables sur Windows ou Mac.

    Pour la gravure laser des TI-83 Premium CE Edition Python, l'inscription souhaitée sera à fournir sur un maximum de 22 caractères alphanumériques, sans caractères spéciaux. Attention à bien choisir pour ne pas le regretter plus tard, l'inscription une fois effectuée est définitive ; elle n'est plus ni modifiable ni effaçable.

    Pour les cahiers d'activités TI au choix, le détail est à consulter dans la description du pack de goodies TI ci-après.

    Pour la housse Wyngs des lots Calcuso, le choix est à faire entre les coloris suivants :
    • noir
    • turquoise
    • gris foncé
    • rose
    • gris clair
    • rouge
    • bleu
    14307143081479213138
143091602013841112261311714767131021313613128148171481914306

Détail des packs de goodies communs accompagnant les lots :
  • 1 housse Casio au choix :
    • FX-CASE pour les calculatrices scientifiques à pile AAA style Casio fx-92 Collège
    • GRAPH-CASE pour les calculatrices graphiques à piles AAA style Casio Graph
  • 1 clé USB Casio au choix
  • 1 batterie USB Casio
  • 1 stylo Casio au choix
  • 1 histoire intégrale imprimée du manga Casio Academy - ClassWiz Edition - Function Hero - épisode 0, 1, 2 ou 3 au choix :
159421594316088160871463912987
  • 1 sac en toile NumWorks au choix
  • 1 poster NumWorks format A2 (42×59,4 cm²) au choix
  • 1 goodie NumWorks au choix :
1304613047160961304813031160771478414794147851607915945159441593813033
1306012281159311593015937159341593215933159291592813065159271593514565145661306114567145711308513087130811308313077130791481015947148091601916018148081594915946130731480713071159481384113075130721480616120
  • 1 goodie Calcuso au choix :
    • stylo Calcuso
    • housse Wyngs au choix
    • kit de géométrie Calcuso
    1609016091160921481714819
  • 1 autocollant Xcas
  • 1 goodie Xcas au choix :
    • T-shirt Xcas au choix (taille L ou XL)
    • casquette Xcas
    • aimantin Xcas
13228161131469516114
  • 1 aimantin TI-Planet au choix
  • 1 autocollant TI-Planet au choix
  • 1 autocollant Planète Casio
  • 1 compte premium TI-Planet
161151161411615




C) Présentation du jeu Pykaster3D + production attendue :Go to top

Depuis que tu as libéré le royaume d'Alrys l'année dernière, les donjons ont été laissés à l'abandon. Le donjon de la presqu'île de Farfalie a été envahi par de terribles souris électriques. Te voilà donc de retour au royaume pour débarrasser les habitants de ce fléau. À l'assaut ; il va te falloir toutes les attraper ! ;)

Présentons donc maintenant le jeu. Précisons que ce fut littéralement un exploit titanesque d'arriver à le faire rentrer et tourner correctement sur certains modèles de calculatrices. Un miracle de compression et d'optimisation que nous ne pensions même pas possible au départ. Dans sa version finale, le jeu nécessite :
  • de 80 à 100K de mémoire de stockage selon les scripts installés (compressés ou non, monochromes ou couleur)
  • au minimum 100K de mémoire de tas (heap) pour l'exécution du jeu en mode monochrome, et un petit peu plus (150K) pour le mode couleur

Ce donjon-là précisément, se découpe en zones de défense contiguës toutes protégées de hauts remparts, dans lesquelles 99 souris ont donc élu domicile :
  • il te faudra d'abord parcourir les catacombes pour y trouver l'entrée secrète du hall des héros
  • poursuivre en y trouvant l'entrée cachée du terrible labyrinthe s'empilant sur pas moins de 3 niveaux
  • et enfin prendre la passerelle suspendue pour t'élancer à l'assaut des jardins cerclant le cœur du donjon


Passons donc à ce que nous attendons de toi. Ton but est donc de réaliser la partie la plus glorieuse, c'est-à-dire de faire le maximum de points. Pour cela nous te demandons de programmer ta partie, sous la forme d'une liste d'actions dans le script pyka3d.py. C'est très facile, ton personnage se contrôle à la Scratch / Turtle. Pas moins de 8 types d'actions sont disponibles, les voici :
  • 0 = avance (touche
    )
  • 1 = se décale à droite (touche
    6
    )
  • 2 = recule (touche
    )
  • 3 = se décale à gauche (touche
    4
    )
  • 4 = ne fait rien (touche
    5
    )
  • 5 = tourne à gauche (touche
    )
  • 6 = tourne à droite (touche
    )
  • 7 = saute (touche
    entrer
    )

Chaque action attend de plus un paramètre. Un exemple te permettant d'attraper ta première souris est préchargé dans le script pyka3d.py. Le voici décortiqué et illustré ci-dessous :
Code: Select all
liste_actions = [
  4, 5, # ne fait rien pendant 5 tours
  6, 0.39269908169872414, 6, 0.39269908169872414, 6, 0.39269908169872414, 6, 0.39269908169872414, 6, 0.39269908169872414, # tourne 5 fois de suite à droite de π/8 radians (22.5°)
  5, 0.39269908169872414, 5, 0.39269908169872414, 5, 0.39269908169872414, 5, 0.39269908169872414, 5, 0.39269908169872414, 5, 0.39269908169872414, # tourne 6 fois de suite à gauche de π/8 radians (22.5°)
  0, 77, # avance 77 fois de 1 pas
  5, 0.39269908169872414, # tourne à gauche de π/8 radians (22.5°)
  0, 121, # avance 121 fois de 1 pas
]



Par défaut, le fonctionnement du script pyka3d.py avec son appel jouer_selon(liste_actions, 1) est de :
  1. jouer automatiquement le contenu éventuel de la variable globale liste_actions
  2. une fois la liste épuisée, te donner la main pour te permettre de tester au clavier les actions suivantes
  3. en fin de partie, afficher la liste correspondant aux seules actions que tu as rajoutées au clavier, à copier-coller à la suite des valeurs de liste_actions dans le script pyka3d.py si le score obtenu te convient
Petite variante, notons que tu peux également utiliser l'appel jouer_selon(liste_actions, 0) qui pour sa part ne génère pas les affichages 3D intermédiaires entre les actions de ta liste, pour arriver plus rapidement à l'affichage 3D final te donnant la main une fois ta liste épuisée.

Tu es libre aussi bien de construire ta liste d'actions au clavier, que de l'éditer directement dans le script pyka3d.py. Cette dernière option offre justement davantage de libertés au niveau des paramètres des diverses actions. Les différences sont :
  • les actions te faisant avancer, reculer, te décaler à gauche ou à droite prennent obligatoirement un paramètre de 1 pas au clavier, alors que le code accepte parfaitement de gérer toute valeur de pas sur
    $mathjax$\left[-1;1\right]$mathjax$
    , fractions de pas comprises, pour mieux doser tes déplacements en cas d'obstacles notamment
  • les actions te faisant tourner à gauche ou droite prennent obligatoirement un paramètre de
    $mathjax$\frac{\pi}{8}$mathjax$
    radians au clavier (22.5°), alors qu'il n'y a aucune limitation - tu peux même faire un demi-tour sur place en un seul coup si tu le souhaites
  • l'action te permettant de sauter s'effectue obligatoirement avec un paramètre de 1 au clavier (correspondant à un saut de puissance maximale), alors que les valeurs intermédiaires sur
    $mathjax$\left[0;1\right]$mathjax$
    sont acceptées, pour mieux doser tes sauts
Après, tu restes parfaitement libre de modifier le code pour que le clavier ait un comportement différent ou permette même de préciser les paramètres, vu que la seule chose que nous évaluerons sera la liste que tu auras obtenue.



Rajoutons qu'aussi bien les souris que toi disposez d'un niveau. Vos caractéristiques et capacités physiques (longueur du pas, puissance de saut, taille, ...) augmentent avec votre niveau.

Niveau affichage, le jeu distingue pour t'aider :
  • les souris de niveau inférieur ou égal au tien. Elles sont affichées comme des Pikachus normaux et te sont directement attrapables rien qu'en les touchant, au détail près qu'elles tenteront de s'enfuir à ton approche.
  • les souris de niveau strictement supérieur au tien. En plus d'être plus grandes que toi, elles sont affichées différemment des autres (en rouge comme des Raichus pour un affichage couleur, en inversé pour un affichage monochrome) et les toucher te fera prendre une décharge électrique qui te grillera quelques points. Attention, garde tes distances si tu en croises car elles sont aussi capables de se jeter sur toi...


Bien évidemment, les souris de faible niveau rapportent beaucoup moins de points. Tout est donc dans la stratégie, le problème n'étant finalement pas tellement de toutes les attraper, mais de comment et quand les attraper. Tu vas devoir faire preuve de stratégie pour les amener à évoluer mais pas trop... ;)

Les souris évoluent en gagnant à chaque fois 1 niveau de différentes façons :
  • par fusion : 2 souris de même niveau se cherchent pour n'en former qu'une seule
  • par absorption : 1 souris de niveau supérieur est capable d'absorber une souris de niveau inférieur, à la différence ici que cette dernière tentera d'échapper à l'autre
  • si tu marches sur l'une des 5 dalles d'évolution cachées dans le donjon

Pour ta part, tu gagnes 1 niveau à chaque fois que tu réussis à attraper une souris. Avec tes caractéristiques et capacités physiques alors augmentées, tu pourras atteindre de nouvelles zones. Mais attention ici encore à procéder par ordre, car cela pourrait te rendre l'accès à d'autres zones plus difficile voir même impossible...

Comment et quand les attraper donc, avec de plus des caractéristiques non homogènes dans le temps... nous souhaitons beaucoup de courage à ceux qui faisaient tourner des outils de recherche automatisée de trajectoires optimales lors des événements des années précédentes. ;)




D) Compatibilité avec les différentes calculatrices et logiciels d'émulation/simulation :Go to top

Grâce à la nouvelle bibliothèque polycal5.py, le jeu est compatible avec pas moins de 12 environnements Python sur calculatrices, et illustrés dans l'ordre ci-dessous :


Nous apprécions sur HP Prime l'affichage non pas en RGB-565 comme l'ensemble de la concurrence, mais en RGB-888, permettant de superbes dégradés sans saccades de l'ombrage en fonction de la distance ! :favorite:

Nous adorons sur Casio le format d'écran large avec un rapport de non pas 4:3 comme l'ensemble de la concurrence mais 2:1, permettant ici un champ de vision 3D à non pas 60° mais 71,6° ! :favorite:


Les performances sont par exemple correctes sur le modèle HP Prime. Bien évidemment tout-le-monde n'a pas de HP Prime, aussi avons-nous prévu plusieurs choses cette année pour permettre à tout-le-monde de participer sans obligation d'achat :
  • En plus du mode sans affichage 3D pour tester rapidement tes listes évoqué plus haut, des solutions éprouvées d'accélération de ta calculatrice (overclocking) te seront indiquées ci-après avec les téléchargements concernant chaque modèle.
  • Nos scripts Python sont directement fonctionnels sur ordinateur. Il te suffira d'opter ci-après pour les scripts Casio Graph 90+E, qui ont l'avantage d'être en version complète et dans le format .py standard.
  • Certaines calculatrices sont disponibles sous forme logicielle pour ordinateur (émulateur ou simulateur). Dans le cas de simulateurs, les performances sont souvent très supérieures à celle de la calculatrice, ce qui te sera également indiqué ci-après.
  • Tu as par exemple les simulateurs Casio Graph 35+E II, Graph 90+E / fx-CG50 et HP Prime avec des performances correctes de l'ordre de 1 à 2 fps de moyenne pour jouer comme tu peux le constater ci-contre et ci-dessous (temps réel, aucun trucage) malgré un ordinateur qui commence à dater.

    Les simulateurs Casio malgré leurs avantages, ont toutefois quelques inconvénients spécifiques :
    • l'interpréteur Python officiel de ces simulateurs n'a pas de fonction getkey() pour interroger les touches pressées, et nous sommes obligés de te faire défiler les actions disponibles en bas d'écran pour que tu puisses les choisir avec la touche d'interruption
      AC/ON
      , l'exception générée étant interceptée
    • ces logiciels étant des simulateurs et non des émulateurs, ils ne sont justement pas compatibles avec KhiCAS dont l'interpréteur Python dispose d'une fonction getkey()
    • enfin, ces simulateurs ne fonctionnent que si la clé d'émulation USB officielle de Casio est branchée sur ton ordinateur
    Toutefois par rapport à ce dernier point, si tu souhaites tenter de réaliser le meilleur score avec les simulateurs Casio (peut-être pas au clavier mais restant parfaitement pertinent pour tester les listes saisies ou collées dans pyka3d.py), nous sommes prêts à envoyer gratuitement une clé USB d'émulation à jour et préchargée des scripts du concours, aux premiers participants qui en feront la demande avec leur participation (soit après au moins 1 premier envoi de participation valide, même inachevée), dans la limite de notre stock.




E) Modalités de participation individuelle + demande de clé d'émulation :Go to top

Une fois que tu auras programmé une liste d'actions satisfaisante, il te suffira de nous envoyer ton script pyka3d.py modifié, par courriel à info@tiplanet.org d'ici le Dimanche 13 Novembre 2022 23h59:59 heure française (GMT+1), avec :
  • en objet : Pykaster3D
  • par sécurité, une indication du score que ton script serait censé nous donner
  • un moyen de te contacter rapidement en cas de gain ou de question (ce que tu veux, là où tu estimes être le plus réactif : adresse courriel, téléphone, compte social, compte discord, etc.)
  • si tu le souhaites, ton pseudonyme sur TI-Planet ou Planète Casio
  • pour pouvoir recevoir ton lot (peuvent très bien être communiquées plus tard si tu préfères, mais autant gagner du temps) :
    • ton adresse postale complète avec nom et prénom(s)
    • un numéro de téléphone personnel valide (fortement conseillé pour recevoir les événements de suivi)
N'hésite pas à envoyer plusieurs participations, de toutes façons nous retiendrons la meilleure.

Comme évoqué plus haut, tu peux accompagner ta participation d'une demande de clé USB d'émulation Casio, dans la limite de nos stocks (18 clés).

Les informations personnelles communiquées sont uniquement utilisées dans le cadre du déroulement de ce concours. Elles ne sont transmises à aucun tiers, et détruites sur demande.




F) Modalités de participation en groupe :Go to top

Grande nouveauté cette année, nous acceptons et récompensons les participations en groupe !
  1. pour créer un groupe, il te faut accompagner ta participation :
    • d'une image de l'emblème que tu souhaites donner à ton groupe, au format carré
    • de ton pseudonyme sur TI-Planet ou Planète Casio (les chefs de groupe n'étant pas complètement anonymisés)
  2. tu deviens alors automatiquement chef du groupe et reçois une signature sous forme de code Python
  3. il te suffit alors de fournir cette signature à toutes les personnes que tu souhaites voir participer au sein de ton groupe, et également aux personnes qui te contacteraient sur ton compte TI-Planet ou Planète Casio et dont tu accepterais la participation au sein de ton groupe
  4. toute personne accompagnant une de ses participations de la signature de ton groupe le rejoint automatiquement

Si un participant souhaite changer de groupe, il lui suffit de récupérer et fournir la signature du nouveau groupe et d'envoyer une nouvelle participation en ce sens. La dernière signature reçue par participant prévaut.

Il appartient au chef de groupe d'expliquer à ses membres la répartition qu'il prévoit pour le lot de groupe en cas de victoire, ou ce qu'il compte leur offrir.




G) Modalités d'attribution des lots individuels + groupe :Go to top

2 classements sont produits à partir des participations reçues :
  • un classement individuel avec les meilleurs scores de chaque participant
  • un classement collectif avec les scores de groupe (une moyenne des meilleurs scores de chaque membre, pondérée par divers critères dont la taille du groupe et l'assiduité des membres)

Les meilleurs participants individuels seront invités à choisir et composer leur lot par ordre décroissant de leurs meilleurs scores.

16116Dans cet ordre, le premier participant à être membre d'un groupe a également le droit de choisir et composer un 2ème lot qui deviendra ainsi le lot du meilleur groupe (il appartient au membre en question de se mettre en accord à ce sujet avec les autres membres de son groupe).
Le chef de groupe nous détaille ensuite dans ce cas à quels membres du groupe expédier directement chacun des divers éléments composant le lot de groupe, ou si il préfère recevoir le tout et se charger lui-même de la répartition.

Les membres du groupe gagnant recevront dans tous les cas un autocollant commémoratif de l'événement.

Le chef du groupe ainsi que son meilleur membre (si différent) recevront également un aimantin commémoratif.




H) Téléchargements scripts + ressources nécessaires :Go to top

Scripts de participation
Sur ton ordinateur, il te suffit :
  • d'extraire le contenu du fichier .zip dans le dossier de ton choix
  • avec l'invite de commandes de te rendre dans le dossier en question
  • de taper alors python pyka3d.py

La version ordinateur nécessite non seulement l'installation de Python, mais également celle des bibliothèques SDL2 pour Python.
Elles sont parfois préinstallées avec Python mais pas toujours.

Si l'utilisation de SDL2 échoue, les scripts vont basculer dans l'un des modes calculatrices et possiblement crier n'importe quoi comme exception.

Si c'est ton cas, ptitjoz et Afyu ont confirmé plusieurs commandes d'installation pour résoudre le problème :
  • sous Windows et Linux : pip install PySDL2
  • sous Linux : sudo apt install python3-sdl​2
Scripts de participation
Il te suffit de transférer l'ensemble des scripts dans le dossier de ton choix, puis de lancer le script pyka3d.py et le modifier autant de fois que tu voudras.

À noter qu'il n'y a à ce jour aucun moyen sur Casio d'interroger les touches clavier. Pour contourner ce problème, une fois le jeu passé en mode manuel, nous te faisons défiler en boucle en bas à droite de l'écran les 8 actions disponibles, ainsi que la possibilité de quitter. Tu as juste à taper
AC/ON
pendant que l'action que tu souhaites se trouve affichée.

Les calculatrices ainsi que leurs émulateurs sont peu performants sur ces scripts. Nous te conseillons :
  • d'installer un utilitaire d'overclocking (sur calculatrice uniquement)
  • d'utiliser le mode sans affichages 3D intermédiaires pour tester tes listes
  • d'opter pour le simulateur sur clé USB

Mises à jour conseillées :
  • Système 3.60 pour Graph 90+E + fx-CG50 avec Windows / Mac

Overclocking :

Emulateurs :
  • Graph 90+E + fx-CG50 version 3.60 pour Windows / Mac
    (période d'essai gratuite sans engagement de 90 jours)

Simulateurs :

Transfert de données :
Scripts de participation
Les scripts sont à transférer directement à la racine de l'espace de stockage USB de la calculatrice, c'est-à-dire pas dans un sous-dossier mais au même niveau que les fichiers d'applications .g3a.

Il suffit ensuite depuis KhiCAS comme illustré ci-contre :
  • de passer le mode de fonctionnement en MicroPython (menu via la touche
    F6
    )
  • d'ouvrir et modifier le script pyka3d.py (également via la touche
    F6
    )
  • d'exécuter le script en question (touche
    EXE
    )
  • une fois le jeu passé en mode manuel tu contrôles les déplacements avec les touches fléchées entre autres, et peux quitter avec
    EXIT

Les calculatrices ainsi que leurs émulateurs sont peu performants sur ces scripts. Nous te conseillons :
  • d'installer un utilitaire d'overclocking (sur calculatrice uniquement)
  • d'utiliser le mode sans affichages 3D intermédiaires pour tester tes listes

Mises à jour conseillées :
  • Système 3.60 pour Graph 90+E + fx-CG50 avec Windows / Mac

Ajouts relatifs au Python :
  • Application KhiCAS pour Graph 90+E + fx-CG50

Overclocking :

Emulateurs :
  • Graph 90+E + fx-CG50 version 3.60 pour Windows / Mac
    (période d'essai gratuite sans engagement de 90 jours)

Simulateurs :

Transfert de données :
Scripts de participation
Il te suffit de transférer l'ensemble des scripts dans le dossier de ton choix, puis de lancer le script pyka3d.py et le modifier autant de fois que tu voudras.

À noter qu'il n'y a à ce jour aucun moyen sur Casio d'interroger les touches clavier. Pour contourner ce problème, une fois le jeu passé en mode manuel, nous te faisons défiler en boucle en bas à droite de l'écran les 8 actions disponibles, ainsi que la possibilité de quitter. Tu as juste à taper
AC/ON
pendant que l'action que tu souhaites se trouve affichée.

Les calculatrices ainsi que leurs émulateurs sont peu performants sur ces scripts. Nous te conseillons :
  • d'installer un utilitaire d'overclocking (sur calculatrice uniquement)
  • d'utiliser le mode sans affichages 3D intermédiaires pour tester tes listes
  • d'opter pour le simulateur sur clé USB

Mises à jour conseillées :

Overclocking :

Emulateurs :

Simulateurs :

Transfert de données :
Application de participation
Il te suffit de transférer directement le fichier Pyka3D.hpappdir.zip téléchargé. Une fois la nouvelle application Pyka3D lancée, tu auras 2 vues entre lesquelles basculer :
  • La vue
    Symb
    pour modifier le script pyka3d.py
  • La vue
    Num
    pour la console Python.
    Elle pourra sous certaines conditions te proposer de recharger les scripts, ce que tu auras juste à accepter pour lancer le jeu. Si ce n'est pas proposé, le menu tactile de bas d'écran Effacer le permet également
Les performances de la calculatrice et de son simulateur sont très correctes.

Simulateurs : (gratuits)
  • logiciel HP Prime Virtual Calculator version 14596 pour Windows 64-bits
  • logiciel HP Prime Virtual Calculator version 14592 pour Windows 32-bits
    (attention, à ce jour les dernières versions Mac, Android et iOS ne sont pas à jour et n'intèrent pas le Python)

Transfert de données + mises à jour conseillées :
  • logiciel de connectivité version 2.1.14596 pour Windows 64-bits
  • logiciel de connectivité version 2.1.14592 pour Windows 32-bits
  • logiciel de connectivité version 2.1.14425 pour Mac
  • mise à jour 2.1.14596 pour HP Prime G1 G2
  • Tutoriel
Comme dit plus haut, nous avons besoin de :
  • 80-100K d'espace de stockage pour les scripts Python
  • plus de 100K de mémoire de tas (heap) pour l'exécution des scripts Python

Malgré nos énormes efforts de compatibilité pour l'ensemble des modèles, nous nous devons d'exclure cette année :
  • le firmware officiel Epsilon, car :
    • seulement 43K d'espace de stockage pour les scripts Python, quand il nous en faudrait le double rien que pour la version compressée, le constructeur s'entêtant contrairement à l'ensemble de la concurrence à stocker uniquement en RAM et non pas en Flash, donnant ainsi cette capacité ridicule à peine digne des années 1990 ! :mj:
    • seulement 64K de heap pour l'exécution des scripts Python , quand il nous faudrait 100K rien que pour la version monochrome, une capacité ici encore ridicule classant la machine avant-dernière toute concurrence confondue :mj:
  • le firmware tiers Omega qui fait certes bien mieux niveau heap (99K bien que insuffisant pour la version couleur) mais aussi bien pire niveau stockage (32K)
  • le firmware tiers Upsilon qui pour sa part fait mieux niveau stockage (60K bien que toujours insuffisant) mais pas autant niveau heap (69K)

Mais il y a une autre solution : le formidable firmware tiers Khi accompagné de son application KhiCAS pour NumWorks N0110. Toute autant conforme pour les examens français et en plus de bien d'autres avantages que nous t'invitons à aller consulter, cette configuration permet en effet :
  • un stockage en mémoire Flash avec une capacité se chiffrant donc en Mégaoctets ! :bj:
  • jusqu'à 124K de heap ! :bj:

Nous t'invitons donc à :
  1. déverrouiller ta NumWorks N0110, manipulation qui en cette rentrée 2022 a de grandes chances d'être purement logicielle et gratuite
  2. puis installer Khi avec KhiCAS

Image Flash de participation

Pour installer cette image sur ta NumWorks N0110 déjà configurée avec Khi et KhiCAS, il te faut :
  1. aller sur le site de Khi et KhiCAS
  2. passer ta calculatrice en more de récupération (touche
    6
    à maintenir enfoncée pendant que l'on enfonce et relâche le bouton reset au dos)
  3. demander le chargement du logiciel de récupération
  4. détecter la calculatrice
  5. charger le fichier .tar de l'image précédemment téléchargée
  6. demander son installation
  7. redémarrer la calculatrice avec le bouton reset au dos

Il te suffit ensuite depuis KhiCAS comme illustré ci-contre :
  • de passer le mode de fonctionnement en MicroPython (menu via la touche
    )
  • d'étendre la capacité heap de sa valeur par défaut de 73K à sa valeur maximale de 124K
  • d'ouvrir et modifier le script pyka3d.py (également via la touche
    )
  • d'exécuter le script en question (touche
    EXE
    )
  • une fois le jeu passé en mode manuel tu contrôles les déplacements avec les touches fléchées entre autres et peux quitter avec

Les performances restent toutefois décevantes lorsque l'on connaît les spécifications du processeur, la mémoire hélas limitée ne permettant pas de double buffering des affichages, et le heap à 127K étant de plus encore un peu limité pour la version couleur.
Classeur de participation
Tu as juste à :
  • le transférer dans le dossier de ton choix
  • l'ouvrir
  • modifier comme tu voudras le script pyka3d.py dans l'onglet 1.1, puis l'exécuter via les menus de la touche
    menu
    ou directement via le raccourci
    ctrl
    R
  • une fois le jeu passé en mode manuel, tu peux tester tes prochains déplacements avec les touches fléchées entre autres, quitter avec la touche
    esc
    , et revenir à l'onglet du script avec
    ctrl
Les performances sur calculatrice sont décevantes, surtout lorsque l'on connaît les spécifications du processeur par rapport à d'autres modèles concurrents. Visiblement quelque chose nous empêche ici d'en exploiter le plein potentiel. Nous te conseillons l'installation d'un utilitaire d'overclocking.
Le logiciel ne fait pas suffisamment mieux.

Mises à jour conseillées :
Attention, toute mise à jour 5.3.2 ou supérieure une fois installée rend à ce jour définitivement impossible l'installation de Ndless et des utilitaires qui suivent, ainsi que par conséquent le retour à une version inférieure.

Overclocking :

Simulateurs + transfert de données :
  • TI-Nspire CX CAS + TI-Nspire CX version 5.4.0.257 édition enseignant pour Windows / Mac (période d'essai gratuite sans engagement de 90 jours)
  • TI-Nspire CX CAS version 5.4.0.259 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TI-Nspire CX version 5.4.0.259 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • nspireconnect.ti.com/
  • N-Link
  • TiLP-II version 1.18 pour Windows / Mac / Linux (gratuit)
Scripts de participation
Les scripts sont à transférer dans le dossier /Xcas/ créé au premier lancement de KhiCAS. Il suffit ensuite depuis KhiCAS comme illustré ci-contre :
  • de passer le mode de fonctionnement en MicroPython (menu via la touche
    doc
    )
  • d'ouvrir et modifier le script pyka3d.py (également via la touche
    doc
    )
  • d'exécuter le script en question (touche
    enter
    )
  • une fois le jeu passé en mode manuel tu contrôles les déplacements avec les touches fléchées et peux quitter avec
    esc

Les performances sur calculatrice sont correctes, même si cela ne fera pas de mal d'installer un utilitaire d'overclocking.
(l'illustration ci-contre est relative aux anciens modèles TI-Nspire CX beaucoup plus lents, faute d'émulateur TI-Nspire CX II à ce jour)

Mises à jour conseillées :
Attention, toute mise à jour 5.3.2 ou supérieure une fois installée rend à ce jour définitivement impossible l'installation de Ndless et des utilitaires qui suivent, ainsi que par conséquent le retour à une version inférieure.

Ajouts relatifs au Python :

Overclocking :

Simulateurs + transfert de données :
  • TI-Nspire CX CAS + TI-Nspire CX version 5.4.0.257 édition enseignant pour Windows / Mac (période d'essai gratuite sans engagement de 90 jours)
  • TI-Nspire CX CAS version 5.4.0.259 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TI-Nspire CX version 5.4.0.259 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • nspireconnect.ti.com/
  • N-Link
  • TiLP-II version 1.18 pour Windows / Mac / Linux (gratuit)
Scripts de participation
Les scripts sont à transférer dans le dossier /Xcas/ créé au premier lancement de KhiCAS. Il suffit ensuite depuis KhiCAS comme illustré ci-contre :
  • de passer le mode de fonctionnement en MicroPython (menu via la touche
    doc
    )
  • d'ouvrir et modifier le script pyka3d.py (également via la touche
    doc
    )
  • d'exécuter le script en question (touche
    enter
    )
  • une fois le jeu passé en mode manuel tu contrôles les déplacements avec les touches fléchées et peux quitter avec
    esc
Les performances sur calculatrice ne sont pas extraordinaires. Nous te conseillons l'installation d'un utilitaire d'overclocking.

Mises à jour conseillées :
Attention, la dernière mise à jour 4.5.5 une fois installée rend à ce jour définitivement impossible l'installation de Ndless et des utilitaires qui suivent, ainsi que par conséquent le retour à une version inférieure.

Ajouts relatifs au Python :

Overclocking :

Emulateur :

Transfert de données :
  • TI-Nspire Computer Link version 3.9 pour Windows / Mac (gratuit)
  • tutoriel TI-Nspire Computer Link (gratuit)
  • TI-Nspire CX CAS + TI-Nspire CX version 5.4.0.257 édition enseignant pour Windows / Mac (période d'essai gratuite sans engagement de 90 jours)
  • TI-Nspire CX CAS version 5.4.0.259 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TI-Nspire CX version 5.4.0.259 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • N-Link
  • TiLP-II version 1.18 pour Windows / Mac / Linux (gratuit)

Lien : topic d'entraide Planète Casio

Référence : https://www.planet-casio.com/Fr/forums/ ... ter3d.html

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 00:31
by critor
1ère participation reçue. :)

787,8 points, participation donc à date gagnante.
Image

Ce qui nous rappelle que le tableau de classement des participations n'est absolument pas prêt ; il va falloir que l'on s'y mette dès demain.

Ce qui me fait également penser... par sécurité svp, précisez avec vos participations quel genre de score votre script serait censé nous donner. Nous ne sommes pas à l'abri d'une erreur ou d'un bug, et ce serait dommage de passer à côté. Je rajoute aux consignes.

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 06:52
by Dubs
Wahooooo, mais quel boulot de folie vous avez fait !

Code: Select all
while (true) {
  print("Merci !!!");
}

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 07:39
by critor
Ah bonjour Dubs. Bien content de te revoir au rendez-vous cette année. :)

Tu n'es bien évidemment absolument pas obligé de le partager avant la fin, mais on se demandait quand même si tu arriverais à faire un "Pykasted3D path maker" cette année ou pas. ;)

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 10:08
by critor
Nouvelle participation qui prend la tête en les attrapant toutes pour 1292 points ! :bj:
Image

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 17:11
by cent20
critor wrote:Nouvelle participation qui prend la tête en les attrapant toutes pour 1292 points ! :bj:
Image


Non mais qui est en train de tryhard ?
Nous on commence à peine à faire tourner le truc 😢

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 17:27
by critor
Nouveau participant, avec 1246 points : :bj:
Image

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 17:28
by critor
Et re-nouveau participant qui les explose tous, avec 1409,1 points ! :#tritop#:
Image
(et encore une belle marge de progression, vu qu'ils reste encore 27 petites souris à attraper ;))

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 18:00
by critor
Nouveau participant, avec 1306,2 points ! :bj:
Image

Re: Concours Python 2022 - Pykaster3D «attrape-les toutes» !

Unread postPosted: 22 Sep 2022, 18:09
by Antarctus
Whaouh super ! Laissez-moi le temps de comprendre le jeu, et je m'efforcerai de réaliser une participation honorable !