π
<-
Chat plein-écran
[^]

Concours de rentrée 2021 - Synchro-donjon !

Concours de rentrée 2021 - Synchro-donjon !

Message non lude Lephe » 12 Sep 2021, 18:31

Bienvenue au concours de rentrée 2021 organisé par TI-Planet et Planète Casio ! :D

Image

Dans l'article introductif de l'événement, nous racontions comment tu as trouvé dans une brocante une console étrange avec deux cartouches.

La deuxième de ces cartouches contient un jeu qui s'appelle Synchro-donjon.

» Tableau des scores «
Le concours est fini depuis le 7 Novembre !

Le but de Synchro-donjon est de conquérir le plus rapidement possible le donjon du Cirque des Monts Pleureurs, un donjon situé au Nord-Ouest du royaume d'Alrys et que tu peux voir de l'extérieur en jouant à La geste d'Alrys, l'autre jeu de ce concours.

Dans ce jeu, il y a quatre joueurs qui commencent dans les coins : Jaune, Rouge, Bleu et Vert. Le but est de faire traverser le donjon aux joueurs pour les faire sortir par leurs sorties respectives (sur le côté opposé du plateau). ;)

Image

Il y a de nombreux étages au donjon, et chacun est différent et imprévisible - c'est pour ça que le donjon est difficile à conquérir.

Pour permettre au héros de continuer son aventure dans le monde d'Alrys, tu devras donc user d'ingéniosité et programmer ta calculatrice pour décider des actions à effectuer à chaque étage. En somme, ta tâche est d'écrire une IA pour Synchro-donjon ! :D

Dans cet article je vais te présenter les règles du jeu. Mais je peux déjà te dire ce qui rend ce jeu intéressant : comme tu n'as qu'une calculatrice branchée, la console pense que tu veux contrôler les 4 joueurs d'un coup, et donc toutes tes actions s'appliquent à tous les joueurs en même temps ! Coordonner tout ce beau monde est la difficulté de ce donjon.

Bien sûr, tu ne seras pas tout seul dans cette tâche, et plusieurs IAs te seront présentées pour t'aider à prendre en main le jeu ainsi que le code Python nécessaire pour écrire ton IA. Tu peux aussi jouer au jeu directement sur ta calculatrice pour te familiariser. ^^

Lis l'article explicatif de ia2_path.py : IA Synchro-don​jon #2 : Recherche de chemin
Lis l'article explicatif de ia3greed.py : IA Synchro-donjon #3: Optimisations locales

Règles du jeu



Le donjon est un plateau de 8 lignes et 16 colonnes. Les bords sont constitués de murs et des sorties. Les 4 joueurs commencent dans les coins et chacun doit atteindre sa sortie. Sur leur chemin, on trouve :

  • Des pics, qui font des dégâts si un des joueurs marche dessus.
  • Des monstres, qui font aussi des dégâts si un joueur les croise, mais qui sont vaincus durant le combat. Il est aussi possible de les attaquer à distance et les vaincre sans prendre de dégâts.
  • Des pièges, qui produisent des effets aléatoires et souvent imprévisibles : soit ils infligent des dégâts, soit ils font apparaître d'autres pics/pièges ailleurs dans le donjon.
Les pics, monstres, et pièges violets affectent tous les joueurs. Ceux qui sont jaunes, rouges, bleus ou verts n'affectent pas le joueur correspondant (donc ils affectent tout le monde sauf le joueur qui partage leur couleur).

À chaque tour, tu disposes de 5 actions possibles :

  • Les 4 actions ALLER_GAUCHE, ALLER_DROITE, ALLER_HAUT et ALLER_BAS indiquent aux joueurs de se déplacer. Tout le monde effectue le même mouvement. Un joueur qui est bloqué par un mur ne se déplace pas. Si un joueur marche sur des pics, il prend des dégâts ; s'il marche sur un monstre, il tue le monstre mais prend des dégâts ; s'il marche sur un piège, le piège est activé.
  • L'action ATTAQUER indique aux joueurs d'attaquer les objets autour d'eux sans se déplacer. Tous les monstres à côté des joueurs sont détruits, et le joueurs ne prennent pas de dégâts. Cependant, tous les pièges à côté des joueurs sont également activés !
Au début du jeu, tu as 150 points. À chaque tour tu perds 1 point, et à chaque fois qu'un joueur prend des dégâts tu perds 10 points. S'il te reste des points quand tous les joueurs sont sortis alors ces points sont ajoutés à ton score.

Dans Synchro-donjon, ton IA jouera sur un grand nombre de plateaux et on fait la somme de chaque score obtenu sur chacun des plateaux pour obtenir ton score final. ;)

Installation et utilisation du programme



Synchro-donjon peut être installé sur les modèles suivants et sur PC. Le jeu est compatible avec un nombre impressionnant de modèles, allant jusqu'à la TI-82 Advanced Édition Python ! Ce résultat est possible grâce à la bibliothèque polycal4.py ainsi que des heures de compression investies par Critor.

Les fichiers polycal4.py et polyfont.py sont identiques à ceux de La geste d'Alrys, l'autre jeu du concours. Tu n'as besoin de les transférer qu'une fois pour les deux problèmes. ;)

Tu peux jouer toi-même interactivement en lançant synchrod.py. Quand tu auras une IA (un modèle est donné plus bas dans cet article), tu pourras faire jouer l'IA en lançant ton fichier Python. ^^

Trois IAs sont fournies avec le programme : ia1_ask.py qui est le squelette présenté plus bas, mais aussi ia2_path.py et ia3greed.py qui sont deux IAs plus évoluées qui te seront présentées en détail plus tard durant le concours pour t'aider. :D

Scripts de participation
Il te suffit d'extraire l'ensemble des scripts dans le dossier de ton choix, puis de lancer le script synchrod.py pour jouer interactivement (au clavier) ou une IA.
Scripts de participation
Transfère synchrod.py, polycalc4.py et polyfont.py dans la mémoire de stockage. Dans le mode interactif, tu dois appuyer sur
AC/ON
pour saisir tes actions dans la console.

Les performances des calculatrices et émulateurs sur ces scripts sont correctes. Cependant, si tu veux les améliorer, nous te conseillons :
  • sur calculatrice, d'installer un utilitaire d'overclocking
  • ou sinon 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 l'application SynchroD.hpappdir.zip téléchargée. Une fois lancée, tu auras 2 vues à utiliser :
  • La vue
    Symb
    pour modifier ton IA
  • 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 de bas d'écran Effacer le permet également
Les performances de la calculatrice et de son simulateur sont excellentes.

Simulateur :

Transfert de données et mises à jour conseillées :
Script de participation :
Tu as juste à transférer le script synchrod.py unique, le lancer, et à modifier les fonctions d'IA comme bon te semblera.

Sur calculatrice, les performances sont très correctes, très supérieures au reste du milieu de gamme ainsi qu'à certains modèles haut de gamme, absolument remarquable. Toutefois, le heap de 32K du firmware officiel Epsilon risque très rapidement de te limiter dans la programmation de ton itinéraire. Dans ton intérêt nous te conseillons très fortement de passer sous les firmwares tiers Omega ou Khi pour 100K de heap.
Attention, l'installation de toute mise à jour officielle 16.3.0 ou supérieure empêche définitivement l'installation de firmwares tiers, et empêchera également le transfert de scripts depuis les sites Internet des firmwares Omega et Khi. :#non#:

Le simulateur en ligne officiel de NumWorks a des performances absolument déplorables (et souffre en prime du même défaut de heap limité à 32K). Nous te conseillons très fortement le simulateur Omega qui est incomparable en performances dans le bon sens du terme comme illustré ci-contre, et t'offrira en prime 100K de heap.

Transfert de données :
Classeur de participation
Tu as juste à :
  • le transférer dans le dossier de ton choix
  • l'ouvrir
  • te rendre avec
    ctrl
    sur l'onglet avec le script synchrod.py ou une IA
  • modifier l'IA comme tu voudras, puis l'exécuter via les menus de la touche
    menu
    ou directement via le raccourci
    ctrl
    R
Les performances sur calculatrice sont acceptables, mais si tu veux pousser plus loin nous te conseillons l'installation d'un utilitaire d'overclocking, ou encore mieux de préférer l'utilisation de KhiCAS nettement plus performant, voir le prochain onglet d'instructions dédié.

Mises à jour conseillées :
Attention, la dernière mise à jour 5.3.2 une fois installée rend à ce jour définitivement impossible l'installation de Ndless et des utilitaires qui suivent.

Overclocking :

Simulateurs + transfert de données :
  • TI-Nspire CX CAS + TI-Nspire CX version 5.3.2 édition enseignant pour Windows / Mac (période d'essai gratuite sans engagement de 90 jours)
  • TI-Nspire CX CAS version 5.3.2 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TI-Nspire CX version 5.3.2 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • 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 synchrod.py (également via la touche
    doc
    ) ou un script d'IA
  • d'exécuter le script en question (touche
    enter
    )
  • durant les interactions manuelles 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, la dernière mise à jour 5.3.2 une fois installée rend à ce jour définitivement impossible l'installation de Ndless et des utilitaires qui suivent.

Ajouts relatifs au Python :

Overclocking :

Simulateurs + transfert de données :
  • TI-Nspire CX CAS + TI-Nspire CX version 5.3.2 édition enseignant pour Windows / Mac (période d'essai gratuite sans engagement de 90 jours)
  • TI-Nspire CX CAS version 5.3.2 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TI-Nspire CX version 5.3.2 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • 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 synchrod.py (également via la touche
    doc
    ) ou un script d'IA
  • d'exécuter le script en question (touche
    enter
    )
  • durant les interactions manuelles tu contrôles les déplacements avec les touches fléchées et peux quitter avec
    esc
Les performances sur calculatrice sont correctes, mais si tu veux aller plus vite 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.

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.3.2 édition enseignant pour Windows / Mac (période d'essai gratuite sans engagement de 90 jours)
  • TI-Nspire CX CAS version 5.3.2 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TI-Nspire CX version 5.3.2 édition élève pour Windows / Mac (période d'essai gratuite sans engagement de 30 jours)
  • TiLP-II version 1.18 pour Windows / Mac / Linux (gratuit)
Scripts de participation
Il te suffit de transférer l'ensemble des fichiers présents dans le sous dossier source/, puis de lancer l'IA de ton choix dans l'application Python.

Mise à jour conseillée :

Emulation / simulation :

Transfert de données :
Scripts de participation
Si tu es sur calculatrice, transfère SynchroD.b83 (TI-83 Premium CE) ou SynchroD.b84 (TI-84 Plus CE).
Si tu es sur émulateur, transfère l'ensemble des fichiers présents dans le sous dossier source/.
Ensuite lance l'application Python et lance le script synchrod.py ou ton IA.

Mises à jour conseillées :
  • Système 5.6.1 (TI-83 Premium CE Edition Python)
  • Système 5.6.1 (TI-84 Plus CE-T Python Edition / TI-84 Plus CE Python)
  • Application Python 5.5.2 (TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition)

Emulation / simulation :

Transfert de données :
Scripts de participation
Si tu es sur calculatrice, transfère SynchroD.b83 (TI-83 Premium CE) ou SynchroD.b84 (TI-84 Plus CE).
Si tu es sur émulateur, transfère l'ensemble des fichiers présents dans le sous dossier source/.
Ensuite lance l'application PyAdaptr et lance le script synchrod.py ou ton IA.

Mises à jour conseillées :
  • Système 5.6.1 (TI-83 Premium CE)
  • Système 5.6.1 (TI-84 Plus CE(-T))
  • Application PyAdaptr (TI-83 Premium CE / TI-84 Plus CE(-T))

Emulation / simulation :

Transfert de données :


Fonctionnement du plateau de jeu



Le plateau de jeu contient 8 lignes et 16 colonnes, et est codé dans une liste Python de 8×16 = 128 entiers. Chaque élément de la liste indique l'état d'une case du plateau, et ils sont arrangés dans cet ordre :

Image

Si tu préfères numéroter les cases en lignes/colonnes, tu peux utiliser la méthode suivante. ;)

  • Les lignes sont numérotées de Y=0 (ligne du haut) à Y=7 (ligne du bas).
  • Les colonnes sont numérotées de X=0 (colonne de gauche) à X=15 (colonne de droite).
  • La case sur la ligne Y et la colonne X a pour valeur V=16*Y+X.
  • La case de valeur V est sur la ligne Y=V//16 et sur la colonne X=V%16.
Chaque élément de la liste est une des valeurs suivantes : VIDE, MUR, PICS, MONSTRE, PIEGE ou SORTIE. En plus de ça, il peut y avoir une couleur : JAUNE, ROUGE, BLEU, VERT ou TOUS (violet).

Le tableau ci-dessous résume les combinaisons :

Image

Sur les calculatrices monochromes, les couleurs sont remplacées par les symboles ci-dessous :

Image

Sur la TI-82 Advanced Édition Python, le jeu est entièrement en mode texte, et les caractères suivants sont utilisés :
  • Les joueurs sont les symboles ¶
  • Les pics sont les trois-points …
  • Les monstres sont les symboles ¥
  • Les pièges sont les symboles Ø

Fonctionnement de l'IA



L'IA de ton programme doit être un fichier Python avec une fonction pour décider ce qui doit se passer à chaque tour (ou, sur Numworks, une fonction Python intégrée à synchrod.py). Le squelette de base est le fichier ia1_ask.py :

Code: Tout sélectionner
from polycal4 import get_infos
from synchrod import *

def tour(plateau, joueurs, evenements):
    # Demander une action avec input()
    return demander_action()

play_game(tour)

Les deux premières lignes importent les fonctions de Synchro-donjon. Évidemment, il est interdit d'accéder aux variables internes du script ou de modifier les valeurs identifiant les éléments de la map. :p

La fonction tour() est ton IA. Elle est appelée à chaque tour du jeu avec trois paramètres et doit renvoyer une action à accomplir.

  • plateau est la liste de 128 cases représentant le plateau de jeu (que tu ne dois pas modifier évidemment).
  • joueurs est une liste de 4 éléments indiquant la position des 4 joueurs sur le plateau. Tu peux utiliser soit le style joueurs[ROUGE] soit le style joueurs[1] selon tes préférences. Pour les joueurs qui sont encore sur le plateau, la position est un entier entre 0 et 127. Pour ceux qui sont déjà sortis, la valeur spéciale -1 est utilisée.
  • evenements est une liste d'événements qui se sont produits depuis le tour précédent.
Les événements sont utiles dans des scénarios un peu rares. Chaque élément de la liste peut être égal à :

  • (-1,-1,NOUVELLE_PARTIE,-1) si une nouvelle partie vient de commencer.
  • (<x>,<y>,PIEGE_APPARU,<joueur>) si <joueur> a activé un piège qui a fait apparaître un nouveau piège à la ligne <y>, colonne <x>.
  • (<x>,<y>,PICS_APPARU,<joueur>) si <joueur> a activé un piège qui a fait apparaître des pics à la ligne <y>, colonne <x>.
La fonction tour() doit choisir et renvoyer une action parmi ALLER_GAUCHE, ALLER_DROITE, ALLER_HAUT, ALLER_BAS et ATTAQUER. Lorsque l'IA remporte la partie, une nouvelle partie commence automatiquement.

Outils pour écrire ton IA



synchrod.py fournit plusieurs outils pour t'aider à écrire ton IA, spécifiquement 4 fonctions.

La fonction demander_action() donne la main au clavier de la calculatrice pour choisir la prochaine action. Sur les modèles où l'on peut saisir au clavier, les touches directionnelles, entrée et retour sont utilisées. Sur les autres (notamment CASIO), il faut appuyer sur AC/ON pour revenir à la console() et taper un chiffre.

La fonction est_un() permet d'identifier les pics, monstres, et pièges indépendamment de leur couleur. Par exemple un piège vert est un piège mais pas un monstre, donc est_un(PIEGE+VERT, PIEGE) vaut True mais est_un(PIEGE+VERT, MONSTRE) vaut False.

De façon similaire, la fonction affecte() permet de déterminer si des pics, monstres ou pièges affectent un joueur. Par exemple, les pics violets affectent Jaune mais pas les pics jaunes, donc affecte(PICS+TOUS, JAUNE) vaut True mais affecte(PICS+JAUNE, JAUNE) vaut False.

Enfin, il y a une fonction calculer_chemin(<plateau>, <début>, <fin>) qui calcule en chemin entre la case <début> et la case <fin> et renvoie une liste de directions (ALLER_*). C'est un outil très utile et assez puissant, qui sera expliqué plus en détail avec une des IAs d'exemple. ^^

Utilisation de play_game()



La fonction play_game() appelée à la fin du programme lance la simulation du jeu. Elle a plusieurs paramètres que tu peux modifier à loisir pour améliorer ton IA :

  • blind=True peut être ajouté pour désactiver l'affichage du plateau de jeu et ne laisser que la console (ce qui va en général beaucoup plus vite).
  • seed=<nombre> peut être ajouté pour tester un plateau particulier. La valeur indiquée permet en effet de contrôler le générateur aléatoire.
  • maxgames=<nombre> permet de choisir le nombre de parties (par défaut 100).
À chaque fois que tu gagnes une partie, play_game() affiche deux lignes sur la console :

Code: Tout sélectionner
#0: 12648430
Bravo! 39T 50D -> 61

#0 est le numéro de la partie (ça va jusqu'à maxgames). Le nombre à droite, 12648430, est la graine aléatoire. Si tu demandes seed=12648430 tu retomberas exactement sur ce plateau (ce qui est utile si ton programme a une erreur que tu veux retester).

Sur la ligne du bas, le nombre devant T est le nombre de tours passés sur le plateau, le nombre devant D est la quantité de dégâts que tu as subis, et le résultat est ton score (150-T-D). Si ton score est négatif il compte pour 0.

À la fin de la partie, play_game() affiche le nombre de parties jouées et ton score final. Par exemple :

Code: Tout sélectionner
Games solved: 100
Score: 2171

Pour participer au concours



Pour participer à l'épreuve de Synchro-donjon, envoie ton fichier .py d'IA (ou ton script synchrod.py modifié sur Numworks) par courriel à contact@planet-casio.com avant le Dimanche 7 Novembre à 23:59 avec :

  • Pour sujet, Synchro-donjon ;
  • Un moyen de te contacter rapidement en cas de gain ou de question (adresse courriel, téléphone, compte social, compte discord, etc.) ;
  • Ton pseudonyme sur TI-Planet ou Planète Casio (optionnel) ;
  • Pour pouvoir recevoir ton lot, ton adresse postale avec nom et prénom, et un numéro de téléphone personnel valide. (Tu peux les communiquer plus tard si tu souhaites.)
Les informations personnelles transmises pendant ce concours ne seront évidemment utilisées que pour le bon fonctionnement de l'événement et sur sa durée.

N'hésite pas à envoyer plusieurs participations, nous ne retiendrons que la meilleure.

Lots



Les lots pour cette épreuve sont les suivants. Les 5 participants ayant les meilleurs scores pourront choisir, par ordre de classement, un lot de leur choix. ;)

  • 1 lot Graph 90+E : 1 calculatrice Graph 90+E + 1 sac et stylo CASIO + 1 pack de goodies TI-Planète Casio

  • 1 lot Graph 35+E II : 1 calculatrice Graph 35+E II + 1 sac et stylo CASIO + 1 pack de goodies TI-Planète Casio

  • 1 lot Goodies n°1 : 1 clé USB TI-83 Premium CE (4 Go) + 1 batterie externe CASIO (2200 mAh) + 1 sac et stylo CASIO + 1 pack de goodies TI-Planète Casio

  • 1 lot Goodies n°2 : 1 recueil d'activités SNT Numworks (65 pages) + 1 clé USB simulateurs CASIO (8 Go) + 1 sac et stylo CASIO + 1 pack de goodies TI-Planète Casio

  • 1 lot Goodies n°3 : 1 cahier «Boss des maths» Numworks (80 pages) + 1 clé USB simulateurs CASIO (8 Go) + 1 sac et stylo Casio + 1 pack de goodies TI-Planète Casio



Tu peux voir l'article sur les batteries externes pour plus de détails.

Le fait qu'il y ait des lots moins fournis sur cette épreuve et exclusivement des calculatrices CASIO n'est pas une marque de favoritisme mais d'organisation. Ce sont les lots que j'ai (Lephe) collectés en plus de ceux que Critor a pour Alrys. J'ai demandé à Critor de procéder ainsi pour faciliter le traitement des participations et lots sur cette épreuve. ;)

Et voilà pour cette épreuve ! Je compte sur toi pour tester toutes tes idées de génie et conquérir ce Synchro-donjon en temps record ! :D
Dernière édition par Lephe le 08 Nov 2021, 09:20, édité 5 fois.
Avatar de l’utilisateur
LephePartenaire
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 67.7%
 
Messages: 386
Inscription: 15 Juin 2018, 19:53
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude critor » 12 Sep 2021, 20:19

Voici une façon d'utiliser la version ordinateur :
  • extraire le contenu du .zip dans un dossier
  • avec la console se rendre dans le dossier en question
  • taper alors python ia1_ask.py

La version ordinateur nécessite les bibliothèques Python SDL2.
Chez certains elles sont déjà préinstallées (ce fut mon cas), et chez d'autres non.

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

Si c'est ton cas, ptitjoz et Afyu ont confirmé plusieurs commandes pour résoudre le problème :
  • sous Windows et Linux : pip install PySDL2
  • sous Linux : sudo apt install python3-sdl​2

Nous préciserons dès que nous y verrons plus clair.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude Lephe » 13 Sep 2021, 09:11

Il faut aussi installer la bibliothèque SDL2 en elle-même (PySDL2 n'est qu'une enveloppe autour). La méthode avec apt doit l'installer automatiquement, mais celle avec pip non.

Sous Windows, vous pouvez télécharger SDL2 sur leur site web. Sous Linux, il faut de nouveau utiliser le gestionnaire de paquets. Les bibliothèques peuvent être installées sous les dérivés de Debian (Ubuntu, Mint, Elementary, etc) avec ce paquet :

sudo apt install libsdl2-2.0-0
Avatar de l’utilisateur
LephePartenaire
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 67.7%
 
Messages: 386
Inscription: 15 Juin 2018, 19:53
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude critor » 13 Sep 2021, 19:52

Pour ceux qui sont sur TI-Nspire CX II. Vous avez besoin de la bibliothèque ti_system dans le dossier /PyLib/ (c'est ce qui permet la gestion des touches clavier).
Si la bibliothèque a été effacée ou est inaccessible (mode examen par exemple), le script déclenchera une erreur dès le lancement, même si vous lancez une IA n'utilisant pas le clavier.
Nous regardons comment corriger cela.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude critor » 13 Sep 2021, 22:11

Mise à jour ce soir des scripts :

Pour TI-Nspire CX II, dans le cas où le module ti_system (apportant entre autres la fonction get_key) n'est pas utilisable (effacé du dossier /PyLib/, calculatrice en mode examen, ...), le script se lance maintenant correctement, il n'y a plus d'exception. Par contre dans ce cas, les touches clavier seront non fonctionnelles sur l'IA1.

Pour Casio + ordi (surtout ordi en fait) :
  • En cas d'absence de la bibliothèque SDL2, l'exception affichée n'est plus sans rapport, elle devrait maintenant être compréhensible.
  • Les performances ont été améliorées (fill_rect).
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude critor » 14 Sep 2021, 10:44

Mise à jour de la version TI-Nspire CX II : archives_voir.php?id=2791850

L'utilisation du module ti_system a été remplacée par ti_st.
Maintenant les touches clavier devraient marcher dans tous les cas, même si le dossier /PyLib/ a été effacé, et même si la calculatrice est en mode examen.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 41.4%
 
Messages: 41455
Images: 14353
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude SlyVTT » 23 Sep 2021, 17:26

Hello,
juste une question : le classement se fait sur la base des scores obtenus sur 100 niveaux c'est ça ou sur un nombre de niveaux différent ?
Ciao
Sly
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.: 42.9%
 
Messages: 481
Images: 31
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude Lephe » 24 Sep 2021, 17:09

100 parties ce serait un trop petit échantillon, pour le test ce sera plus probablement 10'000 parties (et à partir d'une autre graine juste pour éviter que l'aléatoire puisse être prédit). ;)
Avatar de l’utilisateur
LephePartenaire
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 67.7%
 
Messages: 386
Inscription: 15 Juin 2018, 19:53
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude SlyVTT » 24 Sep 2021, 17:22

Ok merci Lephe, effectivement en multipliant le nombre de tableau, on devrait "normaliser" l'IA et éviter les "coups de bol".
Cela devrait permettre de voir les performances intrinsèques de chaque IA. On peut partir sur l'hypothèse que l'indicateur (score / nb tableaux) tende vers une valeur stable liée à la performance réelle de l'IA considérée.
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.: 42.9%
 
Messages: 481
Images: 31
Inscription: 19 Jan 2021, 09:41
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
GitHub: SlyVTT

Re: Concours de rentrée 2021 - Synchro-donjon !

Message non lude Lephe » 24 Sep 2021, 17:54

Oui c'est l'idée ! Sur la calculatrice on n'allait pas lancer 10'000 tests, je suis optimiste sur les performance en mode aveugle mais quand même faut pas abuser. :D
Avatar de l’utilisateur
LephePartenaire
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 67.7%
 
Messages: 386
Inscription: 15 Juin 2018, 19:53
Genre: Homme
Calculatrice(s):
MyCalcs profile

Suivante

Retourner vers News Divers

Qui est en ligne

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

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
752 utilisateurs:
>737 invités
>11 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
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)