Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Concours Python 2023-2024 - Championnat d'IA 1000 Bornes
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Concours Python 2023-2024 - Championnat d'IA 1000 Bornes

Posté le 08/10/2023 17:40


Salut à toi, c'est enfin l'heure du grand concours Python vidéoludique annuel de Planète Casio et TI-Planet. Cette année nous changeons non seulement de sujet mais également de formule. Tes communautés d'utilisateurs et passionné(e)s de calculatrices graphiques t'invitent à une belle aventure le long de la mythique Route Nationale 7... car en effet l'objet retenu pour le concours est le jeu de cartes 1000 Bornes.

C'est en 1954 que le 1000 Bornes fut inventé par Edmond Dujardin, imprimeur de matériel pour auto écoles, avant de connaître un succès planétaire. Le nom du jeu fait référence à la fois aux bornes kilométriques jalonnant le réseau routier français, et à la longueur de la mythique Route nationale 7 surnommée "route du soleil" ou "route des vacances", qui à son apogée a pu faire jusqu'à 996 km en reliant Paris porte d'Italie jusqu'à Menton. L'objectif du jeu est d'être le premier à parcourir très extactement 1000 bornes, et nombre d'obstacles se dresseront sur ta route.

Pour ce concours, nous te demandons de coder en langage Python une Intelligence Artificielle (IA) capable de jouer des parties de 1000 Bornes et bien sûr les gagner le plus souvent possible.

Cette année nous ont été attribués pour près de 2500€ de lots pour te récompenser de tes efforts. Nouveauté, le concours va se dérouler en 3 phases successives qui vont t'être détaillées :
  • 1) Un classement individuel de l'ensemble des participant(e)s
  • 2) Une finale individuelle avec les meilleur(e)s participant(e)s
  • 3) Une finale en équipe avec les meilleures équipes

Et justement grande nouvelle cette année, il te sera possible de gagner non pas 1 mais jusqu'à 3 lots si tu te qualifies honorablement pour les différentes phases ! :bj:

Nous avons conçu plusieurs outils afin de t'accompagner et t'aider à arriver le plus rapidement et facilement possible à la phase la plus amusante et intéressante, c'est-à-dire la conception de l'IA.

Tu es libre de t'organiser comme bon te semble, mais nous te proposons de préparer ta participation avec nos outils selon 3 phases successives :
  • 1) Jouer
  • 2) Améliorer l'IA
  • 3) Défier en duel d'autres IA

------------------------------------------




Sommaire :
  • A) Préparer ta participation :

    • A1) Jouer et ressources
    • A2) Améliorer l'IA
    • A3) Défier en duel d'autres IA

  • B) Modalités de participation

    • B1) Inviduelle
    • B2) En équipe

  • C) Classement :

    • C1) Modalités d'évaluation
    • C2) Lots

  • D) Finale individuelle :

    • D1) Modalités
    • D2) Lots

  • E) Finale en équipe :

    • E1) Modalités
    • E2) Lots

------------------------------------------




A1) Préparer ta participation - Jouer et ressources
Déjà, de quel jeu 1000 Bornes parle-t-on ? Car en bientôt 70 ans les règles ont changé plusieurs fois, si bien qu'elles diffèrent d'une adaptation à une autre.

Nous t'avons donc conçu pour référence notre propre jeu 1000 Bornes en Python, que tu pourras faire tourner sur nombre de calculatrices graphiques, sur ordinateur ou encore sur certaines plateformes en ligne.

