π
<-
Chat plein-écran
[^]

News 2024
Mai (9)
Avril (16)
Mars (7)
Janvier (20)

News 2023
Octobre (19)
Août (14)
Juillet (13)
Juin (21)
Mai (29)
Avril (24)
Mars (24)
Janvier (24)

News 2022
Octobre (23)
Août (14)
Juillet (15)
Juin (17)
Mai (31)
Avril (27)
Mars (28)
Janvier (34)

News 2021
Octobre (24)
Août (37)
Juillet (50)
Juin (32)
Mai (48)
Avril (61)
Mars (35)
Janvier (34)

News 2020
Octobre (17)
Août (43)
Juillet (43)
Juin (45)
Mai (60)
Avril (78)
Mars (36)
Janvier (39)

News 2019
Octobre (13)
Août (18)
Juillet (23)
Juin (28)
Mai (31)
Avril (26)
Mars (38)
Janvier (37)

News 2018
Octobre (13)
Août (32)
Juillet (23)
Juin (64)
Mai (63)
Avril (45)
Mars (43)
Janvier (45)

News 2017
Octobre (26)
Août (39)
Juillet (52)
Juin (88)
Mai (51)
Avril (43)
Mars (37)
Janvier (33)

News 2016
Octobre (25)
Août (42)
Juillet (34)
Juin (109)
Mai (55)
Avril (34)
Mars (37)
Janvier (24)

News 2015
Octobre (22)
Août (56)
Juillet (22)
Juin (94)
Mai (56)
Avril (32)
Mars (40)
Janvier (21)

News 2014
Octobre (26)
Août (18)
Juillet (23)
Juin (101)
Mai (57)
Avril (59)
Mars (54)
Janvier (31)

News 2013
Octobre (67)
Août (50)
Juillet (43)
Juin (193)
Mai (93)
Avril (102)
Mars (45)
Janvier (50)

News 2012
Octobre (64)
Août (63)
Juillet (53)
Juin (132)
Mai (88)
Avril (73)
Mars (57)
Janvier (58)

News 2011
Octobre (56)
Août (31)
Juillet (27)
Juin (71)
Mai (61)
Avril (32)
Mars (36)
Janvier (24)

News 2010
Octobre (11)
Août (8)
Juillet (14)
Juin (10)
Mai (3)
Avril (3)
Mars (1)

News 2009
Août (3)
Juin (2)
Mai (1)
Avril (2)
Mars (1)

1er visuel exploitable nouvelle HP 10sII

Nouveau messagede critor » 23 Jan 2023, 11:02

Depuis 2007, les calculatrices scientifiques Hewlett Packard ont été extrêmement décevantes. Le constructeur a développé 2 séries de modèles :
  • les HP 10s (2007) et HP 10s+ (2012) avec des fonctionnalités d'entrée de gamme
  • les HP 300s (2009) et HP 300s+ (2012) avec des fonctionnalités de milieu de gamme

4137Le géant des calculatrices Hewlett Packard n'a plus semblé produire le moindre effort de développement ou travail d'innovation sur les calculatrices scientifiques ces 15 dernières années, se bornant à nous sortir de pauvres clones de modèles Casio. Une véritable insulte envers ses utilisateurs et fans historiques !

Il se trouve en effet que les HP 300s et HP 300s+ sont des clones de calculatrices scientifiques Casio de génération ES / Natural Display (2004) et ES+ / Natural VPAM (2008), s'opposant donc en France aux fx-92 Collège 2D (2007) et fx-92 Collège 2D+ (2008).

16163Les HP 10s et HP 10s+ sont des clones de calculatrices scientifiques Casio de génération MS/SVPAM, s'opposant donc en France à la fx-92 Collège (2004). Des caractérrisques de la génération MS/SVPAM sont :
  • un pavé quadridirectionnel
  • un écran hybride à 2 lignes :
    • une ligne de 12 cellules matricielles en 6×5 pixels chacune
    • une ligne de 12 cellules à 7 segments chacune (10 cellules pour la mantisse et 2 petites cellules réservées pour les exposants de l'écriture scientifique)

Certes les ressemblances d'écrans et claviers ne constituent pas des preuves à elles seules, mais on peut néanmoins mettre en évidence la supercherie de façon irréfutable en accédant au menu de réglage du contraste de l'écran, l'affichage de test étant alors constitué du nom CASIO exactement comme sur les Casio MS.

Si la HP 10s+ clone certes le logiciel de Casio, cela ne dit rien sur le matériel interne.

Effectuons un test, passons en mode degrés pour le calcul suivant :
$mathjax$Arcsin\left(Arccos\left(Arctan\left(tan\left(cos\left(sin\left(9\right)\right)\right)\right)\right)\right)$mathjax$


Le résultat théorique est de 9, mais en pratique les moteurs de calcul en virgule flottante de nos calculatrice répondent une valeur approchante. En regroupant alors les calculatrices par résultat, l'on peut identifier celles utilisant le même cœur de calcul, et par extension dans le cadre des calculatrices scientifiques la même famille de processeurs.

Une variante est de calculer
$mathjax$Arcsin\left(Arccos\left(Arctan\left(tan\left(cos\left(sin\left(9\right)\right)\right)\right)\right)\right)-9$mathjax$
, permettant ainsi d'afficher davantage de décimales par défaut.

16164L'ensemble des Casio scientifiques de génération S/VPAM (1994) à MS/SVPAM (2001) incluse répondent à l'unison 8.99999863704.

Or, la HP 10s+ répond tout autre chose, 9,000000002123857. La HP 10s+ utilise donc un processeur différent de celui des Casio MS.

Comme nous avons vu avec la HP 300s+, la HP 10s+ est par conséquent un clone logiciel de Casio MS, mais pour le matériel c'est tout autre chose qui a été utilisé et a donc nécessité une transcription du logiciel. Ce choix d'un matériel différent peut être motivé par des raisons de disponibilité et de coût.
Comme la HP 300s+, la production de la HP 10s+ a définitivement cessé.

En effet des composants nécessaire à son assemblage sont définitivement indisponibles.

Or les calculatrices scientifiques sont très importantes pour les examens de certains pays. C'est particulièrement le cas par exemple en Australie, où elles bénéficient même d'une liste officielle de modèles approuvés mise à jour annuellement. Tout faux pas est donc ici lourd de conséquences, car si il est facile de se faire éjecter de la liste lors d'une de ses mises à jour, il n'est pas sûr dans ce contexte que ce soit aussi simple de s'y faire réintégrer lors d'une version suivante.

Il était donc urgent que Moravia, société tchèque qui a racheté la branche HP calculatrices pour la rentrée 2021, réagisse...

16163Et c'est le cas, comme nous te l'avons annoncé Moravia sort un successeur, la nouvelle HP 10sII.

Et histoire d'éviter tout incident aux conséquence regrettables la priorité est justement donnée à l'Australie : tous les stocks produits sont acheminés là-bas ; la calculatrice n'est à ce jour pas distribuée ailleurs.

La technologie semble une fois de plus similaire à celle des Casio MS. Nous y retrouvons un écran hybride avec :
  • une ligne de 12 cellules matricielles
  • une ligne de 12 cellules à 7 segments (10 cellules pour la mantisse et 2 petites cellules pour les exposants)

16163Mais nous notions ici quelque chose d'inhabituel, absent de toutes les autres copies de Casio MS.

En effet les drapeaux en haut d'écran occupent désormais deux lignes. Y en avait-il davantage et donc indiquant ainsi peut-être l'ajout de nouvelles fonctionnalités ? Se pouvait-il que Moravia ait enfin daigné effectuer quelques efforts de développement ?

Difficile de savoir car le visuel partagé n'était pas en qualité optimale.

Si par neutralité nous envisagions l'hypothèse dans l'annonce précédente, nous n'y croyions que fort peu devant l'incurie démesurée et répétée de cette entreprise avec les calculatrices HP depuis maintenant 18 à 24 mois :
  • a de façon similaire racheté la branche calculatrices de Sharp en 2015 et n'y a apportée strictement aucune valeur ajoutée depuis ; la EL-9950G de 2013 restant le dernier modèle, aux spécifications matérielles et capacités logicielles absolument identiques à celles de la EL-9900G de 2001, avec donc désormais des décennies de retard sur la concurrence
    13805
  • n'a apporté aucune mise à jour à la HP Prime depuis la rentrée 2021, produit de plus de moins en moins adapté aux programmes du lycée français car son inertie lui fait à nouveau prendre les années de retard sur la concurrence qu'il avait péniblement rattrapées avec l'ultime mise à jour par HP, la 2.1.14588 du 5 mai 2021 (pas de turtle ni de matplotlib en Python entre autres), mise à jour ayant de plus introduit une forte instabilité du système, faisant de cette machine un produit défectueux vendu à prix d'or
  • ne fait pas davantage d'efforts pour le modèle d'entrée de gamme HP 39gII dont la dernière mise à jour de 2013 est encore lourdement bugguée, Moravia commercialisant ici encore un produit défectueux
  • ne fait même pas l'effort d'être présent aux journées APMEP, rendez-vous annuel incontournable des constructeurs de calculatrices en France ; a raté les éditions 2022 à Jonzac, 2021 à Bourges et même 2020 (le marketting français ayant été transféré à Moravia avant la finalisation de la cession de la branche calculatrices) alors que c'était par visioconférence et ne coûtait donc quasiment rien, mettant ainsi fin à plus d'une décennie de présence continue de HP à cet événement
  • les seuls changements effectués concernent les emballages et boîtiers et ne constituent pas des améliorations mais des économies sur le dos des utilisateurs :
    • suppression du numéro de série alors que c'est une information permettant de dater la machine, ce qui peut être crucial pour nous lorsque nous apportons de l'aide à des utilisateurs, mais également pour les acheteurs (et collectionneurs) sur le marché de l'occasion
    • emballage unique à la place des emballages localisés pour différentes zones de commercialisation de par le monde
    • de même parce que la réglementation australienne l'exige, embête le monde entier avec des vis sur les compartiments de piles, cassant totalement l'intérêt d'un panneau à clipser/coulisser, de façon fort inesthétique car n'étant ni dans un coin ni centrées (c'est-à-dire a recherché l'effort minimal : ajout de vis là où ça pouvait sans aucune révision du boîtier interne)
  • mi-septembre 2022, à l'occcasion d'une visioconférence lors du HHC 2022, réunion des fans de HP à Nashville, annonce enfin d'une mise à jour HP Prime majeure imminente pour le mois de Novembre (replay), mise à jour que nous attendons toujours (à moins qu'il n'eusse fallu comprendre Novembre 2023, car la dernière réponse de Moravia ce mois-ci permet d'éliminer toute imminence...)
  • pour les projets de développement matériels, ne semble pas du tout prévoir de préparer l'avenir avec la conception de nouveaux modèles innovants comme en aurait été capable HP, mais uniquement des rééditions collector d'anciens modèles, sans doute avec des prix en conséquence pour les fans/nostalgiques de HP

Aujourd'hui OfficeWorks, distributeur australien, nous partage enfin un rendu en bonne qualité de la HP 10sII, qui plus est à l'écran de diagnostic activant tous les drapeaux de l'écran.

Bien que ne nous attendant à pas grand chose de la part de Moravia, nous arrivons quand même à être déçus. Regarde bien, il y a très exactement le même nombre de drapeaux que l'ancienne HP 10s+, ni plus, ni moins.

Moravia a tout simplement décidé de répartir désormais les drapeaux de haut d'écran sur 2 lignes.
Ancienne HP 10s+ :
Code: Tout sélectionner
S A hyp M STO RCL SD REG CMPLX MAT VCT EQN D R G FIX SCI  r < 0 Eng R batt ?

Nouvelle HP 10sII :
Code: Tout sélectionner
S         SD   REG   CMPLX   MAT   VCT   EQN   FIX   SCI
A   hyp   M   STO   RCL            D R G r < 0 Eng R batt ?

Un agencement fort inesthétique avec un espace vide perdu au centre de la ligne inférieure. Décidément entre ça et la vis on aime bien les trous chez Moravia, horrible et large plaie que l'on fit à la pauvre HP. Une fois de plus du travail bâclé ne prenant pas en compte l'intérêt de l'utilisateur final. Volonté de donner l'illusion qu'elle a un plus grand écran ?...

Nous commençons à être bien fatigués de toujours laisser le bénéfice du doute dans nos annonces à une entreprise qui semble se complaire dans la médiocrité. Recherche du profit immédiat visiblement sans vouloir faire le moindre investissement, économies sur le dos des utilisateurs, promesses en l'air tellement démesurées qu'elles en sont une insulte envers ceux qui ont un minimum de compréhension de ce que cela impliquerait comme travail et investissement derrière, faux nouveaux produits, commercialisation de produits défectueux, refus de préparer l'avenir du marché scolaire et à la place tentative de capitaliser sur la nostalgie des fans de la branche HP calculatrices alors que même en ne considérant que ses dernières années Moravia n'en est qu'une bien pale copie... décidément cette entreprise est complètement à côté de la plaque et ne fait que précipiter la fin des calculatrices HP. Le pire étant d'avoir la bêtise de reproduire ces mêmes erreurs alors qu'elles ont déjà conduit les calculatrices Sharp à l'anéantissement...

Source : https://www.officeworks.com.au/shop/off ... ii-hp10sii

Crédits images : tests HP 10s+
Lien vers le sujet sur le forum: 1er visuel exploitable nouvelle HP 10sII (Commentaires: 2)

TI-84 Plus CE révisions V+W et nouveau modèle CE NL !

Nouveau messagede critor » 23 Jan 2023, 15:50

55705603Rentrée 2015, Texas Instruments bouleversait le marché des calculatrices graphiques en faisant passer le milieu de gamme dans le monde de la couleur. 3 nouveaux modèles CE allaient inonder simultanément la planète :
  • TI-83 Premium CE en France
  • TI-84 Plus CE-T en Europe
  • TI-84 Plus CE dans le reste du monde
Initialement et jusqu'à leur révision matérielle B (assamblage entre mai 2015 et janvier 2016), ces modèles utilisaient une même carte électronique de référence SG92A/F.

Toutefois, ces modèles ne partageaient pas le même logiciel. Par exemple la TI-83 Premium CE était capable d'effectuer du calcul exact QPiRac, et pas les TI-84 Plus CE. Le mode examen TI-84 Plus CE était de plus beaucoup plus restrictif, interdisant la plupart des applications officielles et même toute création de programme. Les systèmes d'exploitation étaient en effet différents et non interchangeables.

49324364Cette scission était mise en oeuvre grâce à une différence matérielle : les cartes TI-83 Premium CE et TI-84 Plus CE bien qu'identiques accueillaient deux déclinaisons différentes de la puce ASIC : ET2014-01 et ET2014-00. Le numéro final indique l'état de drapeaux non modifiables programmés en usine lors de la fonte de la puce, et est justement vérifié par le système d'exploitation que l'on tente d'installer ou utiliser.

Pour palier toute erreur d'aiguillage entre la chaîne d'assemblage amont de la carte et les chaînes d'assemblage aval correspondant aux boîtiers des différents modèles, la référence inscrite sur la carte était corrigée au feutre après soudure de ces composants différents :
  • le A était barré pour les cartes destinées à être intégrées dans les TI-83 Premium CE, ce qui donnait SG92F
  • le F était barré pour les cartes destinées à être intégrées dans les TI-84 Plus CE-T et TI-84 Plus CE, ce qui donnait SG92A
55964932Les TI-84 Plus CE-T européennes et TI-84 Plus CE internationales partageaient donc initialement la même référence de carte SG92A, bien que n'étant pas matériellement identiques.

En effet les TI-84 Plus CE-T disposaient d'une diode examen, ce qui n'était pas le cas des TI-84 Plus CE dont le circuit dédié restait non peuplé.

7713Et justement avec les révisions C-E (assemblées entre février 2016 et mars 2017), Texas Instruments utilise de nouvelles cartes de référence SG92A/F/AT.

Cette fois-ci il y a bien de quoi différentier les cartes peuplées pour les trois modèles sur la chaîne d'assemblage :
  • SG92F pour les TI-83 Premium CE
  • SG92AT pour les TI-84 Plus CE-T
  • SG92A pour les TI-84 Plus CE

155089088Pour les révisions I-L (assemblage entre mars 2017 et mai 2019), nouvelle carte SG93/F/T déclinée de façon similaire en :
  • SG93F pour les TI-83 Premium CE
  • SG93T pour les TI-84 Plus CE-T
  • SG93 pour les TI-84 Plus CE

1269911325Niveau modèles, il y a du changement à partir de la rentrée 2019 :
  • rentrée 2019 : la TI-83 Premium CE est remplacée par la TI-83 Premium CE Edition Python
  • rentrée 2020 : la TI-84 Plus CE-T est remplacée par la TI-84 Plus CE-T Python Edition
La nouvelle carte utilisée pour les premières révisions M-P (assemblage entre avril 2019 et juin 2020) conserve une référence similaire, SG95/F/T, ce qui donne par déclinaison :
  • SG95F pour les TI-83 Premium CE Edition Python
  • SG95T pour les TI-84 Plus CE-T puis TI-84 Plus CE-T Python Edition
  • SG95 pour les TI-84 Plus CE
113551272015501

14661Pour la rentrée 2021 sort la TI-84 Plus CE Python, à la différence qu'elle ne remplace la TI-84 Plus CE qu'en Amérique du Nord, ce qui porte l'éventail à quatre modèles CE partageant la même carte :
  • TI-83 Premium CE Edition Python en France
  • TI-84 Plus CE-T Python Edition en Europe
  • TI-84 Plus CE Python en Amérique du Nord
  • TI-84 Plus CE dans le reste du monde
Or les TI-84 Plus CE Python et TI-84 Plus CE ne sont pas identiques, le circuit dédié au coprocesseur 32 bits dédié aux fonctionnalités Python n'étant peuplé que sur les TI-84 Plus CE Python.

14054Nouvelle carte en conséquence à partir pour les révisions R-T (assemblage entre février 2021 et mars 2022). Sa toute nouvelle référence SG95N/F/T permettait bien cette fois-ci de distinguer les cartes aiguillées vers les quatre modèles différents sur la chaîne d'assemblage :
  • SG95F pour les TI-83 Premium CE Edition Python
  • SG95T pour les TI-84 Plus CE-T Python Edition
  • SG95N pour les TI-84 Plus CE Python
  • SG95 pour les TI-84 Plus CE

Résumons tout ceci :





révisions
(dates)
PCB
TI-83 Premium CE
TI-83 Premium CE
Edition Python
TI-84 Plus CE-T
TI-84 Plus CE-T
Python Edition
TI-84 Plus CE
TI-84 Plus CE
Python
A-B
(01/2015-01/2016)
SG92A/F
SG92F
SG92A
SG92A
C-F
(02/2016-03/2017)
SG92A/F/AT
SG92F
SG92AT
SG92A
I-L
(03/2017-05/2019)
SG93/F/T
SG93F
SG93T
SG93
M-P
(04/2019-06/2020)
SG95/F/T
SG95F
SG95T
SG95T
SG95
R-T
(02/2021-03/2022)
SG95N/F/T
SG95F
SG95T
SG95
SG95N

Mais l'histoire ne s'arrête pas là. Depuis novembre 2021 Texas Instruments est passé à l'assemblage de nouvelles révisions matérielles V puis W. Au menu une nouvelle référence de carte SG95N/F/T/NL, indiquant donc le passage à 5 déclinaisons simultanées de la plateforme CE :
  • SG95F pour les TI-83 Premium CE Edition Python
  • SG95T pour les TI-84 Plus CE-T Python Edition
  • SG95N pour les TI-84 Plus CE Python
  • SG95 pour les TI-84 Plus CE
  • et un mystérieux SG95NL
Texas Instruments semble donc nous préparer dans le plus grand secret un nouveau modèle CE qui intégrera la déclinaison SG95NL de cette dernière carte, peut-être pour la rentrée 2023.

Il s'agirait donc d'une calculatrice comportant au moins une différence matérielle interne avec tous les modèles actuels (TI-83 Premium CE Edition Python, TI-84 Plus CE-T Python Edition, TI-84 Plus CE Python et TI-84 Plus CE).

Reste encore à savoir de quoi il pourrait s'agir. Peut-être que le suffixe NL indique un modèle spécifique aux Pays-Bas, et nous avons plusieurs hypothèses en ce sens.

Il pourrait s'agir d'une version allégée de la TI-84 Plus CE-T Python Edition verrouillant la liste d'applications disponibles comme cela a été fait avec la TI-82 Advanced Edition Python française. Ceci pourrait permettre de baisser avantageusement le prix d'entrée de la technologie graphique Texas Instruments aux Pays-Bas. En effet rappelons que les Pays-Bas ont une liste de modèles autorisés aux examens, mise à jour chaque année. Or à compter de cette session d'examens 2023, le modèle monochrome TI-84 Plus T distribué exclusivement aux Pays-Bas (comparable à la TI-82 Advanced monochrome en France) n'est plus autorisé, ce qui fait que désormais l'entrée de gamme est occupée par la TI-84 Plus CE-T Python Edition bien plus chère.

Autre hypothèse, il pourrait s'agit d'une relance de l'ancien modèle TI-84 Plus CE-T (sans Python donc), vu que plusieurs de nos voisins européens ne veulent pas de la programmation sur calculatrices (les Pays-Bas notamment l'interdisent même explicitement en mode examen : tout accès à un éditeur de texte et donc entre autres de programme est interdit, ce qui empêche toute création de programme pendant l'épreuve). Cela permettrait d'économiser sur les coûts d'assemblage en ne peuplant pas le circuit dédié au coprocesseur Python, ce qui serait fort logique dans le contexte actuel de pénurie de semiconducteurs.

Rendez-vous lorsque nous aurons la réponse...

Source : viewtopic.php?f=8&t=19494#p270767
Lien vers le sujet sur le forum: TI-84 Plus CE révisions V+W et nouveau modèle CE NL ! (Commentaires: 0)

Prépare et réussis l'ECE 2023 Physique-Chimie sur ECEbac.fr

Nouveau messagede critor » 24 Jan 2023, 11:29

Le 10 janvier dernier, la banque des sujets d'ECE du BAC Général 2023 a été publiée sur le site officiel du Ministère de l'Education Nationale, Eduscol :
  • 77 sujets en Physique-Chimie (tous avec calculatrice autorisée en mode examen)
  • 75 sujets en SVT
L'épreuve d'ECE est notée pour 5 points sur 20 dans ta note de spécialité, très loin d'être négligeable.

L'Institution se donne donc la peine de te publier à l'avance directement les sujets qui vont t'être posés, mettant ainsi tous les candidats à égalité de chances !

Ton académie ou académie de rattachement choisit 25 sujets dans cette banque pour chaque spécialité, puis envoie la liste des sujets retenus à ton lycée le 13 Février.

Les enseignants de ton lycée doivent alors choisir dans cette dernière liste de 25 sujets lesquels ils organisent pour les épreuves, en fonction bien sûr de l'avancement du programme, des TPs déjà réalisés et du matériel déjà manipulé.

L'épreuve aura ensuite lieu :
  • du mardi 7 au vendredi 10 Mars en Réunion et Polynésie Française
  • du mercredi 22 au vendredi 24 Mars pour les centres d'examen français d'Amérique du Nord
  • du mardi 28 au vendredi 31 Mars pour tout le reste des centres d'examen suivant le calendrier scolaire de l'hémisphère nord (Métropole, Corse, Antilles-Guyane, Mayotte, Liban, Asie, Amérique, Europe et Afrique)

La publication officielle des sujets a certes le mérite d'exister, mais n'est toutefois pas sans défauts:
  • pas de vue d'ensemble des sujets puisque répartis par défaut sur 14 pages à charger (réductibles à 2 pour ceux qui trouvent l'option)
  • ils prennent de plus chacun la forme d'un fichier .zip (dossier compressé) qui ne sera pas toujours facile à visualiser, notamment sur smartphone !
  • pas de lien de téléchargement global; tu dois donc te taper un par un 152 téléchargements si tu veux tous les sujets !
  • l'ensemble de ces téléchargements fait plusieurs centaines de mégaoctets puisque plusieurs sujets sont accompagnés de vidéos. Cela pourra également être lourd pour repartager la banque entre tes différents appareils pour l'avoir toujours à disposition (ordinateur, tablette, smartphone), ainsi que pour la partager avec tes camarades ou collègues.
  • et c'est sans compter tout le travail d'extraction et classification qui en découle car des dizaine de dossiers nommés avec de simples numéros ne vont pas être d'une grande aide niveau accessibilité...

Pour t'aider ou t'accompagner vers la réussite, nous mettons à ta disposition ECEBac.fr, notre site gratuit de référence pour les épreuves pratiques du Baccalauréat.

Conçu dès 2018 en réponse aux problèmes précédents, ECEBac.fr est à l'attention des candidats et évaluateurs avec les objectifs principaux :
  • d'offrir une vue d'ensemble
  • de permettre de télécharger les fichiers aussi bien individuellement que globalement
  • de permettre de prendre connaissance de chaque contenu aussi facilement et rapidement que possible
  • de fournir un maximum de solutions gratuites dans la mesure du possible
  • de fonctionner aussi bien sur ordinateur que sur smartphone
Le site prend la forme d'annales numériques enrichies par rapport à la version officielle, avec entre autres une dose d'interactivité et de dynamisme.

Il t'est possible d'y basculer entre les différentes banques de sujets 2023 :
  • Physique-Chimie (dont nous venons de finaliser la version enrichie ces derniers jours)
  • SVT (en cours de traitement)
  • NSI (non encore publiée)
Parlons donc Physique-Chimie dans ce qui va suivre.

ECEBac.fr nous permet de mutualiser notre travail titanesque de récupération/extraction/lecture/énumération/classification ces 10 derniers jours.

D'une part, le site te permet d'avoir une vue d'ensemble des sujets, les listant tous sur une même page avec pour chacun :
  • son numéro public dans la banque (change complètement chaque année contrairement au numéro privé)
  • la disponibilité d'une ou plusieurs corrections
  • son titre
  • une précision sur sa spécificité lorsque le sujet est décliné en plusieurs versions
  • la partie du programme concernée
  • les tâches expérimentales du sujet
  • les tâches numériques du sujet
Et ce qu'il y a de génial, c'est que cette liste est dynamique :
  • il t'est possible de trier la liste selon chacun de ces critères (tu peux par exemple trier les sujets par numéro, par présence ou absence de corrections, par ordre alphabétique, par partie du programme concernée, …)
  • et il t'est également possible de filtrer la liste avec les mots de ton choix (tu peux obtenir par exemple la liste de tous les sujets demandant d'effectuer une "dilution", de tous ceux faisant appel au "Python", etc.)

Une fois sur la page dédiée au sujet choisi, tu retrouveras :
  1. un bloc reprenant les informations de la liste avec cette fois-ci l'affichage complet de la matière et de la partie du programme, ainsi que la ou les sources des fichiers disponibles
  2. un bloc listant et identifiant l'ensemble des fichiers du sujet choisi
  3. un bloc listant et liant les corrections disponibles
  4. un bloc listant les logiciels nécessaires pour les tâches numériques du sujet choisi, avec des liens de téléchargement gratuit pour t'entraîner comme à l'examen

Tu as donc le choix de cliquer individuellement sur un fichier pour le télécharger/ouvrir dans ton navigateur, ou bien de récupérer l'archive complète du sujet comme sur le site officiel.

Mais cela va bien au-delà d'un simple téléchargement :
  • les tailles des fichiers sont toutes précisées, que tu saches à quoi t'attendre avant téléchargement, surtout si tu es sur une plateforme nomade avec un forfait
  • les documents bureautiques de la liste sont décrits avec des étiquettes reprenant leurs métadonnées (auteurs, nombre de pages, date d'enregistrement...)
  • les durées des fichiers audio/vidéo sont également indiquées

Autre problème avec la publication officielle, les documents vidéo adoptent les formats .avi ou .mov qui ne sont pas forcément compatibles avec le streaming.
Pour palier cela, nous avons converti les vidéos en question dans d'autres formats (.mp4 ou .webm) et inclus les fichiers obtenus avec les sujets concernés.

Nouveauté que nous avions mise en place pour la session 2022, aucun besoin de télécharger ces gros fichiers vidéo au complet avant de pouvoir les ouvrir ; il t'est possible de les jouer directement en ligne grâce à notre serveur de streaming !

Nous continuons à faire évoluer le site chaque année en ayant à coeur le confort des candidats et évaluateurs, et il est grand temps de te présenter la nouveauté de la session 2023.

Les scripts Python peuvent désormais est travaillés directement en ligne : visualisés avec coloration syntaxique, modifiés, lancés et même téléchargés avec les modifications !

Pour la petite histoire nous avions dans un premier opté pour pyscript, solution construite sur Pyodide, pour laquelle nous avions conçu une interface éditeur syntaxique + console sur-mesures, avant de nous rendre compte de plusieurs problèmes :
  • mauvais fonctionnement du input() que nous avions amélioré partiellement avec un patch
  • façon non standard d'afficher les tracés matplotlib pour laquelle nous avions conçu un patch automatique des scripts à l'exécution
  • en prime, matplotlib générait une exception Python au premier lancement...
Et probablement que si nous avions persisté dans cette voie nous aurions découvert bien d'autres problèmes à résoudre dans d'autres cas.

Sur les conseils avisés de cent20, nous nous sommes alors tournés vers basthon également basé sur Pyodide mais ayant à la différence déjà traité et résolu les problèmes précédents et probablement bien d'autres. L'intégralité des scripts de la banque ne faisant pas appel à la carte micro:bit y tournent !

Tu y bénéficies donc entre autres des bibliothèques numpy, matplotlib et turtle.

ECEBac.fr est également un moyen pour les candidats qui le souhaitent de mutualiser les informations sur les sujets tombés dans chaque académie pendant les 4 jours d'épreuves, et donc potentiellement de construire la liste finale des 25 sujets choisis par chaque académie avant le dernier jour.

Enfin, parlons corrections.

À ce jour sur les 77 sujets de Physique-Chimie 2023 :
  • 42 sujets (54,4%) reprennent des sujets 2022 à l'identique ou quasiment, et disposent donc directement de corrigés utilisables
  • 3 sujets (0,04%) reprennent des sujets de la banque 2022 en les modifiant de façon significative, si bien que les corrigés de l'année dernière devront au minimum être adaptés
  • 9 sujets (11,7%) reprennent des sujets de la banque 2021, année où l'épreuve n'a pas eu lieu et ne bénéficient donc pas encore de corrigés
  • 26 sujets (33,8%) sont des nouveautés et ne bénéficient donc à ce jour pas de corrigés

Candidat ou candidate, attention. Contrairement à l'usage dans d'autres spécialités comme la NSI, les enseignants de Physique-Chimie n'ont pas l'habitude de partager leurs corrigés de ces sujets. Les corrigés sont conçus et généreusement partagés par des candidats comme toi. C'est donc à toi de concevoir tes propres corrigés pour les sujets qui n'en ont pas, et si tu approuves tout ce que nous faisons pour toi de les envoyer sur le site via les boutons dédiés. Tu seras crédité(e) sous le nom de ton choix, recevoir des retours, et inciter d'autres candidats à partager également leurs corrigés pour d'autres sujets, l'union fait la force ! Si tu t'y mets, nous pouvons arriver à avoir la banque intégralement corrigés d'ici le lancement des épreuves !


Justement, plusieurs nouveautés par rapport aux corrigés. Jusqu'à l'année dernière, les corrigés pouvaient prendre 2 formes :
  • document visualisable (.pdf)
  • vidéo
Déjà ces formats différents sont maintenant clairement distingués.

Pour finir, deux nouveautés que nous t'avons développées pour cette session 2023.

Les corrigés adoptant la forme d'un document peuvent désormais être proposés sous deux formats : visualisable (.pdf) et modifiable. C'est l'occasion pour toi de reprendre des corrigés 2022 pour les adapter aux sujets 2023, ou encore d'apporter toi-même des améliorations aux corrigés !

Enfin, les corrigés peuvent adopter la forme d'un script Python, ouvert sous basthon.

Tu pourras alors tester le script corrigé, lui apporter toi-même des modifications, et le télécharger.

Avec ECEBac.fr nous souhaitons offrir une épreuve préparée dans les meilleures conditions possibles aux évaluateurs, et bien évidemment réussite à tous les candidats !

N'hésite pas à partager, contribuer, et nous effectuer tes retours afin que nous puissions continuer à améliorer le site pour cette année et les prochaines.

Lien : ECEBac.fr
Lien vers le sujet sur le forum: Prépare et réussis l'ECE 2023 Physique-Chimie sur ECEbac.fr (Commentaires: 0)

Mise à jour TI-Nspire CX II 6.0 !

Nouveau messagede critor » 24 Jan 2023, 23:42

16364Texas Instruments nous sort à nouveau aujourd'hui une mise à jour 6.0 pour ses calculatrices TI-Nspire CX II.

Le numéro de version complet est 6.0.3.374, et la compilation a eu lieu le 3 janvier 2023.

Cette mise à jour fait donc suite à la version précédente 5.4.0.259 compilée le 11 janvier 2022.

Attention, comme toutes les versions précédentes depuis la 5.3.2 incluse, cette nouvelle version 6.0.3.374 n'est pas compatible avec Ndless r2018, et son installation est comme à l'habitude bien évidemment sans aucun retour en arrière possible. Toute tentative de réinstaller une version inférieure te sera par la suite refusée.

Si tu as la chance de disposer d'une calculatrice faisant encore tourner une version 5.3.0 ou inférieure et choisis de mettre à jour vers l'une de ces versions, tu renonces donc à Ndless (et donc entre autres à KhiCAS en mode examen) pour une durée indéterminée, des jours, semaines, mois ou même années comme c'est déjà arrivé, nous l'ignorons.


Les nouveautés que nous avons pu trouver semblent converger vers le Python ; découvrons cela ensemble.

Par exemple les versions précédentes n'appréciaient vraiment pas que l'on utilise le type liste plutôt que le type tuple pour un paramètre de couleur. À un point tel que ce tout petit code de rien du tout faisait immédiatement redémarrer ta calculatrice, te faisant perdre l'ensemble des données saisies non encore enregistrées :
Code: Tout sélectionner
from ti_draw import *
set_color(255, 0, 0) # ok
set_color((255, 0, 0)) # ok
set_color([255, 0, 0]) # reset
Et bien merveilleux, Texas Instruments a enfin corrigé ce bug !

Ce code se comporte désormais de façon bien plus correcte en déclenchant une exception plutôt qu'en redémarrant la machine.

Une excellente nouvelle, tu vas donc enfin pouvoir coder tes projets graphiques Python et entre autres jeux en toute sérénité ; il n'y a plus le risque de tout perdre à tout moment pour un simple crochet à la place d'une parenthèse !

Du changement également dans les bibliothèques Python que le système installe dans le dossier /PyLib/, et qui à la différence des bibliothèques intégrées ne sont pas utilisables en mode examen.

La bibliothèque ti_rover permettant de piloter le TI-Innovator Rover passe de la version 1.2 à la version 1.3.

Nous n'avons toutefois pas noté de changement dans les fonctions, en tenant compte aussi bien de celles qui sont exposées au menu que de celles qui ne le sont pas. Donc les changements doivent concerner le fonctionnement interne de quelque chose...

Téléchargements :
Lien vers le sujet sur le forum: Mise à jour TI-Nspire CX II 6.0 ! (Commentaires: 26)

Logiciels TI-Nspire CX 6.0 avec licence Internet flottante

Nouveau messagede critor » 25 Jan 2023, 14:45

Le logiciel TI-Nspire CX est un outil pédagogique d'un intérêt exceptionnel. Véritable logiciel intégré de mathématiques, il gère des documents que tu peux scinder en différentes pages, pages sur lequels tu peux ajouter de 1 à 4 applications de différents types :
  • Calculs
  • Graphique (toute représentation dans un repère : fonctions cartésiennes, polaires ou paramétriques, suites y compris récurrentes, équations différentielles, coniques, ou même relations)
  • Tableur & Listes (feuille de calculs)
  • Données & statistiques (pour les diagrammes bien spécifiques aux séries de données)
  • Editeur Mathématique (documents multimedia interactifs consistant en du texte formatté dans lequel tu peux inclure des images ou expressions mathématiques, et même évaluer automatiquement ces dernières)
  • Vernier Dataquest (acquisition de données physiques en connectant une interface Vernier ou compatible)
  • Widget (script Lua choisissable)
  • Editeur de programmes
  • Python - éditeur
  • Python - shell
Il t'est possible d'ajouter plusieurs applications du même type, même sur une même page.

Ces diverses applications même sur des pages différentes s'exécutent alors dans un même environnement ; c'est-à-dire qu'elles ont accès aux mêmes données et qu'un changement sur une donnée depuis une application est automatiquement répercuté dans toutes les autres. Un formidable outil pour avancer la recherche d'un problème mathématique en parallèle sous diverses représentations !

Le logiciel TI-Nspire CX est disponible dans différentes éditions couvrant nombre de plateformes :
  • ordinateurs Windows ou Mac
  • tablettes iPad
  • calculatrices TI-Nspire

Sur ordinateur, le logiciel TI-Nspire CX t'offre la possibilité d'afficher tes documents sous deux formats différents :
  • une vue ordinateur parfaitement adaptée à cet usage
  • une vue calculatrice reproduisant à l'identique l'affichage sur l'écran 320x240 pixels de la calculatrice et l'accompagnant d'un clavier, davantage adaptée au guidage en vidéoprojection d'une classe équipée en calculatrices TI-Nspire

Précisons que le logiciel TI-Nspire CX est le seul et unique logiciel officiel à gérer les transferts de données entre un ordinateur et une calculatrice TI-Nspire CX II.

Mais voilà, plusieurs problèmes.

Déjà, le logiciel TI-Nspire CX n'est pas libre d'utilisation, car nécessitant un numéro de licence au-delà d'une période d'essai de 90 jours.

Les numéros de licence pouvaient jusqu'à présent être acheté en ligne, pour une durée d'utilisation de 1 an, 3 ans ou même perpétuelle.

En France le problème n'était toutefois pas le prix, puisque fort généreusement :
  • un numéro de licence pour 3 ans d'utilisation (soit couvrant tout le cursus au lycée) est inclus lorsque tu achètes ta calculatrice (nouveaux emballages carton uniquement, pas les anciens emballages blister)
  • des numéros de licence de 3 ans sont fournis gratuitement aux enseignants en faisant la demande et justifiant de leur activité

Le numéro de licence saisi nécessite une connexion Internet pour activer la licence. Ceci n'est certes à faire qu'une seule fois, mais l'ennui est que le numéro de licence est alors lié à la machine utilisée.

Pour l'enseignant qui se trimballe d'une salle à l'autre avec son propre ordinateur portable, pas de problème. Par contre pour les enseignants qui utilisent l'ordinateur de la salle de classe, c'est autre chose. En effet une fois la licence activée, son numéro est définitivement lié à l'ordinateur sur lequel il a été saisi. Les licences pour enseignants peuvent certes être activées plusieurs fois (1 ordinateur personnel + 1 ordinateur professionnel), mais la limite est bien là et vite atteinte. À un moment le numéro ne pourra pas être réutilisé pour activer la licence sur de nouveaux ordinateurs, et ce même si tu ne te sers plus des anciens.

Or nous pouvons avoir le problème du changement d'ordinateur, de modifications matérielles ou logicielles effectuées à l'ordinateur et qui le font percevoir par le logiciel TI-Nspire CX comme un nouvel appareil (mise à jour du BIOS notamment), ou encore dans le cas d'usage de l'ordinateur de la salle de classe par l'enseignant (différentes salles utilisées, ordinateur remplacé suite à une panne ou un vol, changement de salle pas toujours prévu, ...).

16364Suite à la mise 6.0 sortie hier pour les calculatrices TI-Nspire CX II, nous te présentons aujourd'hui la mise à jour 6.0 des logiciels TI-Nspire CX pour Windows et Mac.

Bien évidemment cette mise à jour inclus les diverses améliorations Python que nous t'avons présentées à cette occasion.

Il semble également que le support des documents PublishView (.tnsp), sorte de version étendue du format TI-Nspire qui gérait en plus l'inclusion de vidéo mais n'était ouvrable que sur ordinateur et pas calculatrice, ait été retiré.

Mais ce qui explique ce saut majeur dans la numérotation de version, c'est un changement radical du système de licence. Nous passons du système à licence fixe décrit plus haut à une licence Internet flottante.

Ta licence est désormais régulièrement vérifiée en ligne (besoin donc d'une connexion Internet pour utiliser le logiciel), mais la différence c'est qu'elle n'est plus liée à un ordinateur précis, Texas Instruments s'adapte aux besoins des utilisateurs d'aujourd'hui, tu gagnes enfin le droit d'utiliser ta licence TI-Nspire CX sur autant de machines différentes qu'il te plaira.

Nul besoin non plus d'une connexion Internet permanente pour utiliser le logiciel TI-Nspire CX, chaque vérification réussie de ta licence t'ouvre une session d'utilisation de 7 jours sur la machine concernée, pendant laquelle il n'y aura pas de nouvelle vérification en ligne. Tu as donc juste besoin d'une connexion Internet :
  • à chaque lancement du logiciel TI-Nspire CX
  • dans le cas d'une machine que tu laisses allumée ou mets en hibernation, au moins une fois tous les 7 jours à compter du lancement du logiciel TI-Nspire CX

Même si il y a quelques avantages comme nous venons de voir, c'est en gros une évolution vers un système d'abonnement où il faudra régulièrement repayer pour continuer à pouvoir utiliser le logiciel TI-Nspire CX (ou à défaut s'embêter régulièrement à devoir justifier d'être toujours en exercice pour avoir une prolongation de licence gratuite) comme Casio l'avait fait avec ses logiciels d'émulation Manager Subscription il y a quelques années. C'est dans un sens bien dommage puisqu'il n'est désormais plus possible de posséder/acheter le logiciel, d'autant plus que les licences perpétuelles disparaissent de l'offre au passage.

C'est aussi problématique puisque le logiciel TI-Nspire CX est le seul à pleinement gérer les transferts de données avec une calculatrice TI-Nspire CX II, ce qui limitera donc lourdement les élèves dans l'utilisation de la calculatrice qu'ils ont achetée au-delà des 3 ans gratuits inclus. C'est également problématique pour ceux optant pour un achat d'occasion, la calculatrice ne sera plus pleinement utilisable.

Rappelons qu'à ce jour les transferts de données avec une calculatrice TI-Nspire CX II, ce n'est pas joyeux. En dehors de la solution payante précédente, les outils sont peu nombreux, limités en fonctionnalités, et ont diverses contraintes :
  • le logiciel de connectivité tiers TiLP pour Windows, Mac et Linux ne gère pas les TI-Nspire CX II
  • l'application de connectivité en ligne officielle TI-Nspire CX II Connect pour navigateurs Chromium (Google Chrome, Microsoft Edge, ...) a nombre de limitations : ne permet de transférer les fichiers qu'un par un, ne permet pas de choisir le dossier de destination sur la calculatrice, ne permet pas de choisir le fichier système à installer
  • l'application de connectivité en ligne tierce N-Link pour navigateurs Chromium fonctionne certes sous Linux mais pas Windows/macOS (contrairement à sa version application téléchargeable, qui fonctionne belle et bien)
Attention, l'installation du logiciel TI-Nspire CX 6.0 supprimera toute version précédente, et selon nos tests les ancien et nouveau systèmes de licence ne sont pas compatibles.

Si tu disposes d'un numéro de licence fonctionnel pour le logiciel TI-Nspire CX II 5.4 ou inférieur, il ne marchera pas avec le logiciel TI-Nspire CX 6.0 (et aucune garantie qu'il refonctionne à nouveau si tu réinstalles l'ancienne version).

Attention également, la période d'essai gratuit de 90 jours qui était incluse avec les versions précédentes du logiciel TI-Nspire CX disparaît avec la nouvelle version 6.0.

En conséquence, veille bien à ne pas mettre à jour le logiciel TI-Nspire CX sur ton ordinateur Windows ou Mac avant d'avoir obtenu un nouveau numéro de licence compatible de la part de Texas Instruments, sous peine de risquer de perdre immédiatement ta possibilité d'utiliser le logiciel TI-Nspire CX. :#non#:

Nous supposons qu'avec leur renouvellement dans les stocks, les emballages de machines neuves vont progressivement se mettre à inclure des numéros de licence compatibles avec le nouveau système de licence Internet flottante.

En attendant, pour que tu ne restes pas bloqué(e), nous te lions aussi bien les nouvelles que les anciennes versions en téléchargement ci-dessous.

Liens et téléchargements :
Lien vers le sujet sur le forum: Logiciels TI-Nspire CX 6.0 avec licence Internet flottante (Commentaires: 5)

Une mystérieuse NumWorks verte t'accueille chez Nexity

Nouveau messagede Admin » 26 Jan 2023, 18:03

Aujourd'hui, petite anecdote. Lorsque tu cherches à acheter un bien immobilier chez Nexity, regarde un peu qui c'est qui t'accueille pour t'aider à estimer ton crédit... Et oui, c'est ta fidèle calculatrice NumWorks !

Une campagne marketing originale et géniale, particulièrement pertinente dans le cadre de l'ajout prochain d'une application Finance avec la mise à jour Epsilon 20...
... sauf que non désolé, il ne s'agit très probablement pas d'une collaboration entre NumWorks et Nexity.

En effet si tu compares à l'image originale tu peux te rendre compte que bien d'autres modifications semblent avoir été mises en œuvre exprès pour rendre le produit méconnaissable. Outre le changement de colorimétrie donc, on peut noter :
  • un retournement horizontal (la NumWorks est à l'envers comme si tu la regardais dans un miroir)
  • un rognage taillé sur-mesures pour faire disparaître la marque NumWorks de la coque
  • une réduction de la définition de l'image, rendant les divers inscriptions restantes floues et donc illisibles
Nous sommes hélas ici face à une des nombreuses dérives contemporaines de l'Internet, et Nexity n'en est probablement pas entièrement responsable.

Nombre de professionnels commandant ou concevant des sites Internet ne veulent pas rémunérer d'artistes ou graphistes professionnels pour leurs images, et préfèrent opter pour bien moins cher, et entre autres à ces tarifs pour des banques d'images. Mais si la quantité à prix équivalent est peut-être supérieure, ce n'est pas le cas de la qualité.

Prix tirés vers le bas dans ce secteur et recherche de quantité font que ces fournisseurs de banques d'images ne font souvent pas appel à des artistes ou graphistes eux non plus, les remplaçant par des algorithmes ou Intelligences Artificielles, qui vont piller les galeries d'images publiques de particuliers, artistes, graphistes ou même ici entreprises. Leur appliquant alors ce genre de filtres histoire de rendre difficile tout rapprochement avec l'image source, ces outils génèrent ainsi très rapidement des banques de plusieurs centaines ou même milliers d'images immédiatement commercialisables, et tout ceci sans qu'un seul centime ne soit reversé aux détenteurs des droits d'auteur.

Si le maquillage malveillant n'est ici probablement pas à l'initiative de Nexity ni du concepteur de son site Internet, c'est quand même l'un d'entre eux qui a choisi le fournisseur.

La moindre des choses en réparation de cette faute serait sans doute un bandeau publicitaire NumWorks sur le site en question pendant quelques temps.
Remerciements à Afyu dont l'œil de lynx a immédiatement identifié la chose à travers toutes ces couches de maquillage.

Et félicitation à la communauté Omega pour ses hautes valeurs morales ; deux de ses plus éminents membres M4x1m3 et RapidZapper n'ayant pas hésité à monter immédiatement au créneau pour défendre la propriété intellectuelle de leur constructeur favori. Espérons que NumWorks aura la reconnaissance de faire un petit geste, c'est largement mérité.

Source : https://www.nexity.fr/ancien/GB00162954
Lien vers le sujet sur le forum: Une mystérieuse NumWorks verte t'accueille chez Nexity (Commentaires: 7)

12 graphiques TI-HP émulées en ligne chez Internet Archive

Nouveau messagede critor » 30 Jan 2023, 20:32

Lorsque nous consultons les sites des différentes constructeurs de calculatrices ou autorités de réglementation des examens, nous utilisons régulièrement la WayBackMachine (littéralement machine à remonter le temps) par Internet Archive. Elle nous permet d'affichage des sauvegardes d'anciennes versions des pages, et de mieux t'informer sur les dernières nouveautés.

L'Internet Archive est un organisme à but non lucratif américain, ayant pour objectif de préserver la connaissance humaine et de la mettre à disposition de tous dans une sorte de "bibliothèque d'Alexandrie en ligne".

Nous parlons de données, mais elles sont loin de se limiter aux seules sauvegardes de sites Internet, ce n'est qu'un aspect disponible. Bien d'autres choses sont archivées et disponibles : images, musiques, vidéos et même logiciels.

Un projet pantagruélique occupant à ce jour plusieurs milliers de téraoctets.

Dernière nouveauté dans la bibliothèque de l'Internet Archive : le tiroir des calculatrices.

Tu peux y retrouver plusieurs calculatrices graphiques sorties entre 1990 et 2002. Un seul clic sur une de ces calculatrices et elle reprend immédiatement vie grâce à l'émulateur en ligne MAME ! :favorite:

Au menu du tiroir, nous avons donc plusieurs modèles Texas Instruments :
  • 1990 : TI-81 avec ROM en version 1.8K
  • 1992 : TI-85 avec ROM en version 10.0
  • 1993 : TI-82 avec ROM en version 19.0
  • 1995 : TI-92 avec ROM en version 1.11
  • 1997 : TI-86 avec ROM en version 1.6
  • 1998 : TI-73 avec OS en version 1.60 sur un Boot en version 1.3005
  • 1998 : TI-89 avec OS en version 1.00
  • 2002 : TI-Voyage 200 avec OS en version 2.09

Sont également présents des modèles du regretté Hewlett Packard :
  • 1993 : HP 48GX avec ROM en version R
  • 1995 : HP 38G avec ROM en version A
  • 1998 : HP 48G+ avec ROM en version R
Une HP 39G (2000) est également présente, mais elle semble cassée. L'amorçage ne va pas plus loin que le Boot Code qui affiche systématiquemetn un message "No System".

Tout ceci nous rappelle le projet de site TI-Emulation (archive) porté par nos membres Persalteas et AlexRider38, qui avaient hélas dû renoncer face à l'hostilité de Texas Instruments, préoccupé par le fait que les fichiers permettent d'utiliser gratuitement ses produits sur tablettes et smartphones.
Ou encore notre émulateur de TI-z80 monochromes en Flash, qui pendant des années t'a permis d'essayer les programmes directement en ligne sans avoir à les télécharger et installer pour cela, avant de disparaître avec la mort de cette technologie.

Espérons que cette fois-ci sera la bonne. Car il est important de sauvegarder et préserver le formidable patrimoine éducatif développé par Texas Instruments pendant que nous l'avons encore sous la main.

D'ailleurs justement, quelque chose que nous avions développé et qui manque à ce jour : c'est la possibilité de choisir la version à émuler, ainsi que celle de charger un programme. ;)

Lien : https://archive.org/details/calculatordrawer
Source : https://blog.archive.org/2023/01/29/a-c ... t-archive/
Lien vers le sujet sur le forum: 12 graphiques TI-HP émulées en ligne chez Internet Archive (Commentaires: 0)

Découvre participations Python au concours Noël 2022 Casio

Nouveau messagede critor » 31 Jan 2023, 00:08

Collègien(ne) ou lycéen(ne), jusqu'à ce lundi 30 janvier Casio t'a permis de participer à son formidable concours de Noël 2022.

Il te suffisait de programmer sur ta calculatrice Casio ou son émulateur ton menu de Noël, avec 2 catégories au choix :
  • catégorie étudiants : pour les participations individuelles d'élèves de collège ou lycée
  • catégorie classe : pour les participations collectives de classes de collège ou lycée

Pour réaliser ton dessin, tu pouvais choisir entre les 2 technologies suivantes :
  • calculatrice scientifique fx-92+ Spéciale Collège avec son application Algorithmique t'offrant un langage de tracé à la Scratch/Logo
  • calculatrice graphique Graph 35+E II ou Graph 90+E avec son application Python

Pour chacune des 2 catégories étaient à gagner 2 superbes gros lots ; 1 pour le meilleur dessin sur fx-92+ Spéciale Collège, et 1 pour le meilleur dessin sur Graph 90/35+E II :
  • catégorie étudiants : 1 enceinte JBL Charge 3 ou 1 appareil photo Instax avec pack de recharge photos (valeur 130€)
  • catégorie classe :
    • pour le professeur : 1 service à raclette (valeur 30€)
    • pour chaque élève du groupe : 1 montre Casio ou 1 enceinte JBL Go (valeur 30€)
      (dans la limite de 35 élèves)
Et en prime avec Casio, pas de perdant : lot de goodies Casio pour tous les autres participants !
Un superbe concours, merci Casio ! :favorite:

Nous avions très hâte de pouvoir te présenter les productions réalisées que nous espérions à la mesure de l'événement. Plusieurs candidats nous les ont fort aimablement partagées, découvrons tout cela ensemble.




  1. Hors concours Graph 90+E Python :
  2. Classes Graph 90+E Python :




Hors concours Graph 90+E - Réveillon de Noël au chalet sylvestre - critor

Go to top

16375J'ai envoyé une participation pour représenter TI-Planet, en précisant bien sûr que c'était pour le plaisir. Je ne souhaite en effet piquer de gros lot à personne.

J'ai donc l'honneur et l'immense plaisir de vous partager ma participation finale comme promis, préparée avec soin un petit peu chaque jour à compter de début décembre. J'ai pris soin de ne pas dépasser les 300 lignes avec pour chacune au plus 256 caractères, afin que le script reste visualisable dans l'éditeur Python de la Graph 90+E.
(c'est toutefois du concentré, et ce n'est pas demain la veille qu'il tournera sur les modèles de milieu de gamme concurrents... :P)

L'année dernière je t'avais conçu non pas un simple dessin, mais une animation déplaçant diverses images à l'écran.

Cette année il ne s'agit ni d'un simple dessin, ni d'une simple animation, mais d'une véritable scène 3D dans laquelle tu te déplaces. Le script, utilisant la bibliothèque de tracé par pixels casioplot, t'emmenène littéralement réveillonner au chalet au fin fond de la forêt, que j'ai soigneusement préparé pour te recevoir (arbre de Noël, guirlandes à LEDs RVB, vase de fleurs) et te sustanter (foie gras, dinde, bûche, bûche, corbeille de fruits, bonhomme en pain d'épice).

Pour cela le script joue une animation aléatoire en utilisant un moteur 3D que j'ai codé pour l'occasion, basé sur la technique du point de fuite.


Les images utilisées (crédits indiqués en commentaire du code) ont été retouchées puis converties en code Python pour Graph 90+E à l'aide de mon outil de conversion en ligne img2calc.
Code: Tout sélectionner
from random import randint
from casioplot import set_pixel, show_screen, draw_string, clear_screen
from math import sin, cos, pi, sqrt, log, ceil
W, H = 384, 192 # FENETRE GRAPHIQUE PYTHON GRAPH 90+E

# EXTENSION CASIOPLOT (FONCTIONS DE DESSIN DE PRIMITIVES)
def draw_line(x1, y1, x2, y2, c):
  m, a1, b1, a2, b2 = 0, round(x1), round(y1), round(x2), round(y2)
  if (x2 - x1) ** 2 < (y2 - y1) ** 2: m, a1, a2, b1, b2 = 1, b1, b2, a1, a2
  if min(a1, a2) != a1: a1, b1, a2, b2 = a2, b2, a1, b1
  for a in range(max(0, a1), min(m and H or W, a2 + 1)):
    b = round(b1 + (b2 - b1) * (a - a1) / ((a2 - a1) or 1))
    set_pixel((a, b)[m], (b, a)[m], c)

def fill_rect(x, y, w, h, c):
  if w<0: x, w = x + w + 1, -w
  if h<0: y, h = y + h + 1, -h
  x1, y, x2, y2 = max(0, round(x)), max(0, round(y)), min(W - 1, round(x) + w), min(H - 1, round(y) + h)
  for y in range(y, y2 + 1):
    for x in range(x1, x2 + 1): set_pixel(x,y,c)

def fill_trapeze_horizontal(ya, x1a, x2a, yb, x1b, x2b, c):
  if abs(yb - ya) < 1: return
  if yb < ya: ya, x1a, x2a, yb, x1b, x2b = yb, x1b, x2b, ya, x1a, x2a
  for y in range(max(0, ya), min(H, yb + 1)):
    xt1, xt2 = interp(x1a, x1b, ya, yb, y), interp(x2a, x2b, ya, yb, y)
    if xt1 >= xt2: break
    fill_rect(xt1, y, xt2 - xt1 + 1, 1, c)

def fill_trapeze_vertical(x1, y1a, y1b, x2, y2a, y2b, c):
  if x2 == x1: return
  if x2 < x1: x1, y1a, y1b, x2, y2a, y2b = x2, y2a, y2b, x1, y1a, y1b
  for x in range(max(0, x1), min(W, x2 + 1)):
    yta, ytb = interp(y1a, y2a, x1, x2, x), interp(y1b, y2b, x1, x2, x)
    fill_rect(x, yta, 1, ytb - yta + 1, c)

def draw_ellipse(x, y, rx, ry, c, fill=0):
  dx, dy, rmin, rmax, w, h = rx >= ry, rx < ry, min(rx, ry), max(rx, ry), 0, 0
  while h <= ry and w <= rx:
    d = rmin * sqrt(1 - ((w + h) / rmax)**2)
    for sy in range(-1, 2, 2):
      for sx in range(-1, 2, 2):
        if fill: fill_rect(x + sx*w, y + sy*h, sx*dy*d or 1, sy*dx*d or 1, c)
        else: set_pixel(round(x + sx*w + sx*dy*d), round(y + sy*h + sy*dx*d), c)
    w, h = w + dx, h + dy

# COULEURS ET FONCTIONS
C_SOL_INT, C_FOND_INT = (170, 96, 40), (234, 234, 234)
def darker_color(c): return [v // 2 for v in c]
def hsv_2_rgb(h, s=1, v=1):
  c, h = v * s, (h % 1) * 6; m, x = v - c, c * (1 - abs((h % 2) - 1))
  return [round((v + m) * 255) for v in (h<1 and (c, x, 0) or h<2 and (x, c, 0) or h<3 and (0, c, x) or h<4 and (0, x, c) or h<5 and (x, 0, c) or (c, 0, x))]

# FONCTIONS DE DESSIN SPECIFIQUES SCENE 3D RENDUE
def draw_mur(droite=0):
  x_pplan_piece, y1_pplan_piece, y2_pplan_piece, x_pplan_fenetre, y1_2plan_piece, y2_2plan_piece = getx(I_PIECE_PP, droite), gety(I_PIECE_PP, 0), gety(I_PIECE_PP, 1), getx(I_WIN_PP, droite), gety(I_WIN_PP, 0), gety(I_WIN_PP, 1)
  x_dplan_fenetre, y1_3plan_piece, y2_3plan_piece, x_dplan_piece, y1_dplan_piece, y2_dplan_piece, c = getx(I_WIN_DP, droite), gety(I_WIN_DP, 0), gety(I_WIN_DP, 1), getx(I_PIECE_DP, droite), gety(I_PIECE_DP, 0), gety(I_PIECE_DP, 1), (217, 217, 217)
  if droite and x_dplan_piece > x_pplan_piece or not droite and x_dplan_piece < x_pplan_piece: c = darker_color(c)
  fill_trapeze_vertical(x_pplan_piece, y1_pplan_piece, y2_pplan_piece, x_pplan_fenetre, y1_2plan_piece, y2_2plan_piece, c)
  fill_trapeze_vertical(x_dplan_fenetre, y1_3plan_piece, y2_3plan_piece, x_dplan_piece, y1_dplan_piece, y2_dplan_piece, c)
  if x_pplan_fenetre != x_dplan_fenetre:
    y1a_fenetre, y1b_fenetre, y2a_fenetre, y2b_fenetre, x = repos(y1_2plan_piece, y2_2plan_piece, .125, .375) + repos(y1_3plan_piece, y2_3plan_piece, .125, .375) + ((x_pplan_fenetre + x_dplan_fenetre) / 2,)
    fill_trapeze_vertical(x_pplan_fenetre,y1_2plan_piece,y1a_fenetre,x_dplan_fenetre,y1_3plan_piece,y2a_fenetre,c)
    fill_trapeze_vertical(x_pplan_fenetre,y1b_fenetre,y2_2plan_piece,x_dplan_fenetre,y2b_fenetre,y2_3plan_piece,c)
    draw_line(x, (y1a_fenetre + y2a_fenetre) / 2, x, (y1b_fenetre + y2b_fenetre) / 2, c)
    draw_line(x_pplan_fenetre, (y1a_fenetre + y1b_fenetre) / 2, x_dplan_fenetre, (y2a_fenetre + y2b_fenetre) / 2, c)

def draw_pancarte(x, y, txt, ctext, cfont, taille):
  x, y, LH_POLICE = round(x), round(y), {"small":8, "medium":14, "large": 20}; y = y - LH_POLICE[taille]
  draw_string(x, y, txt, ctext, taille)

def draw_haie(img, pal, w, h, z, i, gd = 0):
  x, dx, pancarte = getx(i, 1) - w*z, w * z * 2 * sqrt((i + 1) / i), 0
  while x > -w*z + 1: x -= dx
  while x <= W - 1:
    if not gd or gd <= 0 and x + w*z < getx(i, 0) or gd >= 0 and x > getx(i, 1):
      draw_image(img, x, gety(i, 1) - z*h, w, pal, zoomx=z, zoomy=z)
      if not pancarte and gd == 1 and i in (I_TREE3B, I_TREE2B, I_TREE1B):
        draw_pancarte(x + 2*w*z/3, gety(i, 1),"CASIO",(0,0,191),(255,255,255),{I_TREE3B:"large",I_TREE2B:"medium",I_TREE1B:"small"}[i])
        pancarte = 1
    x += dx
 
def draw_foret(gauchedroite = 0):
  if gauchedroite:
    l=((D_SAPINM,C_SAPINM,L_SAPINM,H_SAPINM,1,I_TREE1M),(D_SAPING,C_SAPING,L_SAPING,H_SAPING,1,I_TREE1B),(D_SAPING,C_SAPING,L_SAPING,H_SAPING,2,I_TREE2B),(D_SAPING,C_SAPING,L_SAPING,H_SAPING,3,I_TREE3B))
    for v in l: draw_haie(v[0], v[1], v[2], v[3], v[4], v[5], gauchedroite)
  else: draw_haie(D_SAPINP, C_SAPINP, L_SAPINP, H_SAPINP, 1, I_TREE1S, gauchedroite)

def draw_murforet(gauchedroite=0):
  l = [gauchedroite == -1, gauchedroite == 1]
  for v in getx(I_PIECE_PP, gauchedroite == 1) < getx(I_PIECE_DP, gauchedroite == 1) and l.reverse() or l:
    if v: draw_mur(gauchedroite == 1) # mur + fenetre
    else: draw_foret(gauchedroite) # foret

def draw_guirlande(y, x1, x2, n, h):
  x1, x2 = round(min(x1, x2)), round(max(x1, x2)); w = x2 - x1 + 1
  for x in range(max(0, x1), min(W, x2 + 1)): set_pixel(x, round(y + h*abs(sin((x - x1) * n * pi / w))), hsv_2_rgb((x2 - x) / w))

def draw_table(y_pplan, y_dplan, h_pplan, h_dplan):
  x1_pplan_table, x2_pplan_table, x1_dplan_table, x2_dplan_table = repos(getx(I_TABLE_PP,0),getx(I_TABLE_PP,1),.175,.175) + repos(getx(I_TABLE_DP,0),getx(I_TABLE_DP,1),.175,.175); y_dplan, y_pplan, c = y_dplan - h_dplan, y_pplan - h_pplan, (159, 50, 52)
  draw_guirlande(y_dplan + 1, x1_dplan_table, x2_dplan_table, 5, h_dplan / 4) # guirlande a la table en arriere plan
  fill_trapeze_horizontal(y_dplan, x1_dplan_table, x2_dplan_table, y_pplan, x1_pplan_table, x2_pplan_table, y_dplan > y_pplan and darker_color(c) or c) # table
  lxy = ((x1_pplan_table, y_pplan), (x2_pplan_table, y_pplan), (x1_dplan_table, y_dplan), (x2_dplan_table, y_dplan))
  for k in range(len(lxy)): # pieds de la table
    xy, t = lxy[k], k >= len(lxy) // 2
    w, h = t and 1 or 3, t and h_dplan or h_pplan
    fill_rect(xy[0] - ((k % 2) and w - 1), xy[1] + 1, w, h, (127, 127, 127))
  draw_guirlande(y_pplan + 1, x1_pplan_table, x2_pplan_table, 5, h_pplan / 5) # guirlande a la table au premier plan

def draw_repas():
  l = (I_ROW1, I_ROW2, I_ROW3, I_ROW4, I_ROW5, I_ROW6, I_ROW7)
  rx_assiette, ry_assiette = round((getx(I_TABLE_PP, 1) - getx(I_TABLE_PP, 0)) / 8), round((gety(I_TABLE_PP, 1) - gety(I_TABLE_DP, 1)) / 14)
  lobj=((),(),((D_OIEP,L_OIEP,H_OIEP,C_OIEP,1,0),(D_VIN,L_VIN,H_VIN,C_VIN,0,-2)),((D_OIEC,L_OIEC,H_OIEC,C_OIEC,-3,0),(D_BUCHET,L_BUCHET,H_BUCHET,C_BUCHET,0,1)),((D_BISCUIT,L_BISCUIT,H_BISCUIT,C_BISCUIT,0,0),(D_CHAMPAGNE,L_CHAMPAGNE,H_CHAMPAGNE,C_CHAMPAGNE
   ,0,-2)),((D_FOIE,L_FOIE,H_FOIE,C_FOIE,0,0),(D_BUCHE,L_BUCHE,H_BUCHE,C_BUCHE,4,1)),((D_OIEG,L_OIEG,H_OIEG,C_OIEG,2,0),(D_FRUITS,L_FRUITS,H_FRUITS,C_FRUITS,0,-2),(D_VASE,L_VASE,H_VASE,C_VASE,0,-1)))
  for k in range(len(l)):
    i = l[k]
    y_assiette, x1_assiette, x2_assiette = gety(i, 1), getx(i, 0), getx(i, 1); z, y_assiette = L_ZFACT[i]/L_ZFACT[I_ROW7], y_assiette - (gety(i, 1) - gety(i, 0))*26//100
    lx_ext, lx_int = repos(x1_assiette, x2_assiette, (k % 2) and 1 / 3 or .25, (k % 2) and 1 / 3 or .2), repos(x1_assiette, x2_assiette, .5)
    lx = ((k % 2) and lx_ext or lx_int) + ((k % 2) and lx_int or lx_ext)
    for x in lx[:1 + (k % 2)]:
      draw_ellipse(x, y_assiette, rx_assiette * z, ry_assiette * z, (255, 255, 255), 1)
      draw_ellipse(x, y_assiette, rx_assiette * z, ry_assiette * z, (0, 0, 0))
    for obj in lobj[k]:
      draw_image(obj[0], lx[obj[5]] - obj[1]/2 + obj[4], y_assiette - obj[2] + 1, obj[1], obj[3])
    if k < I_LUSTRE and k + 1 < len(l) and l[k + 1] > I_LUSTRE:
      y_lustre, x1_lustre, x2_lustre = (gety(I_LUSTRE, 0),) + repos(getx(I_LUSTRE, 0), getx(I_LUSTRE, 1), .5) # lustre au plafond
      draw_image(D_LUSTRE, x1_lustre - L_LUSTRE//2, y_lustre, L_LUSTRE, C_LUSTRE)

# MOTEUR 3D ET FONCTIONS
def interp(v1,v2,r1,r2,r): return v1 + (r - r1)*(v2 - v1)/(r2 - r1)
def repos(a1, a2, f1, f2=0):
  l = a2 - a1 + 1
  return a1 + l*f1, a2 - l*f2

def fuite(ai,bi1,bi2,af,bf,lz):
  ai, af, bf = round(ai), round(af), round(bf)
  if ai == af: return ((ai, bi1, bi2),) * len(lz)
  l, da, iz = [], ai < af and 1 or -1, 0
  for a in range(ai, af + da, da):
    bt1, bt2 = interp(bi1, bf, ai, af, a), interp(bi2, bf, ai, af, a)
    while iz < len(lz) and (bt2 - bt1) / (bi2 - bi1) <= lz[iz]:
      l.append((a, bt1, bt2))
      iz += 1
    if iz >= len(lz): break
  return l

def getx(iz, k):
  if defil_vert: return (k and lx2y or lx1y)[iz][0]
  else: return (abs(ly1x[I_PIECE_DP][0] - ly1x[I_PIECE_PP][0]) >= abs(ly2x[I_PIECE_DP][0] - ly2x[I_PIECE_PP][0]) and ly1x or ly2x)[iz][1 + k]

def gety(iz, k):
  if not defil_vert: return (k and ly2x or ly1x)[iz][0]
  else: return (abs(lx1y[I_PIECE_DP][0] - lx1y[I_PIECE_PP][0]) >= abs(lx2y[I_PIECE_DP][0] - lx2y[I_PIECE_PP][0]) and lx1y or lx2y)[iz][1 + k]

def sign(x): return (x > 0) - (x < 0)

# PARAMETRES SCENE 3D RENDUE
W_PIECE, H_PIECE, N_FESTONS, H_FESTON, L_ZFACT = W * 3 // 4, H, 3, H // 7, (1, .97, .97, .95, .83, .763, .69, .65, .633, .56, .52, .508, .475, .45, .395, .34, .317, .28, .254, .22, .20, .19, .17, .134)
I_PIECE_PP,I_TAPIS_PP,I_TREE3B,I_TABLE_PP,I_ROW7,I_TREE3M,I_ROW6,I_WIN_PP,I_TREE2B,I_ROW5,I_LUSTRE,I_TREE2M,I_ROW4,I_WIN_DP,I_ROW3,I_ROW2,I_TREE1B,I_ROW1,I_TREE1M,I_TABLE_DP,I_TAPIS_DP,I_SAPIN,I_PIECE_DP,I_TREE1S = range(len(L_ZFACT))

# IMAGES - converties sur : https://tiplanet.org/forum/img2calc/?mode=script&target=cg
def draw_image(rle, x0, y0, w, pal, zoomx=1, zoomy=1):
  x0, y0, nbits, i, x = round(x0), round(y0), ceil(log(len(pal), 2)), 0, 0; maskval, maskcnt = (1 << nbits) - 1, (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]; mv, c = v & maskval, (v & maskcnt) >> nbits
    if (v & 0b10000000): i += 1; c |= rle[i] << (7 - nbits)
    c += 1
    while c:
      cw = min(c, w - x)
      if mv:
        col = pal[mv]
        for l in range(0, zoomy, zoomy < 0 and -1 or 1):
          for k in range(cw):
            for p in range(0, zoomx, zoomx < 0 and -1 or 1): set_pixel(x0 + (x + k)*zoomx + p - (zoomx < 0), y0 + l - (zoomy < 0), col)
      c, x = c - cw, (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1

# sapin decore - retouche a partir de : https://kandipatterns.com/patterns/holidays/christmas-tree-26865
L_SAPIND,H_SAPIND,C_SAPIND,D_SAPIND=29,35,(0,(248,192,0),(0,120,0),(64,208,0),(240,248,232),(168,144,128),(232,0,0),(0,96,248),(128,0,248),(0,48,0),(64,0,0),(152,64,16)),(b'\xd0\1\1\x90\3A\x80\3!\x90\3\1\2\1\x90\3"\x90\3\3\2\3\4\5\xd0\2\1C\xd0\2\25\24#\4'
b'\xd0\2\2T\5\xc0\2\26\3\4\3\5\2\21\x90\2\23\26#\4\23\1\x80\2\2\x93\1\4\5\x80\2\2\23\25D\5\22\xd0\1\a\4C\25\27\3\5\3\xd0\1\2\5$C\x173\21\x90\1\30\2\25\xf4\0\5\23\2\21\x90\1\b\23\2\3\4\5\24%\4#\4\3\x90\1\t\2\4#\4\3\5\30C$\5\x90\1\t\5\24\3\5\23\30#\24\25\t'
b'\xb0\1\2\5\4C\25$\5#\4\5\xf0\0\xe3\1\22\24\5\xf0\x003\2\3\5D\5\3\2\3\2\5C@\t\2\3\26\3\22\25\4\5\xa3\1\2\t@\t\2\26\23\t\xf3\0\26\3\2\23\2\t\21\20\27\31\22\xf3\0"\26\t\3\2)\21\20\a\2\39\2\23\x023\29S \t\2c\21"\30\x93\1\2\0)\3\2\21#\21\23\t\30\3\2#\22\23'
b'\2\t\20\t\22\t\21\x023\22#\2\t\2\3\2i\20\2I\2\3\22\31\22\3)\229\27\t\20)\0\31\22)\27\t\29\2\20\31\27\20\31@\2)\n\27" \31\xd0\1\t\20\v*\2\n\v\xd0\2k\xe0\2K\xb0\1')
# lustre - retouche a partir de : https://www.deviantart.com/almondkinomotovs/art/Pixel-art-vintage-2-c-447280129
L_LUSTRE,H_LUSTRE,C_LUSTRE,D_LUSTRE=30,34,(0,(192,180,24),(224,208,40),(248,252,144),(248,252,168),(248,252,0),(248,0,112),(200,176,80)),(b'H!\2!\xb0\1\21\xd8\1\1\xe0\1\1\xe0\1\1\xe0\1\1\xe0\1\1\xe0\1\1\xe0\1\1\xb0\1\3 \1 \4\xf8\0\3\5\3\30\1\30\4\5\48'
b'\x040\6 \1 \6(\3\0\4\5\4(\6 \1 \6 \3\5\3\0\x060\6 \1 \6(\6\b\x060\2 \1 \2(\6\b\6\20\4\20\a\30\21\30\1\20\3\b\6\b\2\b\4\5\4\b\17\20\21\30\1\b\3\5\3\0\2\b\1\20\6\30\1\b\t\2\t\b\t\20\6\b\1\0\1\30\6 \31\2!\30\6\20\t\30\2(\2\1\22\1\2(\2\20\21\30\2\b\22\1\1'
b'"\22\b\2\20\t\0\t\30\n\b\t\0\1\2\1\0\t\b\n\30\1\20\t(\t\0\t\2\t\0\t(\t\309\b\1\0\2\0\1\b9`\t\b\2\b\t\x90\1\5\2\1\20\2\20\1\2\5\xa0\1"\xc8\1\22\xd8\1\4\xd8\1\4\5\4\xc8\1\4\25\4\xc0\1\4\25\4\xc8\1\4\5\4\xd8\1\4h')
# grand sapin - retouche a partir de : https://www.reddit.com/r/PixelArt/comments/zbp65h/a_snowy_tree/
L_SAPING,H_SAPING,C_SAPING,D_SAPING=57,71,(0,(144,172,184),(184,192,200),(208,216,216),(240,244,240),(0,44,48),(32,76,40),(0,28,48),(128,148,72),(64,112,32),(104,128,160),(16,24,64),(48,48,40),(48,56,40),(88,56,72),(120,84,88)),(b"\xb0\3\21\xe0\6\1\2\1"
b"\xd0\6\1\2\1\xd0\6\1\2\1\xd0\6\1\3\2\1\xb0\6\1\4\3\22\1\xa0\6\1\4\23\2\1\x90\6\1\x043\21\xe0\5\21\x043\1\3!\xa0\5!\4\3\22\23\1#\21\xa0\5\1\22\3\22\23!\3\1\xb0\5\x012\23\21\5\21\xd0\5\21\2#\21\6\5\a\xc0\5\1\6\5A\5\6\25\a\xb0\5\1\b\x065\26\t\6\5\a\xa0\5"
b"\21\22\t&\t2\21\xf0\4!#\29\x023\2\21\xc0\4\1\3\4\1#Bc\2\1\xb0\4\1\4C\2\xb3\1\1\xc0\4\21#\22C\2C\1\xd0\4\5\1\23\22C\22C\1\xb0\4\21\25\21\2C\"#\21\aa\x80\3A\32\25\n\x023\1\n\1#\1\25C\21\xa0\3:\25\26\5A\n\x151\x053!\xd0\3\25\b)\6\5:\x95\x011\xe0\3\a\b\t\b"
b"\tF\25\26\5V\25\1\27\v\xa0\3%\b\t\b\31&\t\x96\1\5\x165\27\x90\3\25(\31\269\26)6\25&\25\a\xb0\3\5\b\31&I\69F\25&\a\xd0\3\a\31\26\t2)\3)\6\t\26\5\21&\a\xd0\3%\t\22#)\23)\21\6\1\23\21\6\5\a\x80\x031\5\2\25\2C\x023\31\23\x013\2\1\26'\xc0\2\21\x143\2S\x023"
b"\6\t\23\x023\2\x016\a\xc0\2\21\3\22\x93\1\x023\6\t\23\2\21\23\22\1\26\a\xe0\2\5\21\22\1c\x123\26#\2\21\"\1\6\a\x90\3\25\t\1#\2\23\22\1\23\2\23\6\1\23\2\1\6!\6\a\x80\3\25\b\6\5\1\23\22\3\22\1\2\23\"\1\6\1\3\1\6\aF\a\xc0\2\25(&\1\3\22\23\1\27\2#\21\27\6"
b"\1\26\27&\a\5\27\xe0\1\5\a\25(F\x012\3\1\5\a\1\23\x015\27\6\a\25'%\1'\xa0\1\25\b\x143\26\3\2\6\21\2\21\25\26!\x056\5\a\5&\25\6%!7\xf0\0\5\t\2c\2\26\25\1\25\6\t\26\1\25V\25\xf6\x005\21\n\a\x80\1\5\t\x123\2\x016\5)&\x056)V2\21\6%\n\27\x80\1\25\t\1\2\23"
b"\21&I\x86\19FR\1%\27\xb0\1\5A\6\x013)\6\31\6\x196I\6\x191\2\21\5\a\v\xc0\1\v\x051\6\x013\1\t\26\t\2Y&)\6)&1\5\a\v\xa0\1\27\6G\6\1#\1\t\26\31\"\t\2)&\31\269\26\25'\x90\1\33\30\6\x026\aA\6\a\v\t\2#\2\3\tV\t\6\t\5'\t\6\5\a\5'@\v'\30\31\2\3\1&\5\a67\x013"
b"\21G&\31\27\5'5' \v(\t\21\2#\1\26\x157\26\5\a\t\1\23\21\27\5\6\5'6\a\25\6\25\26\5W\0\27\31!#\2\1\x86\1\25\27\21\6\a\x056%G\5&\t\1\n\6\n\a\6\25\a \a\31\6\1#\2\1\tF\x196\5'\5&\t6U\6\31!*\6\5\a0\a\t\6\t\1\23\22\1\31&\t\21V\25\26\t\6\31\x96\1\t\21\n\1\32\6"
b"\5\a@\a\26\t\21\22\21\31\6!\2\1\31f\21\6I6\tA*\25\27P\a)\6\21)\26\1\23\2\1961\x99\1A\n%\a\xf0\0\27\26I\26\1\23\22\1\31\26\5\26\2Q\6\31\6\t&1\n%\a\xa0\1\27F\31\x061\31\26\5\26\2aV\5&\1\n\25\27\xd0\1\v\27\5\31\696\25\26!\x95\1\6\5\a\25\26\5\a\xa0\2\a\26Y"
b"\26\25&\21\5'\25'5\27%\27\xa0\2\xf7\0\26\5\x176\5\27\34\a\5\a\x1c7\20'\xb0\3\a\6\x057\26\5\27<\27\34\v\xb0\4'\0\a\x1c7\xfc\0\a\x80\5\a\34=\16\f\16\f\16,\a\x80\5\a.,.\f\16\34\a\x90\5\a\36\17N\34.\f\a\x80\5\a\36\37>\34\36\34\a\x80\5\a\36/.\34\36\34\a\xf0"
b"\4\a./\16\37\16\f\36\34\a\xf0\4\a\36/\36\37\16\f.\34\a\xd0\4\27\36/\36\37\16\f\36,\a\xe0\4\r\f\36\37\xfe\0,\xb0\5N\34\16\34\xd0\2")
# moyen sapin # retouche a partir de https://www.reddit.com/r/PixelArt/comments/zljrsx/some_variations_of_firtree/
L_SAPINM,H_SAPINM,C_SAPINM,D_SAPINM=50,57,(0,(80,104,176),(184,192,208),(184,192,200),(48,80,120),(128,152,192),(168,184,208),(160,180,216),(24,52,32),(40,76,64),(32,92,80),(32,84,72),(128,156,192),(40,108,80),(72,116,88)),(b'\xe0\2\21\xf0\5\1\2\1\xe0\5'
b'\1\2\1\xd0\5\1\2\3\1\xc0\5\4"\3\1\xb0\5\4\23\5\2\3\1\xb0\5\4\25"\1\x90\5\4\25\6\2\5\2\3\1\x80\5\4\26\a\3\6\5\24\xf0\4\1\27\x062\4\x80\5\1b\5\1\xe0\4\1B\5\23\5\1\xe0\4\1B\6%\6\1\xc0\4\1\3B\a6\1\xc0\4\1\22\x052\a\26\2\6\1\xa0\4\1\6\25\aB\23\22\1\x90\4'
b'\x016\2\3\xf2\0\3\1\xf0\3\1\22&\3R\6\3\22\3\1\xc0\3\21"\3&\3B\6\1\3"\1\xa0\3\1\5B\5\26\5R\1\x052\21\x80\3\1\x057\5&\1\22\5"\5\1\5"\25\1\x80\3\1\5\26\1\26\a\1\b!\2\3\2\5!5\1\x90\x031\25\18\1\2\3\1\25Q\xa0\38\21X!\25\1\30\xc0\3\x88\1)8\218\xa0\3\30\t\n\v'
b'\t(\t\32\v\th\t\30\xf0\2\24\bJ)Z\v8\t\32\30\4\xa0\x024\b\5\34:\31Z\25)*\v\b$\x80\x024\f\3\x125\31\25\f\32\f%\31\32\34\5\bD\xe0\1\24\f"\a\23\6\f\t\5\22\3\f\n\f\23\2\f\31\f\3\22\fD\xd0\1\1\6\22\3B\26\fB\1\22\3\22\3\f\x032%\1\xe0\1\x016\5"&\fB\1\2\f2\3\aB'
b'%\1\xd0\1\3\1\26\f\22\f\26\5\1"\6\22\1\f\1\6"\3\a\6\2\3\22\1\25\1\xf0\1!\23\1\26\b\1"\a\3\2!\x162\25&!\xb0\2\21\b\21\b\5\22\6\5\22\1\30\1\26"\6\1\f\26\1\xb0\2\xf8\0"\f\6\3\2\1(\1\26\22\x061\xa0\2\x88\1\5"\5\a\6\5\18\x015\1H\xe0\1\xa8\1&\a\1\6\a\1X\1%\1'
b'\xf8\0\x80\1\x88\1\31(\1\26\5!\xf8\0!\xb8\1 \xf8\0\t\21)8!X9\x98\3\f\5\f\1)\b\th)\bY\30)\n\v\t\x88\1\0H\f%\1)\b\31H\31\v\31\b\32\t\v\31\b)J\tH0\30\n%\1\n\b\t\b\x99\1*\b*-\n\b\t\bj\t\30 \30*\25\1\32\30\t\35\nI\v=\n\t\n]\30\t\xfa\0\v\b\0\bJ+\32\31M\31\nm'
b'\t\n\35.\35\t\30\t\32\t*\v\b\0\b\33\n\b:\t\n\t\rN\r\v\r\36\35\36\r\32\35\16\f>\r\t(\t\b\32\b (\32\t\32\b\n\t^\r\v\x8e\1\n-\f\5\36\25\f\35\t\30\31\b0\b*\b\31\b\tn\n\r\x8e\1\n-,\16%\34.\30@\b\32\t\b\31\b^\n\r\v\xae\1\v\35\n\34\36\5\f\25.\bPh\n^\v\b\r\xae'
b'\1\n\35\n.\f\36\34\v\n\b\xf0\0H\n\36\r\36\n\r\30N\n\36\n>\t\n\t\36\r\25\f.\b\xb0\1\b\32\16\n.\n\30\rN:>\t\n\t*%\n\36\b\xb0\1\b*\36\n\r(.\n\36:N\30\33\t\34\5(\xc0\1\b\n\v\b\36\v\30\0\b.\b*\30\n\36\v\36\b\0(\n\f\5\t\xf0\1\30\0( \b\36\r\b\32\b\20\b\32\b.'
b'\b\20\b*\t\x80\3\b\36\t\0\x190\31\0\t\36\b (\xa0\3\31\xb0\1\31\x80\2')
# petit sapin # retouche a partir de https://www.reddit.com/r/PixelArt/comments/zljrsx/some_variations_of_firtree/
L_SAPINP,H_SAPINP,C_SAPINP,D_SAPINP=23,30,(0,(80,104,176),(184,192,208),(184,192,200),(160,180,208),(160,180,216),(128,152,192),(24,52,32),(32,88,80),(32,100,80),(72,100,160),(40,76,64),(40,108,80),(64,116,80)),(b"\xa0\1\21\xb0\2\1\2\1\xb0\2\1\2\1\xa0\2"
b"\1\3\2\3\1\x90\2\1\22\3\1\x80\2\1\24\3\22\1\xe0\1\1$\"\1\xe0\1\1\4B\3\1\xc0\1\1\x82\1\1\xa0\1\1\5\3\x82\1\1\x80\1\1$\6\22\4\22\3\4\2\4\1\xf0\0\1\24\21\24\1\4\5\4\1\24\1\x80\1\21\27\21\a\1\5\4!\xa0\1\a\30\27\b\a\21\27\xa0\1\1\tX\27\30\a\xf0\0\3\1\26\bf"
b"\b\26\1P\21\3\2\4\2\3B\4\5\6\5\4\x110\1\6\22\x062\6\3\2\6\3\2\1\24\1@1\22\4\1\a\1\24\1\23\21`'\21\n'\21\a\21\aP'\vG\v\x87\1\x107\30\v\27\v(\v\27\v\b\vg\xc8\1\v\30\v'\0\v<(\t\35\t(\t\b\t\34\v\0\v\31\f\v\26\r\fM\f\r\26\v,\v\a\34\v&-\6-\34&\v\34\a\0'\26\r"
b"\f\v\26\f-\t\r\26'0\a\34\27\26\f\v-\27\34\aP'\0\a\34+\35\a\0'\x90\1+ +`")
# grande oie - retouchee a partir de : https://www.istockphoto.com/fr/vectoriel/dinde-r%C3%B4tie-pixel-art-r%C3%B4ti-pix%C3%A9lis%C3%A9-illustration-vectorielle-gm1340627324-420643187
L_OIEG,H_OIEG,C_OIEG,D_OIEG=40,23,(0,(0,0,0),(240,176,48),(224,100,24),(232,96,24),(240,132,64),(168,12,16),(112,168,40)),(b'\x88\2\1pA`\t\2\1X\tC\tH\1\32\1@\tS\4\x031\b\1\n\1\2\1\0\x010\1\3\f[\4\3\35\3\t\r\22\t\2\1 \1\f\x8b\x015\2\1"\1\20\1\xab\1%\21\n'
b'\1\2\1\20\1\x93\1e\n\1\20\1\x8b\1u\2\1\30\1+\rCu\t\30\1\4#\x153\4\xfd\0\1 \1#\35;u\1(\1#\25;\xfd\0\1(\1\33\35;u\x010\1\33\35;m\3\x010\1\33%3m\4\x010\1#%+e\v\18\1\33-+U\23\18\1#%3E\23\1H\1#\35C%+\1H\1\4\3\26\33\26#\26\33\26\3\4\18\1\17&\17&\27&\17&\17\1'
b'(\1\27&\17&\27&\17&\27\1\30')
# petite oie - retouchee a partir de : https://www.istockphoto.com/fr/vectoriel/dinde-r%C3%B4tie-pixel-art-r%C3%B4ti-pix%C3%A9lis%C3%A9-illustration-vectorielle-gm1347229568-424770354
L_OIEP,H_OIEP,C_OIEP,D_OIEP=21,11,(0,(0,0,0),(224,100,24),(248,192,48),(240,132,64),(240,136,40),(120,160,48),(176,4,16)),(b' )0\21\20\t*\t\30\1\v\1\b\1J\31\23\1\0\1J,\3\1\b\1\n\4"<\1\b\1\n\f"<\1\b\1\n\f\x1a4\5\1\20\1\n\24\x124\2\1\20\1\22\f\32$\2\1 \1B'
b'\f\32\1\30\1\6\17\6\17\6\17\6\17\6\17\6\1\b')
# cuisse d'oie # retouchee a partir de https://www.flaticon.com/fr/icone-gratuite/cuisse-de-poulet_411006
L_OIEC,H_OIEC,C_OIEC,D_OIEC=15,14,(0,(0,0,0),(248,244,200),(224,100,24),(240,132,64)),b"\b\1`\1\2\1P\1\22\1P\1\22!0\1\2\1#\t(\1;\1 \1C\1\30\1K\1\20\1K\1\20\1\v\x043\1\30\1\3\x043\1\30\1\v\4+\1 \1\v\f\3\4\v\1(\1+\1\0"
# buche - retouchee a partir de : https://openai.com/dall-e-2/
L_BUCHE,H_BUCHE,C_BUCHE,D_BUCHE=40,15,(0,(224,52,40),(16,120,64),(0,160,88),(224,144,240),(224,180,240),(232,236,240),(0,0,0),(176,4,24),(64,28,16),(88,60,48),(240,224,176),(160,76,72),(152,92,72),(184,176,176),(184,108,80)),(b"\x80\1\1\2\3@\4\5\0\2\3\2"
b"\6P\3\2\xb0\1'\0\1\b\t\3\22\a\0\1$2\a\1\6\n\a\23\x027`\a&\1\b\26'\6\1\b\6%\27\3\v\30\6'\x056\a@\aF\4V\5\b\24\5\4\26\5\4\30F\v\x0670\a\x065\x1b6\5\6\5\4\33\6\25\6\5\v&\5\6\5\6\a,\a \a\6\5\26\25\26\a\26\25\6\5&\4\26\5\n\6\25\26\v\a\6\a\r&\a\20\a\6\5\33\6"
b"\n\26\a\26\5\16&\36&\27\26\n\26\v\a\6\a\6\34\6\a\20\27\f\26\a\f\a\6\a\26\a\f\a\6\a\34\a\6\a\f\a\6\a\f\n\6\a\17\t\17\f\16\6\f\a\0\a\t\34\26\t\f\a\6\a\26\a\f\a\6\a\34\a\6\a\f\a\6\t\34\6\t\17\t\17\f\16\v\17\a\0\a?\a/\a\17\a\t/\a?\a/\a/\a\f\17\t\17\34\v\f"
b"\17\27\f\x8f\1\34O\35\xaf\1\r\t\r\16\6\r\6\17\27]\6\17\35\t\n\r\17\r\6m\t-\16-\a\r\26\16\6\17\27\35\16m\31\xad\1\tm\a=\6\t7\xfd\0\t\nm\17-\t-\17-\a\r\6\n\6\t\a \x87\4\33\a\20")
# tranche de buche - redessinee a partir de https://manufacturedupixel.com/buche-noel
L_BUCHET,H_BUCHET,C_BUCHET,D_BUCHET=11,7,(0,(0,0,0),(160,76,72),(184,108,80),(232,236,240),(184,176,176),(240,224,176)),b"\b)\30\1*\31\v$\v\t\3\2\5\22\5\6\3\t\3\2\5\2\6\4\5\6\3\t\v$\v\1\0\t&\t\0"
# foie gras - redessinee a partir de https://www.shutterstock.com/fr/image-vector/foie-gras-appetizer-icon-cartoon-vector-2171427293
L_FOIE,H_FOIE,C_FOIE,D_FOIE=17,12,(0,(0,0,0),(240,176,112),(248,196,136),(200,156,112),(240,156,88),(232,156,72),(240,168,88)),(b'\20Q \1\2K\1\b\t\v\4\v\4\3\f\33\1\0\1\5\1\2K\1\2\t\rQ\v\t\5\6\r\27\5"\v\t\35\37"\v\t\6\25\37"\v\t\6\25\x1f2\t\a\35\x172\t\2'
b'\6\25\x172\1\0\21\2\6\27\22\3\21\0')
# bonhomme pain d'epice - retouche a partir de : https://www.anyssa.org/classedesgnomes/wp-content/uploads/documents/francais/litterature/albums/bonhomme-pain-epice_pixel-art.pdf
L_BISCUIT,H_BISCUIT,C_BISCUIT,D_BISCUIT=12,16,(0,(0,0,0),(176,84,0),(232,224,144),(248,0,0),(0,128,0)),(b"\30\x190\1\32\1 \1*\1\30\1\2\1\n\1\2\1\30\1*\1\30\1\n\t\n\1\20\21\32\21\0\1\2\3\n\f\n\3\2\t\2\3*\3\2\1\0\t\n\r\n\t\20\1*\1\30\1\n\f\n\1\30\1*\1\30\1"
b"\v\t\v\1\30\1\n\t\n\1 \t\b\t\20")
# vase de fleurs - retouche a partir de : https://www.shutterstock.com/fr/image-vector/pixel-vase-wildflowers-clay-flower-pot-1781614178
L_VASE,H_VASE,C_VASE,D_VASE=25,47,(0,(0,0,0),(176,48,80),(208,236,224),(192,88,112),(88,240,240),(216,216,176),(232,208,40),(32,104,0),(200,188,136),(16,68,0),(96,56,112),(152,68,152),(176,120,176),(200,112,200),(64,44,88)),(b"\xb0\1!\xe0\1\1@\1\"\1\xc0"
b"\1\1\3\1 \x012\4\1\20\1\xf0\0\1\23\5\1\0\1\4\2\4\2\4\22\21\6\1P\21#!\22\24\"\1\26\3\x010\1\23'\23\1\22\4\22\4\2\1&\21\20\1#'#\1\b\4\b\2\b\3\6'\26\1\20\1\5\3'\23\1\0\1(\6\t\6'\6\t\6\1\20\21\5\23\n\1 \1\n\21\26'\3\6\x010\1\5\3\5\32\1\0\1\32\1\0\1\n\3\26"
b"\21P\1\3\21\n\1\0\1\n\1\0\1\32\3\26\1P\1\b\1\0\1\b\n\1\32\1\0\1\b\21\6\1`\1\b\n\21\n\b\1\32\21\n\b!\b\1P\1\bJ\bJ\b\21\n\b\1P\1\bZ\b:\b*\b\1`\1(\n\b*(:\b\1\xf0\0\1\v\1\n!J(\1\x80\1\1\xbb\1\21\x90\1\1\33\x8c\1\v\1\xa0\1\1\33\x8c\1\v\1\xa0\1\1+\\\r\33\1"
b"\xa0\1\1+,\16-\33\1\xb0\1\1\33,\16-\v\1\xc0\1\1\33,\16-\v\1\xc0\1\1\33,\16-\v\1\xd0\1\1\v,\36\r\v\1\xe0\1\1\v,\36\r\v\1\xd0\1\1\33\34.\r\17\v\1\xc0\1\1\33\34.\r\17\v\1\xc0\1\1\33,\16\35\17\v\1\xc0\1\1\33,\16\35\17\v\1\xb0\1\1+,\16\35\17\33\1\xa0\1\1+,"
b"\16\35\37\v\1\xa0\1\1\33<\16-\17\v\1\xa0\1\1\33<\16-\17\v\1\x90\1\1+L-\17\33\1\x80\1\1+L\16\35\37\v\1\x80\1\1\33\\\36\v\r\17\v\1\x80\1\1\33l\16\v\r\17\v\1\x80\1\1\33l\16\v\r\17\v\1\x80\1\1\33l\16\v\r\17\v\1\x80\1\1\33\\\36\r\17\33\1\x90\1\1+L\35\17\v\1"
b"\xa0\1\1+L\35\17\v\1\xa0\1\1+\\\37\v\1\xb0\1\1\33_\33\1\xd0\1\1\xfb\0\1\xf0\0")
# bouteille de champagne - retouchee a partir de : https://www.shutterstock.com/fr/image-vector/pixel-art-bottle-glass-jar-wine-1025910367
L_CHAMPAGNE,H_CHAMPAGNE,C_CHAMPAGNE,D_CHAMPAGNE=12,26,(0,(0,0,0),(232,208,168),(24,92,64),(48,136,72),(96,196,72),(16,56,64),(232,240,240)),(b' \t@\1\n\x010\1\32\1(\1\3\4\5\3\1(\1\3\f\3\x010\1\16\18\1\6\3\18\1\6\3\x010\1\6\23\1(\1\6\3\5\3\1 \1\6\v\5\v\1'
b'\30\1\6\23\5\3\1\20\1\6\3\26\5\6\3\1\b\1\6\3\26\5\6\3\1\b\1\6\3\26\5\6\3\1\0\1\6\x036\3\t\6\3\26\n\a\n\t\6\3\26\n\a\n\t\6\3\26\n\a\n\t\6\3\26\n\a\n\t\6\3\26\n\a\n\t\6\3\26"\t\6\x036\3\t\6\x036\3\t\6C\1\0\1>\1\0')
# bouteille de vin - retouchee a partir de : https://fr.123rf.com/photo_92573889_bouteille-de-style-de-jeu-r%C3%A9tro-vin-pixel-art-cartoon.html
L_VIN,H_VIN,C_VIN,D_VIN=7,18,(0,(40,40,40),(224,8,40),(32,28,32),(0,140,24),(40,228,80),(248,252,248),(248,236,104)),(b"\b\21\30\1\2\1\30\3\1\3\30\1\4\1\30\1\4\1\20\1\5\f\1\0\1\5\6\24\t\5\34!\f\t\6\a\1\f\t\6\a\1\f\t\6\a\1\f\t\6\a\1\f\t\6\a\1\f\t\6\a\1\f!"
b"\f\t\5\34\t\5\34\1")
# corbeille de fruits - retouchee a partir de : https://myloview.fr/papiers-peints-vecteur-pixel-art-panier-fruit-no-66B7069
L_FRUITS,H_FRUITS,C_FRUITS,D_FRUITS=48,26,(0,(0,0,0),(104,52,0),(192,156,24),(176,128,80),(240,180,128),(224,0,0),(120,132,0),(176,196,16),(224,160,168),(104,152,112),(248,120,152),(80,172,64),(232,108,0),(216,196,104)),(b"\x80\2A \2\xd0\x011\x90\2!C!\2"
b"\21\0\21\xf0\0\x014\x010!\x80\1\1\23\25\23\21&\2\26\1\23\1P\1\4!\24\1\20\1$\1@A3\1\x86\1\1\23\x010\1\4\1 \1\24\1\0\1\4\1\24\1\20\21\27(\21\3\1&\31FA\20\1\4\1@\1\24\21\4\21\4\1\0\1\b78\21&\31F\x015Q@\1\4\21\4\21\24\1\b7X\1\x96\1\1\5!Z\x010\1\4\21\24\21"
b"\4\1\30\27h\1\x96\1\21+\1Z\1 \1\4\1\0\1\4\21\4\1\xa8\x011V\1[\1J\1\20\1\24\1\0\1\24!\x98\1\1<\x016\1\v\31K\1:!\24\1 \1\4\1\5\1\xf8\0\21\r\21\f!&\1\v\31K\1:\1\5\1\4\1@\21\4\1h\1=\1\f\1\35\1\6\1\x8b\1\1:\1\4\21`\1\4\5\1H\1\35\25\35\21-\21\x8b\1\1*\1\5\4"
b"\1\xf0\0\1\24\5\1(\1-\25\xfd\0\1\36[\1*\1\5\24\1\x80\1\1\24\5\21\b\1\xbd\1\1>K\1\n\21\5\24\1\x90\1\1$\25!\xad\1\1\16\3.+!\25$\1\xa0\1\x014%QM\1\36Q%4\1\xc0\1\1TU\xf1\0UT\1\xd0\1!\x94\1\xf5\0\x94\1!\xe0\1\1\2\21\xf4\2\21\4\1\x80\2\1\2\x041\xf4\x011\2\4"
b"\1\xa0\2\1\2\4\2\4\2ATA\4\2\4\2\4\1\xc0\2\1\2\4\2\4\2\4\2\4\2Q\4\2\4\2\4\2\4\2\4\1\xe0\2\21\4\2\4\2\4\2\4\2\4\2\4\2\4\2\4\2\4\2\4\2\21\x90\3\21\2\4\2\4\2\4\2\4\2\4\2\4\2\4\2\4\21\xd0\x031\4\2\4\2\4\2\4\x021\xf0\1")

# CODE PRINCIPAL
defil_vert, vx, vy, x_ref, x_ref_end, y_fuite, y_end, x1_pplan_piece = 0, 1, -1, -2 * W_PIECE, W - W_PIECE + 1, H // 2, H // 4, round(-1.73 * W_PIECE); x_end = x_ref_end
while 1:
  if defil_vert and y_fuite == y_end: y_end = randint(1, H - 2); vx, defil_vert = sign(x_end - x1_pplan_piece), 0
  elif not defil_vert and x1_pplan_piece == x_end: x_end = randint(-2 * W_PIECE, W + W_PIECE); vy, defil_vert = sign(y_end - y_fuite), 1
  if not defil_vert: x1_pplan_piece += vx
  else: y_fuite += vy
  trash, x2_pplan_piece, y1_pplan_piece, y2_pplan_piece, xf_piece = None, x1_pplan_piece + W_PIECE - 1, 0, H_PIECE - 1, round(W * .875 * (x1_pplan_piece - x_ref) / (x_ref_end - x_ref)) # calculs 3D
  ly1x, ly2x = fuite(y1_pplan_piece, x1_pplan_piece, x2_pplan_piece, y_fuite, xf_piece, L_ZFACT), fuite(y2_pplan_piece, x1_pplan_piece, x2_pplan_piece, y_fuite, xf_piece, L_ZFACT) # plafond + sol
  lx1y, lx2y = fuite(x1_pplan_piece, y1_pplan_piece, y2_pplan_piece, xf_piece, y_fuite, L_ZFACT), fuite(x2_pplan_piece, y1_pplan_piece, y2_pplan_piece, xf_piece, y_fuite, L_ZFACT) # murs gauche + droite
  x1_dplan_piece, x2_dplan_piece, y1_dplan_piece, y2_dplan_piece = getx(I_PIECE_DP, 0), getx(I_PIECE_DP, 1), gety(I_PIECE_DP, 0), gety(I_PIECE_DP, 1)
  clear_screen() # sol enneige
  fill_rect(0,0,W,y_fuite,(16,18,64)) # fond
  fill_trapeze_horizontal(y2_pplan_piece, x1_pplan_piece, x2_pplan_piece, y2_dplan_piece, x1_dplan_piece, x2_dplan_piece, C_SOL_INT) # sol interieur
  draw_foret(0) # foret en arriere plan
  x1_porte, x2_porte, y1_porte, y2_porte = repos(x1_dplan_piece, x2_dplan_piece, .625, .125) + repos(y1_dplan_piece, y2_dplan_piece, .25, 0)
  fill_rect(x1_dplan_piece, y1_dplan_piece, x1_porte - x1_dplan_piece, y2_dplan_piece - y1_dplan_piece + 1, C_FOND_INT)
  fill_rect(x2_porte + 1, y1_dplan_piece, x2_dplan_piece - x2_porte, y2_dplan_piece - y1_dplan_piece + 1, C_FOND_INT)
  fill_rect(x1_porte, y1_dplan_piece, x2_porte - x1_porte + 1, y1_porte - y1_dplan_piece, C_FOND_INT)
  draw_murforet(-1) # mur + foret de gauche
  fill_trapeze_horizontal(y1_pplan_piece, x1_pplan_piece, x2_pplan_piece, y1_dplan_piece, x1_dplan_piece, x2_dplan_piece, C_SOL_INT) # plafond
  c_tapis, lx_pplan, lx_dplan = [(255,255,0),(102,0,0)]*2, [], [] # tapis
  y_pplan_tapis, x1_pplan_tapis, x2_pplan_tapis, y_dplan_tapis, x1_dplan_tapis, x2_dplan_tapis = gety(I_TAPIS_PP, 1), getx(I_TAPIS_PP, 0), getx(I_TAPIS_PP, 1), gety(I_TAPIS_DP, 1), getx(I_TAPIS_DP, 0), getx(I_TAPIS_DP, 1)
  for k in range(4): z = .1 + k*.05; lx_dplan.append(repos(x1_dplan_tapis, x2_dplan_tapis, z, z)); lx_pplan.append(repos(x1_pplan_tapis, x2_pplan_tapis, z, z))
  for k in range(3):
    fill_trapeze_horizontal(y_dplan_tapis, lx_dplan[k][0], lx_dplan[k+1][0], y_pplan_tapis, lx_pplan[k][0], lx_pplan[k+1][0], c_tapis[k])
    fill_trapeze_horizontal(y_dplan_tapis, lx_dplan[k+1][1], lx_dplan[k][1], y_pplan_tapis, lx_pplan[k+1][1], lx_pplan[k][1], c_tapis[k])
  fill_trapeze_horizontal(y_dplan_tapis, lx_dplan[3][0], lx_dplan[3][1], y_pplan_tapis, lx_pplan[3][0], lx_pplan[3][1], c_tapis[1])
  draw_guirlande(y1_dplan_piece, x1_dplan_piece, x2_dplan_piece - 1, N_FESTONS, round(H_FESTON*L_ZFACT[I_PIECE_DP])) # guirlande au plafond au dernier plan
  y_sapin, x1_sapin, x2_sapin = gety(I_SAPIN, 1), getx(I_SAPIN, 0), getx(I_SAPIN, 1) # sapin decore au fond de la piece
  x1_sapin += ((x2_sapin - x1_sapin + 1) * .625 - L_SAPIND) // 2
  draw_image(D_SAPIND, x1_sapin, y_sapin - H_SAPIND, L_SAPIND, C_SAPIND)
  y_pplan_table, y_dplan_table, h_dplan_table, h_pplan_table = [gety(I_TABLE_PP, 1), gety(I_TABLE_DP, 1)] + [(gety(i, 1) - gety(i, 0)) * 26 // 100 for i in (I_PIECE_DP, I_PIECE_PP)]
  yh_pplan_table, yh_dplan_table = y_pplan_table - h_pplan_table, y_dplan_table - h_dplan_table
  lh = [0, 1]
  for h in x2_pplan_piece < x2_dplan_piece and lh.reverse() or lh:
    if h:
      lv = [0, 1]
      for v in yh_dplan_table >= yh_pplan_table and lv.reverse() or lv:
        if v: draw_repas() # assiettes + objets sur la table
        else: draw_table(y_pplan_table, y_dplan_table, h_pplan_table, h_dplan_table) # table
    else: draw_murforet(1) # mur + foret de droite
  draw_guirlande(y1_pplan_piece, x1_pplan_piece, x2_pplan_piece - 1, N_FESTONS, H_FESTON) # guirlande au plafond au premier plan
  show_screen()
Télécharger




Hors concours Graph 90+E - Menu en anaglyphe - Cirekraft/Schraf

Go to top

1637616377Voici maintenant Eric Schrafstetter (alias cirekraft chez nous ou schraf sur les réseaux sociaux), qui te partage la carte de son menu mais en anaglyphe rouge-bleu.

Une nouvelle fois nous avons donc du relief. Le script s'appuie de nouveau sur casioplot. Si tu retrouves la bonne paire de lunettes, tu pourras donc voir littéralement flotter le menu devant ton écran !
Code: Tout sélectionner
from casioplot import *

CYAN = (112, 216, 200)
ROUGE = (248, 148, 120)
GRIS = (160, 120, 56)
BLC = (255, 255, 255)

def rect(x, y, l, h, z, coul):
  for i in range(l * h):
    c = get_pixel(x + z + i % l, y + i // l)
    if c != GRIS and c != coul:
      set_pixel(x + z + i % l, y + i // l, coul if c == BLC else GRIS)

def dessin(x, y, z, l, h):
  rect(x, y, l, h, 0, ROUGE)
  rect(x, y, l, h, z, CYAN)

def txt3d(txt, x, y, z, t, taille="medium"):
  h = 170
  draw_string(0, h, txt, GRIS, taille)
  for c in range(0, 150):
    for l in range(h, 190):
      if get_pixel(c, l)[0] < 255:
        dessin(x + 2 * c, y + 2 * l - 337, z, t, t)
  draw_string(0, h, txt, BLC, taille)

clear_screen()
txt3d("*      *", 40, 0, 30, 4, "large")
txt3d("  MENU", 40, 0, 50, 4, "large")
txt3d("Huitres", 10, 48, 20, 2, "small")
txt3d("Amuse-bouche", 43, 75, 50, 2)
txt3d("Dinde aux marrons", 10, 110, 10, 2, "small")
txt3d("Buche", 210, 135, 50, 3)
txt3d("Champagne", 20, 144, 30, 3, "small")
show_screen()
Téléchargement




Classe Graph 90+E - grande table de Noël - cent20

Go to top

16378Et voici maintenant cent20 et son groupe de disciples au Lycée Louis Pasteur à Avignon, déjà grands gagnants lors de l'édition précédente.

Contrairement à l'année dernière, son équipe de choc de cette année ne s'appuie pas sur la bibliothèque turtle mais casioplot, ce qui lui permet d'aller beaucoup plus loin dans les effets visuels et la finition.

Les différents élèves ont donc conçu des sprites à afficher sur une scène de table de Noël, en se basant sur la technique exposée lors de notre atelier jeu vidéo en novembre dernier.

Mais laissons de suite le poète Adam Y. te décrire la scène en alexandrins :
Adam Y. a écrit:En ce jour de Noël est dressée la grand table ;
Friandise et champagne accompagne à l’oubli
Et la bûche enivrant dont le goût est affable
Resplendit sous l’éclat rutilant des bougies.

Tout convive a pris place et festoie du repas ;
Les présents emballés sont légués à autrui.
Enjoués, ces gens rient, réjouis de leurs plats ;
On entend un grelot résonner dans la nuit.


Rendons à César ce qui est à César, créditons correctement les 21 artistes dont les œuvres apparaissent sur le rendu final :
  • Adam Y. : chandelle
  • Thomas S. : bouteille de champagne
  • Sylvain B. : bol de chocolats
  • Alexis M. : tasse chocolat chaud
  • Mathis L. : cadeau de Noël emballé
  • Justine C. : Joyeux Noël en texte en pixel art
  • Julien R. : un calisson
  • Ilana R. : couronne de Noël
  • Coline R. : truffe en chocolat
  • Antoine R. : bouteille de vin
  • Anna C. : sucre d'orge
  • Anthony F. : cadeau de noel jaune et rouge
  • Neila S. : chaussette de noel
  • Florian G. : un petit Papa Noël
  • Robin C. : houx de Noël
  • Samuel V. : un bonhomme de neige
  • Merlin C. : un sapin
  • Ilyas R. : une bûche de Noël
  • Raphael C. : bonhomme en pain d'épice
  • Raphaël M. : une horloge digitale qui affiche 20h22 façon Casio F91W mais affiché au mur (mais quel coquin, le clin d'œil qui ne passera sûrement pas inaperçu ;) )
  • Sybil L. : bougie

Ayons également une pensée pour 10 autres élèves qui ont eux aussi produit des éléments dont l'intégration au script n'a pas été possible :
  • Matheo L. : étoile
  • Aurélien B. : étoile
  • Sarah V. : flocon de neige
  • Rayan C. : bonhomme de neige
  • Romeo B. : bonnet de Noël
  • David G. : oreillettes
  • Bilal L. : guirlandes
  • constance A. : un saumon sous forme de poisson
  • Romain L. : chandelier
  • Noah M. : bougies
Bravo à toutes et à tous, c'est superbe cette année, encore plus que l'année dernière ! :D
Code: Tout sélectionner
# Participation au jeu concours de Noël 2022 de Casio

from casioplot import *
from random import randint

"""
Catégorie Classe : Elèves du Lycée Louis Pasteur d'Avignon
Professeurs : Vincent ROBERT, Raphaël CLEMENTE
Elèves : 31 élèves citées dans ce document, sous la forme Prénom N.
https://www.casio-education.fr/actualites/jeu-concours-casio-de-noel/
"""

# Des objets préparés et codés en pixel art
"""
Nous avons découvert lors de l'atelier
CRÉER UN JEU VIDÉO AVEC LES CALCULATRICES GRAPHIQUES de novembre 2022
> https://www.casio-education.fr/contenus/creer-un-jeu-video-avec-les-calculatrices-graphiques/
une technique de codage basé sur du pixel Art. Nous remercions à ce propos les animateurs de cet atelier,
Xavier Andreani (tiplanet.org) et Sebastien Michelland (planet-casio.com) tant pour la qualité de la présentation
que pour l'aide inestimable que cette formation a été pour nous.
Une "orange" codée avec cette technique fut envoyé aux élèves.
vr_orange_color = {
    " " : (255, 255, 255), # transparence
    "#" : (241, 149, 11), # ecorce #f6b26
    "." : (247, 178, 107), # anti crénelage #f1950b
    "A" : (235, 156, 36), # dégradé 1 #eb9c24
    "B" : (237, 176, 41), #dégradé 2 #edb029
    "C" : (241, 194, 50), # centre #f1c232
    }
vr_orange_image = [
    "  .##.  ",
    " ##AA## ",
    ".#ABBA#.",
    "#ABCCBA#",
    "#ABCCBA#",
    ".#ABBA#.",
    " ##AA## ",
    "  .##.  ",]   
Les volontaires eurent donc la mission de choisir un objet, de le coder.
Chaque élève qui a participé a rendu une liste et un dictionnaire python.
Ces deux objets permettent de générer une image.
Un groupe de pilotage de 3 élèves et d'un professeur realisa la composition finale :
- selectionner les images qui seront dans la composition,
- Placer les objets,
- Ecrire une histoire,
- Ajouter des élèments pour améliorer la cohérence de l'ensemble.
Groupe de pilotage : Ilana R., Adam Y, Ilyas R., Vincent ROBERT
"""

# L'histoire par Adam Y.
"""
En ce jour de Noël est dressée la grand table ;
Friandise et champagne accompagne à l’oubli
Et la bûche enivrant dont le goût est affable
Resplendit sous l’éclat rutilant des bougies.

Tout convive a pris place et festoie du repas ;
Les présents emballés sont légués à autrui.
Enjoués, ces gens rient, réjouis de leurs plats ;
On entend un grelot résonner dans la nuit.
"""

# Les images codées par les élèves de ligne 64 à la ligne 1010.

"""==================================
   Une chandelle par Adam Y.
   =================================="""

ay_chandelle_color = {
    " " : (255, 255, 255), # transparence
    "#" : (195, 195, 195), # contour gris
    "." : (230, 230, 230), # anti-crénelage gris
    "A" : (254, 254, 254), # cire blanche
    "B" : (210, 200, 40), # contour jaune flamme
    "C" : (200, 110, 40), # intérieur orange flamme
    "D" : (200, 20, 40), # centre rouge flamme
    "-" : (250,240,80), # anti-crénelage jaune
    }

ay_chandelle_image1 = [
    "  -B-   ",
    "   -B-  ",
    "  -BBB  ",
    "  BCCB  ",
    "  CDDC  ",
    ".##DD#. ",
    "#..##.#.",
    "#.A##A.#",
    ".#.AAA.#",
    " ######.",
    " #AAAA# ",
    " #AAA.# ",
    ".#.AA.# ",
    "#.....#.",
    "#......#",
    ".######.",]

ay_chandelle_image2 = [
    "            ",
    "   -BB-     ",
    "    BBB-    ",
    "    -BBB-   ",
    "   -BBCBB   ",
    "   BCCCCB   ",
    "   CCDDCC   ",
    "  #CDDDDC#",
    " .##DDDD##. ",
    "##..####.## ",
    "##.A####AA##",
    " ##.AAAAA.##",
    " .##.AAA.## ",
    "  ########. ",
    "  ########  ",
    "  ##AAAA##  ",
    " .##AAAA##  ",
    " ##.AAA.##. ",
    "##...AA..## ",
    "##........# ",
    " ##......## ",
    " .########. ",
    "   ######   ",
    "            ",]


"""========================================
   Une bouteille de champagne par Thomas S.
   ========================================"""

ts_bouteille_champagne_color = {
    " " : (255, 255, 255), # transparence
    "#" : (0, 0, 0), # noir
    "." : (255, 180, 0), # doré
    "F" : (2, 51, 7), # vert foncé
    "D" : (2, 80, 7), # dégradé vert
    "V" : (5, 110, 15), # vert
    "A" : (100, 152, 105), # dégradé vert clair pour étiquette
    "Z" : (74, 105, 77), # dégradé vert foncé pour étiquette
    "E" : (195, 195, 195), # Gris/Blanc étiquette
    "J" : (255, 255, 0), # Jaune
    "K" : (239, 206, 37), # Doré clair
    "L" : (255, 190, 0), # Nuance de doré 1
    "M" : (253, 190, 40), # Nuance de doré 2
    "H" : (221, 212, 0) # Nuance du jaune (pour écran)
    }

ts_bouteille_champagne_image = [
    "      ########      ",
    "     ##########     ",
    "    ###KKKKKK###    ",
    "    ##KKKKKKKK##    ",
    "   ###KKLLLLKK###   ",
    "   ##KKLHHHHLKK##   ",
    "   ##KKLHHHHLKK##   ",
    "   ##KKLLLLLLKK##   ",
    "   ##KKLKKKKLKK##   ",
    "   ##KKLKLKMLKK##   ",
    "   ##KKLLLLKLKK##   ",
    "   ##KKLKLKKLKK##   ",
    "   ##KKKLLLLKKK##   ",
    "   ###KKKKKKKK###   ",
    "    ##..KKKK..##    ",
    "    ###..KK..###    ",
    "     ##.KKKK.##     ",
    "     ##......##     ",
    "     ##......##     ",
    "     ##..J..J##     ",
    "     ##.J.J.J##     ",
    "     ##.J..JJ##     ",
    "     ##..J..J##     ",
    "     ##......##     ",
    "     ##..JJJJ##     ",
    "     ##...J..##     ",
    "     ##.JJJ..##     ",
    "     ##......##     ",
    "     ##.JJJJJ##     ",
    "     ##.J.J.J##     ",
    "     ##.J.J.J##     ",
    "     ##.JJJJJ##     ",
    "     ##......##     ",
    "     ##.....J##     ",
    "     ##.JJJJJ##     ",
    "     ##..J..J##     ",
    "     ##......##     ",
    "     ##......##     ",
    "     ###....###     ",
    "     ####..####     ",
    "     ##.####.##     ",
    "     ###.##.###     ",
    "    ##F##..##F##    ",
    "    ##FF####FF##    ",
    "   ##FFVF##FVFF##   ",
    "   ##FVVVFFVVVF##   ",
    "  ##FFVVVVVVVVFF##  ",
    "  ##FVVVVVVVVVVF##  ",
    " ##FFVVVVVVVVVVFF## ",
    " ##FVVVVVVVVVVVVF## ",
    " ##FVVVVVVVVVVVVF## ",
    "##FFVVVVVVVVVVVVFF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##FVVVVVVVVVVVVVVF##",
    "##ZAVVVVVVVVVVVVAZ##",
    "##ZAAAVVVVVVVAAAAZ##",
    "##ZEEAAAAAAAAAEEEZ##",
    "##ZEEEEEEEEEEEEEEZ##",
    "##ZEEE#EEEEEEEEEEZ##",
    "##ZEE#######EE#EEZ##",
    "##ZEEEEEE##E###EEZ##",
    "##ZEEEEEEEEEEEEEEZ##",
    "##ZEEEEEEEEEEEEEEZ##",
    "##ZEEEEEEEEE#EEEEZ##",
    "##ZEE##########EEZ##",
    "##ZEEEE##EEEEEEEEZ##",
    "##ZEEEEEEEEEEEEEEZ##",
    "##ZAAEEEEEEEEEEAAZ##",
    "##FVAAAEEEEEAAAAVF##",
    "##FDVVAAAAAAAVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDVVVVVVVVVVVVDF##",
    "##FDDVVVVVVVVVVDDF##",
    "##FDDVVVVVVVVVVDDF##",
    "##FFDVVVVVVVVVVDFF##",
    "##FFDDVVVVVVVVDDFF##",
    "##FFFDDDVVVVDDDFFF##",
    "###FFFFDDDDDDFFFF###",
    " ###FFFFFFFFFFFF### ",
    "  ################  ",
    "    ############    ",
    ]

"""========================================
   Un bol de chocolats par Sylvain B.
   ========================================"""

sb_bol_de_chocolat_color = {
    " " : (255, 255, 255),
    "#" : (225, 225, 225),
    "." : (233, 233, 233),
    "/" : (215, 215, 215),
    "A" : (102, 64, 43),
    "B" : (111, 75, 55),
    "C" : (141, 112, 96),
    }

# L"image codée dans un tableau, ce que vous devrez modifier, y compris le nom.
sb_bol_de_chocolat_image = [
    " BCBBBCC  CBBB C  ",
    ".#AABBAABAAAAAC/#.",
    "..#//AABBABBB//#..",
    " .##//////////##. ",
    " ..##////////##.. ",
    "  ..##//////##..  ",
    "   ..###//###..   ",
    "    ...####... BB ",
    "      ......  CCAB",]


"""==========================================
   Une tasse de chocolat chaud  par Alexis M.
   =========================================="""

am_chocolatchaud_color = {
    " " : (255, 255, 255), # transparence
    "#" : (25, 10, 190), # rouge foncé #9a0200
    "." : (71, 38, 242), # anti crénelage #db5856
    "A" : (100, 10, 242), # rouge pale #ef4026
    "B" : (150, 81, 18), #chocolat #7f5112
    "C" : (216, 220, 214), # fumée grise #d8dcd6
    "O" : (240, 240, 240), # fumée blanche #d8dcd6
    }
am_chocolatchaud_image = [
     "                    ",
     "           O        ",
     "           OO       ",
     "          OOO       ",
     "        OOOOOC      ",
     "       OOOOOCC      ",
     "       OOOOCCC      ",
     "      OOOOCC        ",
     "      OOOCCC        ",
     "     OOOCC     O    ",
     "     OOCC    OOOC   ",
     "     OCC    OOCC    ",
     "      C     OCC     ",
     "            C       ",
     "                    ",
     "  .AAAAAAAAAAA.     ",
     "  ABBBBBBBBBBBA     ",
     " AAABBBBBBBBBA# A#A ",
     " AAAAAAA########  ##",
     " AAAAAAAAAA#####   #",
     " AAAAAAAAAA#####  # ",
     " AAAAAAAAAAA###  #  ",
     " .AAAAAAAAAA### #   ",
     "  AAAAAAAAA#####    ",
     "  AAAAAAAAA###      ",
     "  .AAAAAA####       ",
     "   AAA#######       ",
     "   .AAAAA###        ",
     "                    ",]


"""=======================
   Un cadeau par Mathis L.
   ======================="""

ml_cadeau_color = {
    " " : (255, 255, 255), # transparence
    "B" : (21, 30, 129), # bleu face #151ee5
    "A" : (21, 22, 190), # bleu côté #1516be
    "C" : (51, 71, 222), # haut #3347de
    "D" : (228, 229, 25), # ruban #e4e519
    "E" : (201, 204, 25), # noeud #c9cc19
    }
ml_cadeau_image = [
    "        EE EE       ",
    "       E  E  E      ",
    "       E  E  E      ",
    "       E  E  E      ",
    "BBCCCCCCEDEDECCC    ",
    "BBBBDDDDDEEEDDDDDD  ",
    "BBBDBBCCCCCDDDCCCCCC",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    "BBBDBBBAAAAADDDAAAAA",
    " BBDBBBAAAAADDDAAAAA",
    "   DBBBAAAAADDDAAAAA",
    "     BBAAAAADDDAAAAA",]

"""=======================
   Joyeux Noel par Justine C.
   ======================="""

jc_joyeuxnoel_image = [
    "          RRRR                                                                                             RR                     R R        RB       ",
    "        RR  R                               RRRRR                                              RR         R RB                              RB        ",
    "      RR   RB       RB      R       R      RR   RB     R        R   RR      RB                R  R       R  RB        RB         RRRRR      RB        ",
    "     RB   RB        RRRR   RB      RB     RR     RB   R        RR    RB    RB                R   RB      R  RB        RRRR      RR   RB     RB        ",
    "    RB    RB    RR   R     BB      RB    RB      RB   R        BB     RB   R                      RB    R  RRB    RR   R       RB     RB   RB         ",
    "    RB    RB   RB    RR   RB       RB R  RB      RB  RB       RB       RB R                       RR    R  RBB   RB    RR     RB      RB   RB         ",
    "     RR   RB  RB      RB  RB      RRB  RRR      RB   RB       RB       RRBR                        RB   R  RB   RB      RB R  RB      RB   RB         ",
    "      R   RB  RB      RB  RB      RRB   RBR     R    RB       RB        RB                         RB  R   RB   RB      RB  RRR      RB    RB         ",
    "          RB RB       RB  RB      RRB   RB RRRRR     RB      RRB        RRB                        RB  R   RB  RB       RB   RBR    RR     RB         ",
    "          RB RB       RB  RB     R RB   RB           RB      RRB       R RB                        RB  R   RB  RB       RB   RB RRRRR      RB         ",
    "          RB RB       RB  RB     R RB   RB           RBB     RRB       R  RB                       RB R    RB  RB       RB   RB            RB         ",
    "          RB RB      RB   RB    R  RB    RB      R    RB    R RB      R   RB                       RRRB    RB  RRB     RB    RB            RB         ",
    " RR      RRB  BB     R     B   R   RB    RB     R     RBB  R  RBB    R     RB                      RRR     RRB  RB     R      BB      R    RB         ",
    "RB       RB    RR   RB     RB R   RR      BB   R       RBBB    RB   R       R  R                   RRB      RB   RB   RB      RB     R     RB     R   ",
    "RB      RRB     RRRR        RR   RRRR      RRRR         RR     RB            RR                    RB       RB    RRRR         RB   R      RRB   R    ",
    "R       RB                     RR RB R                          RBR                               RRB       RB                  RRRR        RRB R     ",
    "R       R                    RR  RB   R                         RR                                RB        RB                               RRR      ",
    " R     RB                   R    RB                                                               RB         R                                        ",
    "  R   RR                    R   RB                                                               RB          RB R                                     ",
    "   RRR                       RRRB                                                                RB           RR                                      ",]

jc_joyeuxnoel_color = {
    " " : (255, 255, 255), #transparence
    "R" : (230, 20, 40), #rouge
    "B" : (170, 40, 20), #bordeau
    }

"""=======================
   Un calisson par Julien R.
   ======================="""

jr_calisson_color = {
    " " : (255, 255, 255), # transparence
    "W" : (254,254,211), # blanc #fefefe
    "C" : (247, 178, 107), # crème de calisson #f7b232
    }

jr_calisson_image = [
    "    WWWW    ",
    "  WWWWWWWW  ",
    " WWWWWWWWWW ",
    " CWWWWWWWWC ",
    "  CCWWWWCC  ",
    "    CCCC    ",]

"""=================================
   Une couronne de Noel par Ilana R.
   ================================="""

ir_couronne_color = {
    " " : (255, 255, 255), # transparence
    "V" : (9, 88, 49), # vert foncé
    "v" : (50, 180, 80), # vert clair
    "R" : (255, 35, 30), # rouge foncé
    "r" : (240, 90, 80), # rouge clair
    "O" : (240, 150, 80), # orange
    "B" : (70, 110, 240), # bleu foncé
    "b" : (70, 145, 240), # bleu clair
    "C" : (125, 210, 245) # bleu tres clair
    }

ir_courone_image = [
    "             RRRR        RRRR             ",
    "            RrrrOR      RrOOOR            ",
    "            RrrrrOR    RrrrrOR            ",
    "            RrrrrrORVVRrrrrrOR            ",
    "           VRrrrrrrrRRrrrrrrrRV           ",
    "         VVvvRrrrrrROORrrrrrRvvVV         ",
    "        VvvvvvRrrrRrrOORrrrRvvvvvV        ",
    "       VvvvvvvvRRRRrrrORRRRvvvvvvvV       ",
    "      VvvvvvvvvRrrORrrRrrrRvvvvvvvvV      ",
    "     VvvvvvvvvRrrrrORRrrrrrRvvvvvvvvV     ",
    "    VvvvvvvvvRrrrrrrRRrrrrrORvvvvvvvvV    ",
    "   BBBBvvvvvRrrrrrrrRRrrrrrrORvvvvvvvvV   ",
    "  BbbCCBvvvRRRRRrrrR  RrrrRRRRRvvvvvvvV   ",
    " BbbbbbCBvvV   RrrR    RrrR   VvvvvvvvvV  ",
    "BbbbbbbbCBV    RrR      RrR    VvvvvvvvV  ",
    "BbbbbbbbCBV    RR        RR    VvvvvvvvvV ",
    "BbbbbbbbbB                      VvvBBBBvV ",
    "BbbbbbbbbB                      VvBbbCCBV ",
    " BbbbbbbB                        BbbbbbCB ",
    " VBbbbbBV                       BbbbbbbbCB",
    " VvBBBBvV                       BbbbbbbbCB",
    " VvvvvvvV                       BbbbbbbbbB",
    " VvvvvvvV                       BbbbbbbbbB",
    " VvvRRRRV                        BbbbbbbB ",
    " VvRrrOOR                        VBbbbbBV ",
    " VRrrrrrOR                       VvBBBBvV ",
    " RrrrrrrrOR                      VvvvvvvV ",
    " RrrrrrrrOR                      VvvvvvvV ",
    " RrrrrrrrrR                     VvvvvvvvV ",
    " RrrrrrrrrR                    RRRRvvvvvV ",
    " VRrrrrrrR                    RrrOORvvvvV ",
    "  VRrrrrRvV                  RrrrrrORvvV  ",
    "  VvRRRRvvvV                RrrrrrrrORvV  ",
    "   VvvvvvvvBBBB             RrrrrrrrORV   ",
    "   VvvvvvvBbbCCB          VVRrrrrrrrrRV   ",                 
    "    VvvvvBbbbbbCBVVVVVVVVVvvRrrrrrrrrRV   ",           
    "     VvvBbbbbbbbCBvvvvvvvvvvvRrrrrrrR     ",           
    "      VvBbbbbbbbCBvvvvvvvvvvvvRrrrrR      ",         
    "       VBbbbbbbbbBvvvvvvvvvvvvvRRRR       ",
    "        BbbbbbbbbBvvvvvvvvvvvvvvvV        ",
    "         BbbbbbbBvvvvvvvvvvvvvvVV         ",
    "          BbbbbBvvvvvvvvvvvvvVV           ",
    "           BBBBVVVVVVVVVVVVVV             ", ]

"""========================
   Une truffe par Coline R.
   ========================"""

cr_truffeenchocolat_color = {
    " " : (255, 255, 255), # transparence
    "#" : (139,69,19),
    "." : ((160,82,45)),
    "A" : (170,105,30), # dégradé 1
    "B" : (205,133,63), #dégradé 2
    "C" : ((224,164,96)), # centre
    }

cr_truffeenchocolat_image = [
    "  .##.  ",
    " ##AA## ",
    ".#ABBA#.",
    "#ABCCBA#",
    "#ABCCBA#",
    ".#ABBA#.",
    " ##AA## ",
    "  .##.  ",]

"""===================================
   Une bouteille de vin par Antoine R.
   ==================================="""

ar_vin_color = {
    "T" : (255,255,255),
    "F" : (41,5,19),
    "V" : (84,11,40),
    "C" : (255,171,221),
    "J" : (243,255,130),
    "O" : (232,194,67),
    "M" : (158,93,36),
    "N" : (0,0,0),
    }

ar_vin_image = [
    "TTTTTTTNNNNNNTTTTTTT",
    "TTTTTTTNMJJJNTTTTTTT",
    "TTTTTTTNJMMJNTTTTTTT",
    "TTTTTTTNJJJMNTTTTTTT",
    "TTTTTTTNMJJJNTTTTTTT",
    "TTTTTTTNJMMJNTTTTTTT",
    "TTTTTTTNJJJMNTTTTTTT",
    "TTTTTTTNMJJJNTTTTTTT",
    "TTTTTTTNJMMJNTTTTTTT",
    "TTTTTTTNJJJMNTTTTTTT",
    "TTTTTTTNJJJJNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTTNVVVVNTTTTTTT",
    "TTTTTTNVVVVVVNTTTTTT",
    "TTTTTNVVVVVVVVNTTTTT",
    "TTTTTNVVVVVVVVNTTTTT",
    "TTTTNVVVVVVVVVVNTTTT",
    "TTTNVVVVVVVVVVVVNTTT",
    "TTTNVVVVVVVCVVVVNTTT",
    "TTTNVVVVVVVCVVVVNTTT",
    "TTTNVVVVVVVCCVVVNTTT",
    "TTNVVVVVVVVCCCVVVNTT",
    "TTNVVVVVVVVVCCCVVNTT",
    "TNVVVVVVVVVVCCCVVVNT",
    "TNVVVVVVVVVVCCCCVVNT",
    "TNVVVVVVVVVVVCCCVVNT",
    "TNVVVVVVVVVVVCCCVVNT",
    "NVVVVVVVVVVVVCCCVVVN",
    "NVVVVVVVVVVVVVCCVVVN",
    "NVVVVVVVVVVVVVVCVVVN",
    "NVVVVVVVVVVVVVVCVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NJJJJJJJJJJJJJJJJJJN",
    "NJJJJJMMMMMMMMMMMMMN",
    "NJJJJJJJJJJJJJJJJJJN",
    "NJJMJJJJJJJJJMJJJMJN",
    "NJJMJJJJJJJJJMJMJMJN",
    "NJMMJJJJMJJJJMJMJMJN",
    "NJJMJJJJMMJJJJMJMJJN",
    "NMMMJJJJMMMJJJJJJJJN",
    "NJJMJJJJMMJJMMMMMJJN",
    "NOMMJJJJMJJMJJJJMMMN",
    "NOJMJJJJJJJMJMJJJJJN",
    "NOJMJJJJJJJJMJJJJJJN",
    "NOOJJJJJJJJJJJJJJJJN",
    "NOOOJJMMMMMMMMMMMMMN",
    "NOOOOOOOOJJJJJJJJJJN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NVVVVVVVVVVVVVVVVVVN",
    "NFVVVVVVVVVVVVVVVVVN",
    "NFVVVVVVVVVVVVVVVVVN",
    "NFVVVVVVVVVVVVVVVVVN",
    "NFVVVVVVVVVVVVVVVVVN",
    "NFFVVVVVVVVVVVVVVVVN",
    "NFFFVVVVVVVVVVVVVVVN",
    "NFFFVVVVVVVVVVVVVVVN",
    "NFFFFVVVVVVVVVVVVVVN",
    "NFFFFFVVVVVVVVVVVVVN",
    "NFFFFFVVVVVVVVVVVVVN",
    "NFFFFFFFFFVVVVVVVVVN",
    "NFFFFFFFFFFFVVVVVFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "NFFFFFFFFFFFFFFFFFFN",
    "TNNNNNNNNNNNNNNNNNNT",
    ]

"""===========================
   Un sucre d'orge par Anna C.
   ==========================="""

ac_orge_color={
    "A":(230,190,190),
    ".":(255,255,255),
    "B":(230,20,20),}

ac_orge_image=[
    ".....BBAAA......",
    "....BBBBAAA.....",
    "...AABBBBAAA....",
    "...AAA...BAA....",
    "...BAA...BBA....",
    "...BBA...BBB....",
    "...BBB...BBB....",
    "....BB...ABB....",
    ".........AAB....",
    ".........AAA....",
    ".........BAA....",
    ".........BBA....",
    ".........BBB....",
    ".........BBB....",
    ".........ABB....",
    ".........AAB....",]

"""=======================
   Un cadeau  par Antony F.
   ======================="""

afc_cadeau_color = {
    " " : (255, 255, 255), # transparence
    "R" : (250, 0, 0), # rouge 1 ##fa0000
    "T" : (200, 0, 0), # rouge 2 #c80000
    "Y" : (160, 0, 0), # rouge 3 #a00000
    "U" : (125, 0, 0), # rouge 4 #7d0000
    "I" : (105, 0, 0), # rouge 5 #690000
    "N" : (2, 2, 2), # noir
    "F" : (240, 200, 0), # jaune 1 #f0c800
    "G" : (220, 175, 0), # jaune 2 #dcaf00
    "H" : (200, 160, 0), # jaune 3 #c8a000
    "J" : (180, 145, 0), # jaune 4 #b49100
    }

# L"image codée dans un tableau, ce que vous devrez modifier, y compris le nom.
afc_cadeau_image1 = [
    "  NNN  NNNN ",
    " NJHGNNNGFN ",
    " NNJHGNHFNN ",
    "NNNNNNNNNNNN",
    "NIUYNJHGNTRN",
    "NIUYNHGFNTRN",
    "NNNNNNNNNNNN",
    " NYTNHGFNRN ",
    " NYTNHGFNRN ",
    " NYTNHGFNRN ",
    " NYTNHGFNRN ",
    " NNNNNNNNNN ",]

afc_cadeau_image2 = [
    "    NNNN    NNNN    ",
    "   NNGFNN  NNGFNN   ",
    "   NJHGFNNNNHGGFN   ",
    "   NNJHGFNNJJHHNN   ",
    "    NNNNNNNNNNNN    ",
    "NNNNNNNNNNNNNNNNNNNN",
    "NIUUYYNJHGGFFNYTTRRN",
    "NIUUYYNJHHGFFNYTTRRN",
    "NIUUYYNJJHGGFNYTTRRN",
    "NIUUYYNJJHHGFNYTTRRN",
    "NNNNNNNNNNNNNNNNNNNN",
    " NIUYYNJJHHGFNTTRRN ",
    " NIUYYNJJHHGFNTTRRN ",
    " NIUYYNJJHHGGNTTRRN ",
    " NIUYYNJJHHGGNTTRRN ",
    " NIUYYNJJHHGGNTTRRN ",
    " NIUYYNJJHHGGNTTRRN ",
    " NIUYYNJJHHGGNTTRRN ",
    " NIUYYNJJHHGGNTTRRN ",
    " NNNNNNNNNNNNNNNNNN ",]


"""=========================
   Une chausette par Neila S.
   ========================="""

ns_chaussette_color = {
    " " : (255, 255, 255), # transparence
    "C" : (240, 0, 32), #rouge
    "." : (253, 253, 150), # jaune
    "A" : (0, 0, 0), # noir
    "V" : (130, 196, 108), # vert
    }


ns_chaussette_image = [
    "          A    ",
    "        AA.A   ",
    "      AA...A   ",
    "    AA......A  ",
    " AAAA........A  ",
    "A...........A  ",
    " A.......AAAA  ",
    "  A...AAAVVVA  ",
    "  AAAAVVVCVVA  ",
    "   ACVVVVCCCA  ",
    "    AVVCCCCCA  ",
    "     ACCCCCCA  ",
    "     ACCCCVVA  ",
    "      ACCVVVA  ",
    "       AVVVVA  ",
    "       AVVCCCA ",
    "       ACCCCCA ",
    "       ACCCCCCA",
    "       ACCCCCCA",
    "      ACCCCCVA ",
    "AAA AACVVVVVVA ",
    "ACCAAVCCVVVVA  ",
    "ACCCVVCCCCCA   ",
    "ACCCVVCCCCAA   ",
    " ACCVVCCCCA    ",
    " ACCVVCCCA     ",
    "  ACVVCCA      ",
    "   ACVAA       ",
    "    AA         ",
   
    ]

"""===========================
   Un pere noel par Florian G.
   ==========================="""

fg_papanoel_image = [
    "       CCC  ",
    "    CCCAAAC ",
    "   CAAAAACA#",
    "  CAAAAAC ##",
    "  CAAAAAC   ",
    " H#######H  ",
    " HBBBBBBBH  ",
    "  #BDBDB#   ",
    "  ##BBB##   ",
    "   ##G##    ",
    "AAAA###AAAA ",
    "AACAA#AACAA ",
    "##CAEEEAC## ",
    "DDCADDDACDD ",
    " DACDDDCAD  ",
    "  CAACAAC   ",
    "  DEFDEFD   ",
    "  DDDDDDD   ",]


fg_papanoel_color = {
    " " : (255, 255, 255), #transparence
    "#" : (230, 230, 230), #blanc
    "A" : (237, 28, 35), #rouge
    "B" : (225, 198, 153), #beige
    "C" : (153, 0, 48), #2eme rouge
    "D" : (0, 0, 0), #noir
    "E" : (70, 70, 70), #gris fonce
    "F" : (180, 180, 180), #gris clair
    "G" : (253, 110, 158), #rose
    "H" : (255, 195, 14), #jaune
    }

"""====================
   Un houx par Robin C.
   ===================="""

rc_houx_color = {
    " " : (255, 255, 255),
    "R" : (248, 18, 18),
    "G" : (0, 59, 5),
    "A" : (2, 153, 5),
    }

rc_houx_image = [
    "                    GGG  ",
    "  GG              GGAAAG ",
    " GAAG            GAAAAAAG",
    "GAAAAG           GAAAGAAG",
    "GAGGAAG         GAAAGGAAG",
    "GAAGAAAG       GAAAGAAAG ",
    " GAGGAAAG      GAGGAAAAG ",
    " GAAGGAAG  RR GAAGAAAAG  ",
    " GAAAGAAAGRR RAAGAAAAAG  ",
    "  GAAAGAAARRRRAGAAAGGG   ",
    "   GGAAARR RRAAAAGGG     ",
    "     GARR R RRAAGG       ",
    "      GRRRRRR RG         ",
    "        RR RRRR          ",
    "            RR           ",]


"""=============================
   Un bonhomme de neige Samuel V.
   ============================="""

sv_bonhomme_color = {
    " " : (255, 255, 255), # transparence
    "#" : (231, 4, 4), # rouge
    "." : (252, 229, 205), # couleur neige
    "A" : (244, 102, 27), #carotte
    "B" : (91, 15, 0), #bras
    "C" : (0, 0, 0), # pomme de pin
    "D" : (255, 153, 0), # echarpe orange
    "E" : (255, 255, 0), # echarpe jaune
    "F" : (221, 126, 107), # sourrire
    "H" : (120, 63, 4), # bras deux
    }

sv_bonhomme_image = [
    "      #     ",
    "     ###    ",
    "    #####   ",
    "    .....   ",
    "   ...A...  ",
    "   ...A...  ",
    "   .F...F.  ",
    "    .FFF.   ",
    "     ...    ",
    " B  DEDED  B",
    " BH.E.....HB",
    "  ..D.C.... ",
    "  ......... ",
    " .....C.....",
    " ...........",
    " .....C.....",
    "  ......... ",
    "   ...C...  ",
    "    .....   ",
    "     ...    ",]
   

"""======================
   Un sapin par Merlin C.
   ======================"""

mc_sapin_color = {
    " " : (255, 255, 255), # transparence
    "#" : (85, 62, 37), # ecorce #553e25
    "." : (60, 222, 138), # anti crénelage #f1950b
    "A" : (19, 189, 101), # dégradé 1 #13bd65
    "B" : (12, 153, 80), #dégradé 2 #edb029
    "C" : (5, 104, 53), # centre #056835
    }

mc_sapin_image = [
    "     ..     ",
    "    .AA.    ",
    "   .ABBA.   ",
    "     ..     ",
    "    .AA.    ",
    "   .ABBA.   ",
    "  .ABCCBA.  ",
    "    .AA.    ",
    "   .ABBA.   ",
    "  .ABCCBA.  ",
    " .ABCCCCBA. ",
    "   .ABBA.   ",
    "  .ABCCBA.  ",
    " .ABCCCCBA. ",
    ".ABCCCCCCBA.",
    "     ##     ",
    "     ##     ",
    "     ##     ", ]

"""=====================
   Une buche par Ilyas.R
   ====================="""

ir_buche_image = ['aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcdefghggijjaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaklemnhhhhnininjaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoppqrsttuvwiiinxyzczxAAaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamBCxDDEFGBHoHIJpAKLbMzNfzKNxxwBaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBaaaOPPhnggBAQRSTUHpQpVBWvWWlKlKXXzYllZvvaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagACw0inni1yyDNvJIFFttSkSS222SB3XXXLLLMMbHpBE4aaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagfQo3wxxyxxwXLMMLLMQJUIIIIISCEpUv5LLL3355eE267Vaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaighgwprWxi888xHolDwDDD9<MddQQou2uCvHHIkEvWvEQorSItS4Vaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiighhghnvreDxx111xbzxywDDD999LMMMebpHHHpvEt>GJJHHHWvp2tF247aaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaax3pZ2ku7mAi88888i8iBopAxxx1nxAufyDyDD99<<<LLLMMcMdc5vWQoEe55ceeWWc5pSF44aaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafxW3GsjwxBsplx8i111nZokBAl3vvbbAmkwD<zD<<zXLL<LLcXMLMceHUJbc3LcLccecc5eEG24aaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagnzAeHstv5cWZmNwwwwnfEJJoH55LKffwNf33z<z<<<X<<<<<<XL3vEQuUCv53YMcceccce5eeCF77aaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxffxwwzzqBZAb6GIsJCBvQJpB4Sb53zAffwDDyDzDfHL<<<<zLzXXL3cepJIsqQv55MY3c535555e555vFV4aaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBAAAfwxxxDXpWmxpBtF642GCWBB2SCc3ffzzNzfzzzDzzpQlX<YXYlcvHUUsuobcYKKKzff35c5e33c5555vS6vaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaamiMQGBk2TF226ZsEBBllfNXM5eebpHsFFFtsIJBApuJC5LYXKXzXzzKNYKXXpUEvvvQUJuuGrecllYzXYzlzff355533e5c55WvSVE7aa', 'aaaaaaaaaaNAf3A4ABWZmaaaagnxjZWv6VVVV46EpW3ZB3pQQLLMMceHuSSSI4mZQrSCdMMLYXY3lvHQJJrppoJU>FtUvlYlEUWccfcMMLNKKzXllcZW555WWWB4EvV4aa', 'aaaaaaarAnjgmZ7BBBEJUGGJJqUUC226SIISIF2226EVV47BZBZZZZZBBBZAZAmmfAAfmfmwfAAZHopB5BEQooHppEvWYKzXWG6W3YNAzzNNfwAB33WW5llZZWE6vp4Vaa', 'aaaaaaafwzwfmwmngjwNfwwfwfNKXcevbHQoJJIIIFFFFSIIuuuJurJJISSIUUUUUUUUSIJSS2kEW3cYYKl3ecc3YXYYKYYl3rJB5l3AA3YlYwAW3lBl3333B6I7Bv4Vaa', 'aaaaaawLDXwXXfjnjx111111yyDyyDDzDXXXc5dpCUI2k2Hov55555eeplfVQECHCE4V4SsJHe3333YYXLMelK35XLLXl33llpGWW5l33AlAfAWB3333WBBW2t2VZW76aa', 'aaaaaw<DDcKKlNAmABAwwxyyyywDyDDXXYc5pQopv5355eEQUrHbbeeeffvHpECouIts2pv3YMMLcYcXKKc53M5vLY33l533lWUkB3333lZwAZBZAAllWW662tS4BW4Vaa', 'aaaayy<LeU6BAfmmAjnjAfwyyyxz5oppHve3l33XXl333YM5UkCHHQfjACIII>>tFIvvcMe3YXY5e3l3cl535Yl5553333ZAY3CIWWWBV2SJsFT6VV6V6666V2IG6774aa', 'aaaayMKHt6ZmwmmjAAAAEvcfDDfzzzzfXXX<zYXLXXLXKXL3CGGJWnxvkssskHppIoWc53555355355l5353l5l55BWl3KllX3BIsuk6666666226662rC477ZB6I64Vaa', 'aaaywbutTfh000imfAlA72EYzfXzzXXzXXXXYLXXYXXXLM3BHsEniWQQHvQHp5e5JJ5bWW5555lc5e3535555l333ZZlAX35AAWVV6H6EV6I2ABB466Hvv5vvBB4V2V4aa', 'aaaywoFtm0PPPPPPjAfmApVvLzXXXLKlXXXYLLXY33BBWECJrmifpveeH5eQHee5CUeeWe3llAl3c535ee3555333Yl33AZB4EEV62rWvWW2SZZBBAmABwBWBvW7746Vaa', 'aaa1wrtA00000h0PPn3AAWVEe3cY3c3cLLYYY35borsItrC4nnvpeeeLecWHVp5WCGE5l3lKKKK33lY5cYl3l5llYlYZECC6222HvBZ3ZZW4IBBB3vZBZAWBBBv772S2aa', 'aawDQ26hPP000PhhPPnjBA44pvc3LLc53vCSI>GJVWWWvBjhfEW5e5edepWeB555VtClYZwZ3l3LYYXlBB3535BWvV66kCk2S2WZZZZWWvv4t7BZBBBBB7vvEWBW7V26aa', 'aiDzpFjPPPPP00ihhPPjmwAVWp5535v2TtIuEW5lleeed5AWpc3eee3AA5f3AfN3CFIb33l533lBBZBZW44EJrkrruurHv46t7BBWBv5WWZ7tHBBWZWWWvvvWEvE4626aa', 'azydU2hPPP0ggg0iihPPmAfW4VpEoItICv55ee5czLLLKMevvvbe33l3lAAflLAWoFFkvvvWBvBvvECruS22226ukpWWWvv7IBBBBvvWvWpBTHBWvWvWvvWpEpCCVS62aa', 'ayDeGBPPPPP000iginhPiAfB6VktTTIVceeeee3cLXLMLe5Wpp55WWW355l3lvQkk2IIttISSuuurrkkrk62267HWBWWZlZZIBlvvWvvvZB7FVWWWvvpEEEEEEHCu262aa', 'axDeImOOPPP00ihiiji0PjfAV46TSTspbbvvveecMLXLXz555vvWvvW5ZBAZv22kkHE6rr2rrkr26vWpppvWWV4W4vvWvHE4IVpvppb5vpE6UWW5vWvbECCCCr2I2626aa', 'aDy3UiPOPPPhh0gingfgPAwZ74V2SuJvvEpbev3lLlLlXYAYBWEpvEWvpEkuSSrHppvpvvVHEstVWZZvpvBZWWWWWpWvWvvVF44vvCW5HWvIEvvvpHCCH6rrSIIS6SS6aa', 'axDeShOOPOPPPnggixgjhAfwZ6V22uJHppbvvdMzXLLZlzZpUIFtIIISSSSST2vWZWWAWvWvWEt6BAZvvvBBWlB35WWBpWWWs662SI6vWCISCQor6SJUsIFII22SSSS2aa', 'afDdr0OOOPPhh0nixgnfgiAwf6V62SI6EEvEppecY3lWl32SSS22646662TS6WlAflAfAlAdWBSCWA3BvBBfl35W53WBBWW7STI2rEusGIC6EpESIFIJ2SSTTS22uSSaaa', 'ayDeCPOOPPP00ghwixxnx0BAmVVV2SFFS2ISssSurHWvCrSTCBvWWWppVEpv5Zlfl3lfAll5E4SrW5WWWvWWWW5Wvvvv5WvutIEpQH4StI2JJIIsCHQoSISTS6uustaaaa', 'ayDbVPOOOPPPhhigmxgi3gmww44422SrJrrE66rS2TSSSTSEllA335HpBvbcWe33lKXKAlBBW4SEZ5vW55WWWpWWWWHHpHStI2CQQQCIFIrSukHHkkuSsssIIu2uuIaaaa', 'ayDo6POOPPP0hhhxxijwmngwf4VVS24EEvEvVVVV444EuFHZYXlN3vEVvWvvWWH5fflA3WvpeVT4WBvp5vppvbebbvHE2I>rkkkpHE2tIuruSJuJIISIIISSSrSSTaaaaa', 'a1zJrPOOPP0g0hgiimAwnfhfxZ6VrEvEEEHpHpppp5vpE>WAXA55AZW4EpvvWvEpvvZWvHEZWVFE4vvppbEHHpEErSSt>srkppoJJUSIoHQH6SSSTItItIuSIttaaaaaaa', 'aDyeu0POPPP0hhgixljni3hnfZ6St2vECEE4WppvpvvpCFE333WZlvpHvppppvpv5vvvZWvp42F2V762WWV2STFTFIS2CCkruoooC2ISoQqUIIsSSSIFFFTTTtaaaaaaaa', 'ayDXUgPPPP00hggwxfnxnWgxxAVrFSV4EEE44v4VVV6HrtoWbWpe33W4HWAWB33lAWZWlceW4ITttttTIsttGrrCHrurJokVkkoouTISJoQ2SoHHCstTTTSTaaaaaaaaaa', 'awDXtnPPPP0gghhxnxxxmBinnl62FSHVEEQEvvvEEHHpEFHev65plcWB3XfXzXY3EuoW5e7uIsrkkCkkrTFICkuJJoJokouuJrJ2sI22roJkoouttTFaaaaaaaaaaaaaaa', 'awDD>mPPPP00hhhixnfwAZwixWV2FSkpEECEEHEEHHpCCts5vHlwDDNXYYYY5CrurCrIItRHdppQQQHr2TT2ouuooJJJuJJJrJJTtSSSITFFtFFFaaaaaaaaaaaaaaaaaa', 'aaDyCB000P0hhhgixnAfAZwgxAVSTsk4EEEECHEHvHHCrFVZvvXlzwcpHQ2uS6SV6HJoHHQEvHroooJkutSCuuUrrrrrr2JSSSFFTTFFFFFTIaaaaaaaaaaaaaaaaaaaaa', 'aaDzoH80h000ghgnwnAAAZfgxf6STSuHCCHEHHEEEHHHrFuJQEQkur2SIIIS4BVs>HdbHHkJJUr2u2k2rtrruSJJJJSJSSSSTFFFFtTTTTaaaaaaaaaaaaaaaaaaaaaaaa', 'aawDbJi8h000hhijxxfAAZAgxwV6TISEHHoHQHHECQbCrFHbp4pkIUIFFFttUGtFIuJJusuuHkHHJooouIrSuISSUIISSSSSFTFFTTaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aawDzJm888hhhgizxxwffZNhxwV6IIS6662rCHEHHEQCkTuoSstFtIIITTruJJSFISrJouoJJJUJUSSSSISSsTTTsIuSSSITFTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaazDov888hhnnifwNnwwWNgwx7V2I2kCrrCoQQHHk2kSTFFFFFJkCkJIIJJoorIIuUJkrSUJJJJSSSSITSSSSTTTTSTTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaawDdJi888h8iAiflxwnHfiww72SI2222r22kkHkSSSttsUJoQCHQuuIIkoQQrtIJuusIssssSSsISIFTSITFFFFFTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaDwol8888inifxx3xnQxnwwVTTT22C2rCSrSSItFsuoHQQQoJuoCITIuSITFFIUUSSrrSSsIIIIFFFFFFFFFTFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaDDeQg888ixxjfxfmwbnxxwESTSS6rsUGtttFFS2kkouussSCQuITTTssFTFI2J2SJGIISItttFFFTTTFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaafzNHm888gnwwnlnnv3gxfw6SSIt>USSSSSSSSoJrSsIIsSsUIITTTTsSuFFssIsuJIFFFFFTTFFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaf<DYQi8888iwfnwjpfixzl222ItIS222uJJrrrJJuHHrr2IIIIISurS2TFFSsII>FFTTTTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaD9Nvlh88giixwivlnxxfNC22IISSSr2JJJJJkCHoooUItIIsuourJttFFFFttFTTTTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaD<y3ef88hiihn5Awgwmww462IIuSSJJurruuoosIIFTFTIIsIIIItFFFFFTTTTFFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaa<DLfdxg8nxfzwmgfxxwn76VSSSuuuuksSSSIIIIITTISSSItttFFFTTTFTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaz<ywcfhinxfngfffwxwCTSIuuSIIISIIIIttttttFF>tFFtFTTTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaazDDflfihghgZmZxzwfFFFukRuISItsItttttttFFFFTTTTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaayywxww3BWZwmfAXw5FFtsRHHkRussItItttttTTTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaNffwAjjAmflwXzJTFITsJs>IIt>tttFFTTTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaawwfwAffmffAEtFFFtTIISsttFFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaa3ZAffKzfAJFFIsIIIFFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaAABwvIFFkuSIIIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa']
ir_buche_color = {'a': (255, 255, 255), 'b': (96, 65, 58), 'c': (114, 81, 73), 'd': (102, 70, 56), 'e': (105, 73, 65), 'f': (150, 121, 107), 'g': (205, 182, 170), 'h': (215, 193, 180), 'i': (197, 172, 159), 'j': (167, 146, 138), 'k': (72, 49, 49), 'l': (129, 102, 90), 'm': (148, 127, 119), 'n': (187, 160, 147), 'o': (73, 49, 44), 'p': (92, 67, 60), 'q': (62, 38, 28), 'r': (68, 51, 44), 's': (54, 33, 34), 't': (40, 27, 24), 'u': (63, 41, 41), 'v': (99, 75, 67), 'w': (160, 131, 117), 'x': (173, 144, 130), 'y': (180, 141, 117), 'z': (143, 110, 92), 'A': (137, 112, 102), 'B': (116, 93, 87), 'C': (78, 60, 53), 'D': (163, 123, 100), 'E': (87, 68, 60), 'F': (38, 27, 28), 'G': (44, 26, 20), 'H': (82, 58, 54), 'I': (50, 35, 33), 'J': (62, 42, 36), 'K': (134, 99, 90), 'L': (125, 91, 75), 'M': (115, 82, 67), 'N': (144, 108, 99), 'O': (237, 223, 212), 'P': (232, 215, 204), 'Q': (80, 54, 44), 'R': (66, 38, 40), 'S': (58, 43, 41), 'T': (47, 35, 37), 'U': (54, 35, 29), 'V': (85, 68, 66), 'W': (107, 84, 77), 'X': (133, 100, 84), 'Y': (125, 91, 82), 'Z': (125, 103, 96), '0': (223, 204, 191), '1': (196, 162, 137), '2': (67, 51, 49), '3': (120, 93, 81), '4': (94, 76, 74), '5': (110, 84, 72), '6': (76, 60, 58), '7': (102, 85, 82), '8': (214, 186, 165), '9': (147, 103, 79), '<': (144, 101, 84), '>': (43, 23, 24)}

"""==============================
   Un pain d'epice par Raphael C.
   =============================="""

rc_pdepice_color = {
    " " : (255, 255, 255), # transparence
    "#" : (196, 119, 2), # orange exterieur #c47702
    "." : (255, 174, 0), # orange interieur #ffae00
    "A" : (10, 8, 10), # noir   #0a080a
    "B" : (236, 83, 89), #bouton rouge #ec5359
    "C" : (0, 153, 36), # bouton vert #009924
    "D" : (255, 144, 222), #couleur rose #009924
    "E" : (254, 254, 254), #blanc #fefefe
    "F" : (180, 27, 27), #rouge du chapeau #b41b1b
    }
rc_pdepice_image = [
    "        FFF        ",
    "       FFFFF       ",
    "      FFFFFFF      ",
    "     FF#####FF     ",
    "    FF#.....#FF    ",
    "   FF#.......#FFAA ",
    "    #.........#EE A",
    "    #..A...A..#AEEEA",
    "   #...........#AEA ",
    "   #..D.....D..#EAE  ",
    "    #..E...E..#     ",
    "    #...EEE...#     ",
    "     #.......#      ",
    "      #.....#      ",
    "       #...#     ",
    " ######.....###### ",
    "#..E...........E..#",
    "#.E.............E.#",
    "#..E.....B.....E..#",
    " ######.....###### ",
    "      #.....#      ",
    "      #..C..#      ",
    "      #.....#      ",
    "      #.....#      ",
    "      #..B..#      ",
    "      #.....#      ",
    "      #.....#      ",
    "     #.......#     ",
    "     #.......#     ",
    "    #.........#    ",
    "   ##.........##    ",
    "  #......#......# ",
    "  #EE...# #...EE# ",
    "  #.EE.#   #.EE.# ",
    "  #..EE#   #EE..# ",
    "  #....#   #....# ",
    "  #....#   #....# ",
    "  #....#   #....# ",
    "   ####     ####  ",]


"""========================================================
   Une horloge facon casion qui affiche 20:22 par Raphael M.
   ========================================================"""
#20:22, clin d'oeil à 2022 ! :-)

rm_horlogecasio_color={
    "#": (13, 13 ,13), # Noir
    "L": (42, 42, 42), # Lettre du 42
    "-": (62, 90, 147), # Bleu contour
    ".": (164, 169, 153), # .ris pour le fond
    "F": (104, 104, 96), # .ris foncé
    "C": (165, 171, 162), # .ris clair
    "B": (227, 225, 233), # Blanc
    "N": (250,)*3,
    " ": (255, 255, 255), # Transparent
    }
rm_horlogecasio_image = [
    "  #################################   ",
    " ###################################  ",
    "CC##BBBBBBBBBBBBBBBBBBBBBBBBBBBBB##CC ",
    ".F##BBBBBBBBBBBBBBBBBBBBBBBBBBBBB##F. ",
    " ###BB.........................BB###  ",
    "  ##BB.LLL..LLL.....LLL..LLL...BB##   ",
    "  ##BB...L..L.L..L....L....L...BB##   ",
    "  ##BB..L...L.L......L....L....BB##   ",
    "  ##BB..LLL.LLL..L...LLL..LLLL.BB##   ",
    "   #BB.........................BB#    ",
    "   #BB#########################BB##    ",
    "  ##BB###NNN#NNN#NN##N##NNNN###BB##   ",
    "  ##BB###N###N#N#N###N##N##N###BB##   ",
    "  ##BB###N###NNN##N##N##N##N###BB##   ",
    "  ##BB###NNN#N#N#NN##N##NNNN###BB##   ",
    " ###BB#########################BB###  ",
    "CC##BBBBBBBBBBBBBBBBBBBBBBBBBBBBB##CC ",
    ".F##BBBBBBBBBBBBBBBBBBBBBBBBBBBBB##F. ",
    " ###################################  ",
    "  #################################   "]


"""=========================
   Une lanterne par Sybil L.
   ========================="""

sl_lanterne_color = {
    " " : (255, 255, 255), # transparence
    "a" : (111, 102, 102), # acier de la lanterne #6f6666
    "s" : (71, 71, 71), # fond de la lanterne #474747
    "d" : (255, 218, 172), # dégradé 1 de la bougie #ffdaac
    "D" : (255, 199, 154), #dégradé 2 de la bougie #ffc79a
    "b" : (255, 181, 121), # dégradé 3 de la bougie #ffb579
    "t" : (40, 37, 37), # tige bougie #282525
    "f" : (213, 59, 0), # dégradé bas de la flamme #d53b00
    "F" : (193, 53, 0), # dégradé coté clair de la flamme #c13500
    "!" : (242, 114, 8), # orange centre bas de la flamme #f27208
    ":" : (230, 109, 10), # orange centre haut de la flamme #e66d0a
    "h" : (167, 46, 0), # dégradé haut de la flamme #a72e00
    "?" : (242, 250, 251), # vitre lanterne #f2fafb
   
    }

sl_lanterne_image = [
    "  aaaaaaaa",
    " aa     aa",
    "aaaaaaaa a",
    "a a h  a a",
    "a ah:h a a",
    "a aF!F a a",
    "a a f  a a",
    "a adtb a a",
    "a adDb a a",
    "a adDb a a",
    "a adDb a a",
    "a adDb a a",
    "a adDb a a",
    "a sdDbsasa",
    "assdDbsaa ",
    "aaaaaaaa  ",]

# Participations des élèves : Listing des créations
"""
Parfois les élèves ont rendu un codage non conforme,
Parfois l'image proposée ne s'intégrait pas de manière harmonieuse,
Ils ont participé leur production n'a juste pas été sélectionnée pour le dessin final.
==== Liste de tous les élèves participants, image sélectionnée ou pas  ===
1 Raphaël M Une horloge digitale qui affiche 20h22 façon Casio F91W mais affiché au mur
2 Matheo L étoile
3 Alexis M tasse chocolat chaud
4 Aurélien B étoile
5 Sarah V flocon de neige
6 Adam Y Chandelle
7 Rayan C bonhomme de neige
8 Anthony F cadeau de noel jaune et rouge
9 Florian G Un petit papa noel
10 Neila S chaussette de noel
11 Merlin C Un sapin
12 Justine C Joyeux Noël en texte en PixelArt
13 Romeo B bonnet de noel
14 Ilyas R une buche de Noël
15 Ilana R couronne de noel
16 Robin C Houx de noël
17 Raphael C bonhomme en pain d'épice
18 Mathis L cadeau de noël emballé
19 Sybil L bougie
20 Samuel V un bonhomme de neige
21 Antoine R bouteille de vin
22 David G  oreillettes
23 Julien R un calisson
24 Bilal L Guirlandes
25 constance A un saumon sous forme de poisson
26 Anna C sucre d'orge
27 Thomas S Bouteille de champagne
28 Sylvain B bol de chocolats
29 Romain L Chandelier
30 Noah M Bougies
31 Coline R Truffe en chocolat
+ 2 enseignants
==============================
"""

# Dessin de l'image sur une Casio Graph 90+E
def trace_casio(clr: dict, img: list, x_pos: int, y_pos: int, size: int = 1):
    img = [list(i) for i in img]
    for i in range(len(img)):
        show_screen()
        for j in range(len(img[i])):
            if clr[img[i][j]] != (255, 255, 255):
                for k in range(size):
                    for o in range(size):
                        set_pixel(x_pos+5+j*size+o, y_pos+5+i*size+k, clr[img[i][j]])

# Construction du mur, effet pixel alétoire 4x4
for x in range(0,385):
    for y in range(0,43):
        r,g,b = randint(250,255), randint(222,242), randint(210,242)
        set_pixel(2*x, 2*y, (r,g,b))
        set_pixel(2*x+1, 2*y, (r,g,b))
        set_pixel(2*x, 2*y+1, (r,g,b))
        set_pixel(2*x+1, 2*y+1, (r,g,b))
           

trace_casio(afc_cadeau_color, afc_cadeau_image1,263,67)
trace_casio(afc_cadeau_color, afc_cadeau_image2,237,62)
trace_casio(ml_cadeau_color, ml_cadeau_image,247,60)
trace_casio(ir_couronne_color, ir_courone_image, 5, 12)
trace_casio(rm_horlogecasio_color, rm_horlogecasio_image,340,55)
trace_casio(ns_chaussette_color, ns_chaussette_image,350,20)

# Construction de la table, effet pixel aléatoire + degradé.
for x in range(0,385):
    for y in range(82,193):
        c = 82+y//2+randint(0,8)
        set_pixel(x, y, (c,c-95,c-130))

trace_casio(ar_vin_color, ar_vin_image,54,22)
trace_casio(ar_vin_color, ar_vin_image,70,55)
trace_casio(ts_bouteille_champagne_color, ts_bouteille_champagne_image,45,45)
trace_casio(sb_bol_de_chocolat_color, sb_bol_de_chocolat_image, 112, 75)
trace_casio(cr_truffeenchocolat_color, cr_truffeenchocolat_image, 120,81)
trace_casio(cr_truffeenchocolat_color, cr_truffeenchocolat_image, 125,78)
trace_casio(cr_truffeenchocolat_color, cr_truffeenchocolat_image, 123,83)
trace_casio(ay_chandelle_color, ay_chandelle_image1, 20, 85)
trace_casio(ay_chandelle_color, ay_chandelle_image1, 134, 103)
trace_casio(ay_chandelle_color, ay_chandelle_image1, 225, 67)
trace_casio(ay_chandelle_color, ay_chandelle_image2, 79, 160)
trace_casio(ay_chandelle_color, ay_chandelle_image2, 310, 90)
trace_casio(am_chocolatchaud_color, am_chocolatchaud_image,10,127 ,2)
trace_casio(am_chocolatchaud_color, am_chocolatchaud_image,340,115)
trace_casio(rc_pdepice_color, rc_pdepice_image, 116, 127)
trace_casio(jr_calisson_color, jr_calisson_image,260,174)
trace_casio(jr_calisson_color, jr_calisson_image,272,173)
trace_casio(jr_calisson_color, jr_calisson_image,284,175)
trace_casio(jr_calisson_color, jr_calisson_image,265,167)
trace_casio(jr_calisson_color, jr_calisson_image,276,168)
trace_casio(jr_calisson_color, jr_calisson_image,271,162)
trace_casio(ac_orge_color, ac_orge_image,320,155)

# Buche et accessoires
trace_casio(ir_buche_color, ir_buche_image, 171, 100)
trace_casio(rc_houx_color, rc_houx_image, 230, 105)
trace_casio(mc_sapin_color, mc_sapin_image, 215, 107)
trace_casio(mc_sapin_color, mc_sapin_image, 255, 103)
trace_casio(fg_papanoel_color, fg_papanoel_image, 200, 110)
trace_casio(sv_bonhomme_color, sv_bonhomme_image, 270, 95)
trace_casio(sl_lanterne_color, sl_lanterne_image, 177, 70,2)

trace_casio(jc_joyeuxnoel_color, jc_joyeuxnoel_image, 50, 15,2)

# Affichage final de l'image
show_screen()

"""
   ####     ##      #####    ####     #####             ####     ####     ####     ####
  ##  ##   ####    ##   ##    ##     ##   ##           ##  ##   ##  ##   ##  ##   ##  ##
##       ##  ##   #          ##     ##   ##               ##   ##  ##       ##       ##
##       ##  ##    #####     ##     ##   ##             ###    ##  ##     ###      ###
##       ######        ##    ##     ##   ##            ##      ##  ##    ##       ##
  ##  ##  ##  ##   ##   ##    ##     ##   ##           ##  ##   ##  ##   ##  ##   ##  ##
   ####   ##  ##    #####    ####     #####            ######    ####    ######   ######

   ####    #####   ##   ##    ####    #####   ##   ##  ######    #####            ##   ##   #####   #######  ####
  ##  ##  ##   ##  ###  ##   ##  ##  ##   ##  ##   ##   ##  ##  ##   ##           ###  ##  ##   ##   ##   #   ##
##       ##   ##  #### ##  ##       ##   ##  ##   ##   ##  ##  #                 #### ##  ##   ##   ## #     ##
##       ##   ##  ## ####  ##       ##   ##  ##   ##   #####    #####            ## ####  ##   ##   ####     ##
##       ##   ##  ##  ###  ##       ##   ##  ##   ##   ## ##        ##           ##  ###  ##   ##   ## #     ##   #
  ##  ##  ##   ##  ##   ##   ##  ##  ##   ##  ##   ##   ##  ##  ##   ##           ##   ##  ##   ##   ##   #   ##  ##
   ####    #####   ##   ##    ####    #####    #####   #### ##   #####            ##   ##   #####   #######  #######
"""
# Lycée Louis Pasteur, concours de Noël 2022 de Casio.
Télécharger




La 3D semble bizarrement être à la mode cette année, c'est curieux... ;)
Bref comme l'année dernière, tous ceux qui ont bien voulu partager leurs créations sur Graph 90+E jusqu'à présent se sont visiblement donné à fond, désintégrant littéralement les limites de ce qui avait pu être réalisé jusqu'alors en Python sur cette machine ! :#tritop#:

Nous trouvons la chose à la mesure des gros efforts consentis par Casio en dotation pour ce concours, et espérons que ces derniers sont également satisfaits de tous les chefs-d'œuvre qu'ils ont reçu. ;)
Lien vers le sujet sur le forum: Découvre participations Python au concours Noël 2022 Casio (Commentaires: 12)

-
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.
1227 utilisateurs:
>1144 invités
>78 membres
>5 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)