L'interface de notre conception te présente :
  • Par colonnes, l'état du jeu de chacun des joueurs (de haut en bas et gauche à droite : les bottes ou coup fourrés joués, bornes parcourues, pile de bataille, pile de vitesse, et points cumulés)
  • En bas, la main du dernier joueur humain actif (ou par défaut la main du premier joueur, si aucun joueur n'est humain)
  • En bas à droite, l'état du sabot (de gauche à droite : pile de pioche, pile de défausse)


Les graphismes sont inspirés de ceux de Jean-Yves Boucrot qui nous a hélas quittés en décembre 2018, auteur d'une des toutes premières adaptations avec interface graphique couleur du jeu 1000 Bornes, une version en langage interprété Basic de qualité sortie chez l'éditeur Free Game Blot en 1985 pour les microordinateurs les plus populaires de l'époque (Amstrad CPC, Thomson MO5/TO7, Exelvision EXL 100), faisant suite à une version sortie en 1981 sur Apple II avec des graphismes autrement plus limités, et faisant elle-même suite à plusieurs versions avec une interface texte moins mémorable sorties à partir de 1979.


Toutefois notre implémentation du 1000 Bornes se veut la plus complète possible et va beaucoup plus loin, combinant nombre d'aspects souvent laissés de côté par tout ou partie des adaptations précédentes, afin de t'ouvrir un maximum de pistes d'améliorations pour ton IA :
  • parties à 3 joueurs ou même davantage
  • points de bottes et coup fourrés (le coup fourré, c'est jouer une carte de botte immédiatement après avoir reçu l'attaque correspondante, avant même d'avoir tiré une nouvelle carte)
  • bonus en cas de victoire sans avoir utilisé de carte bornes de 200km
  • allonge (pour une partie à 2 ou 3 joueurs, la ligne d'arrivée est à 700 bornes - mais le premier joueur à atteindre les 700 bornes peut décider de repousser la ligne d'arrivée à 1000 bornes, pour un bonus de points supplémentaire en cas de victoire)
  • points de couronnement (bonus si un joueur atteint la ligne d'arrivée juste après avoir épuisé les cartes de la pioche)
  • points de capot (aussi bien avec la règle d'origine que la nouvelle règle : bonus en cas de victoire sans avoir joué de carte de bornes 100/200km + bonus en cas de victoire alors qu'un adversaire en est toujours à 0km)


Pour démarrer une partie, il te suffit de lancer le script kb.py qui te demande alors :
  • Le nombre total de joueurs - nous te proposons d'indiquer 2 pour commencer
  • Le nombre de joueurs humains (c'est-à-dire jouant au clavier) - tu dois alors indiquer 1 pour lancer un duel contre la machine


Sur la plupart des plateformes compatibles, le jeu se joue ensuite intuitivement :
  • au clavier directement avec les touches fléchées :

    • [←][→] : passe à la carte précédente/suivante dans la main, ou au joueur précédent/suivant en cas d'attaque lors d'une partie avec 3 joueurs ou plus
    • [↑] : valide la carte sélectionnée dans la main (valider un emplacement vide tire une nouvelle carte), ou le joueur sélectionné en cas d'attaque lors d'une partie avec 3 joueurs ou plus
    • [↓] : défausse la carte sélectionnée dans la main, ou annule le coup en cas d'attaque lors d'une partie avec 3 joueurs ou plus
    • [esc] : quitte la partie en cours

  • si disponible à la souris ou l'écran tactile avec 2 clics :

    • un clic dans la main sur la carte
    • un clic dans la zone de destination (le jeu du joueur pour la jouer, le jeu d'un autre joueur pour l'attaquer, le sabot pour la défausser)

Dans le cas d'un joueur humain, l'interface t'interdira de jouer un coup invalide, ce qui t'aidera à t'approprier les règles plus rapidement.

Notre concours se voulant comme à notre habitude sans aucun obligation d'achat, nous avons pris un soin minutieux à rendre notre jeu compatible avec pas moins de 16 configurations Python différentes, couvrant à la fois ton ordinateur, ta calculatrice graphique (modèle récent ou même plus ancien avec plusieurs nouveautés cette année), leurs logiciels d'émulation associés, ou encore nouveauté cette année des plateformes en ligne associées pour ton navigateur.

Voici la liste complète des configurations supportées (rappelons que tu peux dans tous les cas les utiliser sans forcément disposer de la calculatrice associée, nous te donnons dans les ressources ci-après les liens des émulateurs ou plateformes en ligne associées) :
  • ordinateur
  • Casio :

    • Graph 35+E II, fx-9750/9860GIII
    • application KhiCAS pour Casio Graph 35+E II, fx-9750/9860GIII
    • application Micropy pour Casio Graph 35+E II, fx-9750/9860GIII et anciens modèles Graph 35+E/USB, Graph 75/85/95, fx-9750GII, fx-9860G/GII
    • Casio Graph 90+E, fx-CG50
    • application KhiCAS pour Casio Graph 90+E, fx-CG50
    • application Micropy pour Casio Graph 90+E, fx-CG50 et anciens modèles fx-CG10/20
    • application Upsilon CAS pour Casio Graph 90+E, fx-CG50 et anciens modèles fx-CG10/20
    • application PythonEx pour Casio Graph 90+E, fx-CG50 et anciens modèles fx-CG10/20

  • HP Prime
  • NumWorks :

    • firmware personnalisé de dual boot pour N0110/N0115/N0120 verrouillées
    • firmware Khi (slot 2) de dual boot pour N0110 déverrouillée
    • plateformes en ligne Upsilon (CAS + Workshop)

  • Texas Instruments :

    • plateforme en ligne TI-83 Premium CE Edition Python (MaClasseTI.fr + VittaScience)
    • TI-Nspire CX II + plateforme en ligne
    • application KhiCAS pour TI-Nspire CX II et anciens modèles TI-Nspire CX
    • application Upsilon CAS pour TI-Nspire CX II et anciens modèles TI-Nspire CX, TI-Nspire CM
    • application Upsilon CAS pour anciens modèles TI-Nspire monochromes

Une prouesse permise par pc7, réécriture et extension majeure de notre bibliothèque de compatibilité graphique PolyCalc utilisée les années précédentes, avec une meilleure gestion des événements clavier et même désormais souris !


C'est donc parti pour les ressources :
Scripts de participation
(pour ordinateur avec Python et bibliothèque PySDL2)

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 kb.py

En plus des touches fléchées, le jeu est également contrôlable au pointeur souris.

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 tu obtiens une erreur ou n'arrives pas à obtenir l'interface ci-contre, c'est probablement que les bibliothèques SDL2 sont absentes. Dans ce cas, plusieurs commandes d'installation permettent de résoudre le problème :
  • sous Windows et Linux : pip install PySDL2
  • sous Linux : sudo apt install python3-sdl​2

Scripts de participation
(pour calculatrices et émulateurs Graph 90+E fx-CG50 avec l'application Python officielle)

Les scripts sont à transférer dans le dossier de ton choix.

Il te suffit ensuite depuis l'application Python de lancer le script kb.py.

À noter qu'il n'y a à ce jour aucun moyen dans l'application Python officielle de Casio pour interroger les touches clavier. Nous avons donc dû ici décider de contrôles spécifiques avec 1 seule touche :
  • appui simple [AC/ON] : passe à la carte/zone suivante
  • double appui [AC/ON][AC/ON] : valide la carte/zone courante
  • triple appui [AC/ON][AC/ON][AC/ON] : sur validation d'un coup autorisé, quitte la partie en cours


Toutefois, tu peux très avantageusement éviter cet inconvénient en installant une application Python non officielle (se rendre sur l'onglet dédié pour les instructions) :
  • KhiCAS ou Micropy (gestion du clavier + meilleures performances graphiques)
  • Upsilon CAS (gestion du clavier + meilleures performances graphiques)
  • ou PythonEx (gestion du clavier + meilleures performances graphiques + affichages graphiques plein écran)


Mises à jour conseillées :


Emulateurs :
  • Graph 90+E fx-CG50 version 3.80.1 pour Windows Mac

  • (période d'essai gratuite sans engagement de 90 jours)


Simulateurs : (nécessitent la clé USB dite d'émulation officielle)


Transfert de données :

Scripts de participation
(pour calculatrices et émulateurs Graph 90+E fx-CG50 avec l'application KhiCAS)

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.
Attention, tu dois obligatoirement régler le mode de fonctionnement de l'application KhiCAS en Micropython.

Si c'est ton premier lancement de l'application, cela se fait simplement en tapant [F6] lorsque le choix t'est proposé.

Sinon par la suite tu peux à tout moment changer le mode en accédant via la touche [F6] aux menus 'Config' et "Python/Xcas" comme illustré.


Il te suffit ensuite depuis l'application KhiCAS d'exécuter le script kb.py (touche [F6] puis au menu "Exécuter script").

Attention, l'application KhiCAS a le défaut de ne pas toujours afficher les messages d'invite associés aux saisies.

Pour rappel tu dois entrer dans l'ordre :
  • le nombre total de joueurs
  • le nombre de joueurs humains

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


Mises à jour conseillées :


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


Transfert de données :

Scripts de participation
(pour calculatrices et émulateurs Graph 90+E fx-CG10/20/50 avec l'application Micropy)

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 te suffit ensuite depuis l'application Micropy d'exécuter le script kb.py (touche [F6] puis au menu "Exécuter script").

Attention, l'application Micropy a le défaut de ne pas toujours afficher les messages d'invite associés aux saisies.

Pour rappel tu dois entrer dans l'ordre :
  • le nombre total de joueurs
  • le nombre de joueurs humains

Ajouts relatifs au Python :
  • Application Micropy pour Graph 90+E fx-CG10/20/50


Mises à jour conseillées :


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


Transfert de données :

Scripts de participation
(pour calculatrices et émulateurs Graph 90+E fx-CG10/20/50 avec l'applications PythonEx)

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 te suffit ensuite depuis l'application PythonEx d'exécuter le script kb.py (touche [EXE] sur le script en question).

Ajouts relatifs au Python :
  • Application PythonEx pour Graph 90+E fx-CG10/20/50


Mises à jour conseillées :


Emulateurs :
  • Graph 90+E fx-CG50 version 3.80.1 sous Windows Mac

  • (période d'essai gratuite sans engagement de 90 jours)


Transfert de données :

Scripts de participation
(pour calculatrices et émulateurs Graph 90+E fx-CG10/20/50 avec l'application Upsilon CAS)

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 te suffit ensuite depuis Upsilon CAS :
  • de te rendre dans l'application Files
  • d'y sélectionner le seul script principal kb.py
  • de l'importer dans l'environnement Upsilon CAS en tapant [EXE]


  • de te rendre maintenant dans l'application Python où tu trouveras bien le script kb.py à lancer


Ajouts relatifs au Python :


Mises à jour conseillées :


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


Transfert de données :

Scripts de participation
(pour calculatrices et émulateurs Graph 35+E II fx-9750/9860GIII avec l'application Python officielle)

Les scripts sont à transférer dans le dossier de ton choix.

Il te suffit ensuite depuis l'application Python de lancer le script kb.py.

À noter qu'il n'y a à ce jour aucun moyen dans l'application Python officielle de Casio pour interroger les touches clavier. Nous avons donc dû ici décider de contrôles spécifiques avec 1 seule touche :
  • appui simple [AC/ON] : passe à la carte/zone suivante
  • double appui [AC/ON][AC/ON] : valide la carte/zone courante
  • triple appui [AC/ON][AC/ON][AC/ON] : sur validation d'un coup autorisé, quitte la partie en cours


Toutefois cette année tu peux enfin très avantageusement éviter cet inconvénient en installant une application Python non officielle (se rendre dans la section suivante correspondante) :
  • Micropy (gestion du clavier + meilleures performances graphiques)


Mises à jour conseillées :


Emulateurs :


Simulateurs :


Transfert de données :

Scripts de participation
(pour calculatrices et émulateurs Graph 35+E/USB Graph 35+E II Graph75/85/95 fx-9750GII/GIII fx-9860G/GII/GIII avec l'application Micropy)

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

Il te suffit ensuite depuis l'application Micropy d'exécuter le script kb.py (touche [F6] puis au menu "Exécuter script").

Attention, l'application Micropy a le défaut de ne pas toujours afficher les messages d'invite associés aux saisies.

Pour rappel tu dois entrer dans l'ordre :
  • le nombre total de joueurs
  • le nombre de joueurs humains

Ajouts relatifs au Python :
  • Application Micropy pour Graph 35/75/86/95 fx-9750/9860 G/GII/GIII


Mises à jour conseillées :


Emulateurs :


Transfert de données :

D'autres plateformes sont traitées si besoin dans l'annonce TI-Planet.
------------------------------------------




A2) Préparer ta participation - Améliorer l'IA
Le jeu vient avec une IA déjà précodée, fichier ia_random.py.

Il t'est possible de l'affronter de 2 façons :
  • sur toutes plateformes, en lançant kb.py puis indiquant une partie à 2 joueurs avec 1 joueur humain
  • sur ordinateur, en exécutant dans le dossier du jeu la commande python kb.py ia_clavier ia_random
    (ia_clavier.py étant une fausse IA remplaçant les décisions par des appels aux touches clavier)


Tu vas vite te rendre compte que l'IA ia_random fournie fait n'importe quoi et est très facile à battre et même écraser dès que tu auras suffisamment compris les règles. En effet elle joue ses coups complètement au hasard, et c'est donc par pure chance qu'elle arrive de temps en temps à t'attaquer ou à avancer.

Ton objectif est donc de t'inspirer de l'IA ia_random en reprenant tout le squelette que nous t'avons codé pour en faire une bien meilleure. Nous attendons donc de ta part la fourniture d'un script .py correspondant à une amélioration de ia_random.py.

Déjà avant toute chose, les IA pour notre jeu, aussi bien ia_random que ia_clavier sont des classes. C'est un objet Python qui contient lui-même :
  • ses propres variables
  • ses propres fonctions

Dans le cadre de ce concours, tu dois donc nous fournir le code d'une classe compatible, et précisons que toutes les éventuelles variables ou fonctions supplémentaires dont tu estimes avoir besoin doivent être définies au sein de ta classe (et pas dans l'environnement global où elles risqueraient de perturber le fonctionnement de l'IA adversaire).

La classe présente différentes variables et fonctions déjà précodées et commentées, dont par exemple :
  • .infos_joueurs, une liste donnant l'état du jeu de chacun des joueurs de la partie (conformément à la classe c_infos_jeu elle-même définie et commentée dans kblibpub.py)
  • .traite_coup(), une fonction appelée automatiquement pour mettre à jour la liste précédente après chaque coup de la part d'un des joueurs

traite_coup() a déjà été intégralement codée, et tu peux donc directement t'intéresser à l'amélioration de l'IA.

1 fonction essentielle doit attirer ton attention, .decide_coup(). Cette fonction est appelée à chaque fois que c'est le tour d'une IA, et doit retourner le coup souhaité.
Pour l'améliorer tu peux lire ou exécuter tout ce qui est fourni dans kblibpub.py, fichier que nous t'invitons donc à regarder.
Cadeau, un exemple d'une des très nombreuses améliorations possibles est même déjà incluse dans le code de cette fonction, tu as juste à décommenter les lignes en question.

À éviter autant que possible mais petite précision, si une IA demande un coup non conforme aux règles du jeu, il sera considéré que l'IA défausse la carte en question (ou au hasard une autre carte si il se trouve que la carte en question n'est pas dans sa main).

Dans les règles officielles, une partie s'arrête dès que l'un des joueurs dépasse 5000 points. Ici nous avons changé un peu ça, il faudra (entre autres) dépasser les 9000 points.

Nous te conseillons d'aller lire les fichiers :
  • lisezmoi.py/txt
  • ia_random.py
  • kblibpub.py

------------------------------------------




A3) Préparer ta participation - Défier en duel d'autres IA
En local, tu va être rapidement limité(e) pour tes duels avec les seules possibilités :
  • de jouer contre ton IA améliorée pour voir si elle commence à te donner du fil à retordre
    (sur ordinateur commande python kb.py ia_clavier ia_amoi, si tu as codé ton IA dans un fichier ia_amoi.py)
  • de faire jouer ton IA améliorée contre ia_random
    (sur ordinateur commande python kb.py ia_amoi ia_random, si tu as codé ton IA dans un fichier ia_amoi.py)
  • de faire jouer ton IA améliorée contre elle-même (ce qui devrait en moyenne donner du 50/50 en terme de victoires et défaites)
    (sur ordinateur commande python kb.py ia_amoi ia_amoi, si tu as codé ton IA dans un fichier ia_amoi.py)

Sur les autres plateformes plus limitées, il te faudra modifier manuellement les noms de scripts importés dans kb.py.

Tu as donc besoin des IAs des autres participants pour tester des duels, ce qui est contradictoire avec l'esprit d'un concours si cela revient à partager son code source...

Et bien pour cette nouvelle formule de concours, nous avons passé beaucoup de temps à te développer un outil dédié complètement nouveau... une plateforme en ligne que nous avons maintenant l'honneur de te révéler :
tiplanet.org/forum/concours2023.php

Sur cette plateforme tu as la possibilité de téléverser ton ou tes IA améliorées, et de spécifier à chaque fois si tu souhaites les rendre utilisables (et non consultables, nuance) par les autres participant(e)s.

Tu auras alors la possibilité avec une de tes IAs de défier en duel une autre IA téléversée et marquée comme utilisable par l'ensemble des participant(e)s.

Ci-contre par exemple j'ai fait s'affronter 2 instances de ia_random, et la plateforme m'indique des scores finaux très voisins auxquels on pouvait s'attendre : 9725 et 9825 points.
Tu trouveras dans l'historique non seulement les résultats des défis que tu as lancés, mais également ceux des défis lancés à une de tes IAs.

Si tu as besoin de creuser plus en détails ce qui s'est passé lors d'un duel, tu pourras télécharger un fichier .json en détaillant tout le déroulement.
------------------------------------------




B1) Modalités de participation - Individuel
Pour participer il faut t'inscrire sur TI-Planet puis te rendre sur la plateforme que nous venons de te détailler au point précédent :
tiplanet.org/forum/concours2023.php

Tu pourras alors :
  • y indiquer et modifier à tout moment tes informations personnelles (adresse d'expédition pour ton lot, coordonnées pour te contacter)
  • téléverser à tout moment la dernière édition de ton IA améliorée


Tu as jusqu'au lundi 15 janvier 23h59 GMT+1 (heure française) pour t'inscrire sur la plateforme et téléverser au moins une IA.
------------------------------------------




B2) Modalités de participation - Groupe
Tu peux faire le choix de participer au sein d'une équipe. Dans ce cas ta classe d'IA doit affecter correctement les 2 variables suivantes :
  • .nom_groupe avec le nom de l'équipe dans laquelle tu souhaites participer
  • .sig_groupe avec la signature de l'équipe, un code secret qui te sera remis par le chef d'équipe, t'autorisant ainsi à concourir dans son équipe


Pour créer une équipe il suffit de téléverser une IA présentant une variable .nom_groupe affectée avec un nom jusqu'alors inconnu, et d'indiquer la signaturé secrète associée par la même occasion. Le participant ayant réalisé le téléversement devient alors automatiquement chef d'équipe.
------------------------------------------




C1) Classement - Modalités d'évaluation
Les participants peuvent téléverser plusieurs IAs, mais seront chacun évalués avec 1 seule IA, celles qu'ils auront coché à cette fin sur la plateforme.
Si un participant n'a pas coché d'IA, il sera évalué avec la dernière IA téléversée.
Si l'IA évaluée pour un participant se révèle inutilisable (incompatible), elle sera remplacée par l'IA précédente autant de fois que nécessaire.
Si un participant n'a pas téléversé d'IA valide ou bien s'est inscrit sans téléverser d'IA, il sera évalué à la place avec ia_random.

L'évaluation consistera à faire s'affronter tous les participants en duel, selon toutes les combinaisons de duel possibles. Les participants seront alors classés selon une variante du système Elo (utilisé entre autres pour les échecs), tenant compte de l'écart de score en fin de duel.

Un duel consistera en un nombre aussi important que nécessaire de parties successives.

Une partie, que peux donc reproduire en local avec kb.py ou en ligne via la plateforme, consiste en une succession de manches, jusqu'à-ce que l'un des joueurs dépasse les 9000 points.

Chaque nouveau mélange de la pioche donne obligatoirement lieu à plusieurs manches successives, alternant les cartes distribués initialement entre les différents joueurs. Cela permet une meilleure égalité au cas où par exemple, les 4 cartes de bottes soient tirées très tôt par un même joueur lors d'une manche. Lors de la manche suivante les mains intiales seront inversées, ce qui permettra de voir lequel se débrouille le mieux en terme de points avec l'avantage en question.
------------------------------------------




C2) Classement - Lots
Les 29 meilleur(e)s participant(e)s pourront choisir par ordre de classement parmi les lots ci-dessous.



------------------------------------------




D1) Finale individuelle - Modalités
Les 3 meilleur(e)s participant(e)s au classement précédent seront convié(e)s à une finale individuelle.

La finale individuelle prendra la forme d'un truel (duel à 3), et il faudra donc que les IAs gèrent correctement ce cas.

Un délai sera donné pour mettre à jour et optimiser son IA pour ce format ; nous attendons du grand spectacle de votre part.

Les IAs compatibles correctement optimisées seront à téléverser avant le dimanche 11 mars 2024 23h59 GMT+1 (heure française).

Attention, pour la finale l'absence d'une IA compatible est disqualificatoire.
------------------------------------------




D2) Finale individuelle - Lots
Par ordre décroissant de leurs scores, les finalistes individuels pourront choisir parmi 3 lots.



Cliquez pour découvrir
Cliquez pour recouvrir
Le T-shirt Xcas est disponible au choix en taille L ou XL.

------------------------------------------




E1) Finale en équipe - Modalités
Les 2 meilleures équipes selon le classement précédent (moyenne pondérée des valeurs retenues pour les différents membres de chaque équipe) seront conviées à une finale en équipe.

La finale en équipe prendra la forme d'un quadruel (duel à 4) mais réalisé en binômes, c'est-à-dire 2 IAs alliées pour une équipe contre 2 IAs alliées pour l'autre équipe.

Un délai est donné pour mettre à jour et surtout optimiser son IA pour ce format.

Avant le dimanche 19 mai 2024 23h59 GMT+2 (heure française), le chef d'équipe devra fournir les IAs en question depuis son compte, en accord avec son équipe. Il pourra librement au choix :
  • fournir 1 seul fichier d'IA qui sera alors instancié 2 fois
  • ou bien fournir 2 fichiers d'IA différents


Les IAs pourront détecter si elles sont alliées ou ennemies en consultant la variable .nom_groupe de l'autre, via la classe c_infos_jeu.

En fin de quadruel seront pris en compte les scores cumulés des 2 IAs de chaque équipe.

Attention ici encore, l'absence d'une IA compatible dans les téléversements du chef de groupe sera disqualificatoire.
------------------------------------------




E2) Finale en équipe - Lots
Par ordre décroissant de leurs scores, les chefs d'équipe pourront choisir parmi 2 lots.

Et voici maintenant le détail des très gros lots collectifs :





Crédits et remerciements :



Fil d'entraide : https://www.planet-casio.com/Fr/forums/topic17463-1-le-fil-dentraide-du-concours-de-rentree-2023.html

Référence : https://tiplanet.org/forum/article.php?f=49&t=26408


Précédente 1, 2, 3, 4, 5, 6, 7 Suivante
Slyvtt Hors ligne Maître du Puzzle Points: 2387 Défis: 17 Message

Citer : Posté le 16/01/2024 12:12 | #


Merci Critor

Concernant la participation en mode "groupe", pourrais tu STP nous apporter quelques éclaircissements ?

Logiquement dans une partie à 4 joueurs (2 équipes de 2 joueurs), les deux joueurs d'une équipe partagent la même pile de cartes (bataille, vitesse, carte de bornes et bottes) et jouent vraiment en partenariat.

Est-ce que cette spécificité sera conservée dans le jeu en équipe ou bien au contraire chaque joueur aura sa propre pile de cartes ?

Cela change radicalement la façon de jouer et potentiellement aussi le script à utiliser. Même si je n'ai pas testé, il me semble que les scripts actuels ne permettent que la seconde option (à savoir chacun a sa propre pile de cartes, et doit juste gérer un partenaire).

De même le critère de victoire sera à préciser. Premier joueur à arriver à 1000bornes ou premier groupe (somme des 2 joueurs) à arriver à 1000bornes.

La gestion des coups fourrés aussi est dépendante du mode de jeu. En 1 vs 1 il y a alternance des coups donc ça se gère relativement facilement. En 2 vs 2, on joue 1 tour sur 4 et donc peut-on jouer en lieu et place de son partenaire pour le coup fourré ou doit on attendre son propre tour ?

Bref plein de questions dont les réponses vont influencer le design le l'IA à mettre en place.

Merci pour tes lumières
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 16/01/2024 12:19 | #


Slyvtt a écrit :
Concernant la participation en mode "groupe", pourrais tu STP nous apporter quelques éclaircissements ?

Logiquement dans une partie à 4 joueurs (2 équipes de 2 joueurs), les deux joueurs d'une équipe partagent la même pile de cartes (bataille, vitesse, carte de bornes et bottes) et jouent vraiment en partenariat.

Est-ce que cette spécificité sera conservée dans le jeu en équipe ou bien au contraire chaque joueur aura sa propre pile de cartes ?


Cela change radicalement la façon de jouer et potentiellement aussi le script à utiliser. Même si je n'ai pas testé, il me semble que les scripts actuels ne permettent que la seconde option (à savoir chacun a sa propre pile de cartes, et doit juste gérer un partenaire).

C'est ça, ici la pile n'est pas commune. 4 joueurs, et chacun a sa propre pile indépendante.

Il faut juste tenir compte de ce que l'on sait de l'état du jeu de son allié afin de l'avantager si besoin (ou du moins ne pas le pénaliser) et donc garantir une victoire éclatante à l'équipe.

Slyvtt a écrit :
De même le critère de victoire sera à préciser. Premier joueur à arriver à 1000bornes ou premier groupe (somme des 2 joueurs) à arriver à 1000bornes.

La victoire est sur les 1000 bornes, mais le score retenu sera ici la somme des deux joueurs alliés.
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 16/01/2024 12:25 | #


Tuper4 a écrit :
Donc je n'ai plus le droit d'améliorer mon IA maintenant?
@Critor tu n'as pas vu mon message
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Slyvtt Hors ligne Maître du Puzzle Points: 2387 Défis: 17 Message

Citer : Posté le 16/01/2024 12:30 | #


Tuper4 a écrit :
Tuper4 a écrit :
Donc je n'ai plus le droit d'améliorer mon IA maintenant?
@Critor tu n'as pas vu mon message


Non plus le droit d'améliorer, sauf si tu es dans les 3 finalistes individuels.
Dans l'absolu, si tu améliores, tout ce que tu vas ajouter depuis ce matin 0h00 ne sera pas pris en compte pour l'évaluation. Je pense que l'équipe des organisateurs a fait un backup de ce qui a été déposé en temps et en heure pour lancer le processus d'évaluation sur cette base.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Slyvtt Hors ligne Maître du Puzzle Points: 2387 Défis: 17 Message

Citer : Posté le 16/01/2024 12:32 | #


Critor a écrit :
Slyvtt a écrit :
Concernant la participation en mode "groupe", pourrais tu STP nous apporter quelques éclaircissements ?

Logiquement dans une partie à 4 joueurs (2 équipes de 2 joueurs), les deux joueurs d'une équipe partagent la même pile de cartes (bataille, vitesse, carte de bornes et bottes) et jouent vraiment en partenariat.

Est-ce que cette spécificité sera conservée dans le jeu en équipe ou bien au contraire chaque joueur aura sa propre pile de cartes ?


Cela change radicalement la façon de jouer et potentiellement aussi le script à utiliser. Même si je n'ai pas testé, il me semble que les scripts actuels ne permettent que la seconde option (à savoir chacun a sa propre pile de cartes, et doit juste gérer un partenaire).

C'est ça, ici la pile n'est pas commune. 4 joueurs, et chacun a sa propre pile indépendante.

Il faut juste tenir compte de ce que l'on sait de l'état du jeu de son allié afin de l'avantager si besoin (ou du moins ne pas le pénaliser) et donc garantir une victoire éclatante à l'équipe.

Slyvtt a écrit :
De même le critère de victoire sera à préciser. Premier joueur à arriver à 1000bornes ou premier groupe (somme des 2 joueurs) à arriver à 1000bornes.

La victoire est sur les 1000 bornes, mais le score retenu sera ici la somme des deux joueurs alliés.


Merci Critor, c'est clair. Donc on regarde chaque jeu individuellement mais le "scoring" se fait par cumul au niveau des équipes.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 16/01/2024 12:32 | #


Ok, merci pour ta réponse. Je demandais cela car j'avais oublier une condition qui, je crois, vas le rendre mieux
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 16/01/2024 12:37 | #


Pardon @Tuper4.

Tuper4 a écrit :
Ok, merci pour ta réponse. Je demandais cela car j'avais oublier une condition qui, je crois, vas le rendre mieux

Tu as le droit de modifier ton script, et tester tout ce que tu veux, mais nous ne pourrons pas le prendre en compte.

Les scripts dans leur état à minuit hier soir ont déjà été téléchargés.
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 16/01/2024 12:37 | #


Voici maintenant les IA du championnat.

Pour ceux qui ont soumis plusieurs IA, je rappelle qu'il fallait préciser l'IA à faire participer au championnat.

Si ce choix n'a pas été précisé, conformément au règlement, nous retenons la dernière IA téléversée.
Si aucune IA n'est disponible (parce qu'elle a été supprimée après inscription par exemple), nous faisons participer avec l'IA aléatoire par défaut telle que fournie avec les scripts (c'est-à-dire sans l'amélioration qui était en commentaires).

Ci-dessous sur chaque ligne :
- participant
- groupe éventuel
- IA prise en compte
- ensemble des IAs soumises, par ordre chronologique

Pour ceux qui ont soumis plusieurs IA et bien précisé l'IA à prendre en compte, cette dernière est mise entre astérisques dans la liste.

cent20 [nsi42] no_ia (ia_0b0000, ia_0b0001, cupcake, donut, eclair, froyo, Gingerbread, *no_ia*)
NeOtuX [br.AI.n all.IA.ge] ia_Jander_Panell (ia_Dermezel4, ia_Daneel, ia_Daneel_2, ia_Daneel_3, *ia_Jander_Panell*)
Wistaro ia_wistaro (*ia_wistaro*)
Email address, replace the 【arobase】 with a @ and ▶ with a . : ggauny【arobase】live▶fr ia_random (ia_random)
LaTaupe Deep_Thought_v0-8 (ia_LaTaupe, Deep_Thought, Deep_Thought2, Deep_Thought_v0-3, Deep_Thought_v0-4, *Deep_Thought_v0-8*)
ptijoz test_origine (test_origine)
M4x1m3 ia_random(defaut) ()
Afyu [br.AI.n all.IA.ge] Salvia (Alice, ia_perso_2, Bob, Clara, Denise, Eleanore, Francine, Gustavia, Hortense, Ilona, Joanna, Joannaaaaaaarg, Katalyna, Lol, Magnolia, Noemia, Ophelia, Petunia, Quassia, Rosia, *Salvia*)
TIny_Hacker [br.AI.n all.IA.ge] awesome_ai_1 (ia_random, something_that_might_work, ai_1, does_it_work, does_it_work_old, does_it_work_1, does_it_work_2, does_it_work_3, does_it_work_4, does_it_work_5, does_it_work_5_risky, awesome_ai_testing, *awesome_ai_1*)
SlyVTT [br.AI.n all.IA.ge] SLYnapse_v6-0 (IA_test, ia_sly_v003, Slyv001, Sly_v001, Sly_001, Sly_002, Sly_003, Sly_004, Sly_v003, Sly_v005, Sly_v006, Sly_v007, Sly_v009, Sly_v011, SLYnapse, SLYnapse_v1-0, SLYnapse_v2-0, SLYnapse_v3-0, SLYnapse_4_0, SLYnapse_4-0, SLYnapse_v4-0, SLYnapse_v5-0, *SLYnapse_v6-0*, SLYnapse_v7, SLYnapse_v7-0, SLYnapse_v7_0, SLYnapse_v8-0, SLYnapse_v9-0)
Oh11115 Crisc_v1-1_ (Crisc_v1, Crisc_v1-1_Test, Crisc_v1-1, *Crisc_v1-1_*)
Yaya.Cout 42_2-3 (ia_yaya1, ia_yaya1-1, ia_yaya1-2, ia_yaya1-3, ia_yaya1-4, ia_yaya1-5, mille-bot-1-6, mille-bot-1-7, mille-bot-1-8, Quarante_Deux_2-0, vide, 42_2-1, 42_2-2, *42_2-3*)
ilyas.r [nsi42] ia_ilyas_r_3 (ia_ilyas_r, ia_ilyas_r_2, *ia_ilyas_r_3*)
R0baiyn [nsi42] Pantheon (Yuumi, Senna, *Pantheon*)
Pecel [nsi42] CouscousVolant73 (*CouscousVolant73*)
N04H [nsi42] ia_04_Noah (ia_N04h, ia_test_01_Noah, ia_nsi_02_Noah, ia_01_Noah, iai_02_Noah, iai_03_Noah, ia_03_Noah, *ia_04_Noah*)
fklv Remplaceur_artificiel (ia_fcalva_0_1, Remplaceur_artificiel)
Radalium [nsi42] ia_radalium (*ia_radalium*)
GRIFFON ia_randomluc (ia_randomluc)
Liquefy2951 iabete (ia_randomzzz, ia_randomhuman, ia_0001p, ia_randomzeezd, ia_random4005, ia_bankai, ia_randomkeien, *iabete*)
Shacoh_ [nsi42] ia_shaco4 (ia_shaco, ia_shaco2, ia_shaco3, *ia_shaco4*)
eragon ia_eragonV04 (ia_eragon, ia_eragonV03, *ia_eragonV04*)
Kaïs.Mt [nsi42] ia_nsi_03 (ia_nsiKais, ia_nsi_01, ia_nsi_02, ia_nsi_03)
ledouble [nsi42] ia_ledouble_02 (ia_ledouble_01, ia_ledouble_00, ia_ledouble_modele, *ia_ledouble_02*)
ZetaMap ia_random(defaut) ()
thomas_s [nsi42] dizzly_03 (dizzly, dizzly_02, dizzly_03)
Raphaël R [nsi42] ia_raph_rnd (Raphrnd, raaph27, Raph2707, *ia_raph_rnd*)
RC06 [nsi42] ia_rc_03 (*ia_rc_03*)
Sylvain_b [nsi42] ia_syl (ia_0b0003, ia_syl)
Camille A [nsi42] ia_ca_07 (ia_ca_01, ia_ca_02, ia_ca_03, ia_ca_04, ia_ca_05, ia_ca_06, *ia_ca_07*, ia_ca_08)
briac210 fun (fun)
darklogel newia3 (AI_RANDOM, ai_random3, newia, newia2, newia3)
Amerz [br.AI.n all.IA.ge] Foster (Ali, Betty, Clemence, Dorothea, Dory, Enid, Clemence1, Clemence2, *Foster*)
Tuper4 Tupercartes (Tuper_bot, Tupermain, TuperBOT, New, *Tupercartes*)
DiMartino ia_random_dimartino (ia_random_dimartino)
Paul emploi azerty (*azerty*)
Houd Hoods_AI (ia_random, HoudsAI, Houds_AI, *Hoods_AI*)
David Hooker DHAI (*DHAI*)
TonioBG [br.AI.n all.IA.ge] Maria (*Maria*)
Genesect ia_random (ia_Genesect, *ia_random*, ia_GenesectII, ia_GenesectIII)
Antoine emploi ia_perso1 (*ia_perso1*)
V.d.c. Ia_vdc (*Ia_vdc*)


Je note que 4 participants ont un choix d'IA qui n'est pas la dernière téléversée (avec parfois des différences de dates importantes).
Si c'est un oubli de mise à jour du choix suite aux derniers téléversements, merci de nous le préciser rapidement.
Les 4 participants ont été contactés par courriel et MP ; et 2 ont déjà répondu.
Pour les 2 restant, aucune adresse, numéro de téléphone ou compte discord n'a été spécifié. Sans réponse, cela restera donc dans l'état précédent.
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 16/01/2024 12:55 | #


Critor a écrit :
Pardon @Tuper4.

Tuper4 a écrit :
Ok, merci pour ta réponse. Je demandais cela car j'avais oublier une condition qui, je crois, vas le rendre mieux

Tu as le droit de modifier ton script, et tester tout ce que tu veux, mais nous ne pourrons pas le prendre en compte.

Les scripts dans leur état à minuit hier soir ont déjà été téléchargés.
j'ai fais mon changement et ca n'a pas changé grand chose donc, je suis content de mon IA qui est soumis
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 16/01/2024 13:14 | #


Tant mieux alors, sans regret.

3 réponses sur 4 maintenant, et 2 ont confirmé que c'était le bon choix.
Genesect Hors ligne Membre Points: 112 Défis: 0 Message

Citer : Posté le 16/01/2024 19:08 | #


Je viens de repondre moi aussi
Ptitjoz Hors ligne Membre Points: 262 Défis: 10 Message

Citer : Posté le 16/01/2024 19:23 | #


Critor a écrit :
Ptitjoz a écrit :
Mais non, je ne participe pas et si mon nom est dans la liste, c'est sans doute que j'ai dû envoyer une IA un jour, que j'ai dû mettre à la corbeille d'ailleurs.

J'ai bien une inscription pour toi mais aucune IA associée, ce qui selon le règlement, te fait participer avec l'IA aléatoire par défaut.
Et tu ne serais pas le seul, à ce que je vois certains l'ont à peine améliorée voir pas du tout ; tu as donc toutes tes chances.

Attention, si tu te désistes, tu vas faire beaucoup de peine à cent20, car cela ne fera plus 42 participants.


bon, je laisse en l'état dans ce cas, je ne veux faire de peine à personne
sait-on jamais je vais peut-être gagner un porte-clé Casio
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/

Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 16/01/2024 19:32 | #


Ptitjoz a écrit :

sait-on jamais je vais peut-être gagner un porte-clé Casio
ou peut etre un autocollant TI planet
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 16/01/2024 20:44 | #


Les IAs sont pour le moment en cours de vérification.

Pour les IAs non fonctionnelles, nous tentons d'abord de corriger dans le cas où si il s'agit d'une simple erreur d'écriture. Quelques exemples déjà rencontrés :
  • mélange d'indentations avec espaces et tabulations
  • oubli du range() dans une boucle for
  • oubli du self pour les définitions et appels au sein de la classe


Par contre, si il s'agit d'une erreur de logique / raisonnement, nécessitant donc de recoder la chose, nous ne corrigeons pas.

Si une IA ne peut être corrigée, conformément au règlement présent dans l'annonce :
  • nous la remplaçons par l'IA précédente dans la liste d'IAs du candidat ou de la candidate, autant de fois que nécessaire
  • et si il n'y a pas d'IA précédente, nous remplaçons par ia_random
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 17/01/2024 08:40 | #


Pour information, en local avec les affichages graphiques désactivés, 1 affrontement entre toutes les IA (43*42=1806 duels) prend un quart d'heure.

On va en faire autant que possible.

Cela peut être aléatoire, mais jusqu'à présent il n'y a qu'une seule IA qui déclenche des erreurs et a eu besoin de plusieurs corrections.
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 17/01/2024 10:12 | #


J'ai hate de connaitre les résultats
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Slyvtt Hors ligne Maître du Puzzle Points: 2387 Défis: 17 Message

Citer : Posté le 17/01/2024 10:45 | #


Tiens je pensais qu’il y avait 42 IAd c’est 43 en fait ?
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 17/01/2024 10:46 | #


Je crois que oui car il y a Ptitjoz
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 17/01/2024 17:55 | #


Peut on connaitre les scores de pour l'instant?
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Critor Hors ligne Administrateur Points: 2670 Défis: 18 Message

Citer : Posté le 17/01/2024 18:00 | #


Pour l'instant il n'y a pas de scores, juste une série de duels déjà pour tester le bon fonctionnement des IAs.
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 17/01/2024 18:09 | #


Ahh ok, merci pour l'organisation !
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Précédente 1, 2, 3, 4, 5, 6, 7 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 94 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd