π
<-
Chat plein-écran
[^]

News 2023

News 2022
October (11)
August (4)
July (4)
June (3)
May (8)
April (5)
March (6)

News 2021
August (4)
July (12)
June (6)
May (7)
April (6)
March (4)
January (10)

News 2020
August (6)
July (14)
June (11)
May (8)
April (19)
March (4)

News 2019
August (2)
July (3)
June (4)
May (8)
April (3)
March (5)

News 2018
August (7)
June (11)
May (5)
April (13)
March (12)

News 2017
August (5)
July (6)
June (3)
May (3)
April (20)
March (11)
January (10)

News 2016
August (5)
July (5)
June (4)
May (3)
April (6)
March (2)

News 2015
August (6)
July (6)
June (5)
May (4)
April (12)
March (8)

News 2014
August (6)
July (7)
June (3)
May (1)
April (2)
March (6)

News 2013
August (6)
July (14)
June (1)
May (5)
April (1)
March (1)

News 2012
August (3)
July (3)
June (3)
April (2)
March (3)

News 2011

Vainqueur catégorie élève-collège concours Noël 2022 Casio

New postby critor » 03 Feb 2023, 17:40

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

Dans des annonces précédentes nous t'avions partagé une partie des participations
Python
de cette année, puis annoncé le grand vainqueur en
Python
dans la catégorie
classe
.

Nous avons l'immense joie d'apprendre maintenant le vainqueur sur
fx-92+ Spéciale Collège
dans la catégorie
étudiants
.

C'est donc notre inestimable , élève de Seconde qui n'a pas attendu le lycée pour se passionner pour cette formidable petite machine, lui ayant même conçu des chaîne vidéo et site de tutoriels dédiés dès le Collège !

Déjà grand vainqueur de l'année dernière, revient donc nous régaler pour un réveillon grand format sur une table de 16, fort bien adaptée aux dimensions de la zone graphique utilisable sur
fx-92+ Spéciale Collège
(
192×47
pixels utilisables sur un écran de
192×63
)
.

Et si tu regardes le code, ce qu'il y a d'ingénieux pour contourner la limite de mémoire, c'est que le contenu des assiettes n'y est même pas défini ! En effet ce dernier y fait l'objet de déplacements aléatoires de la tortue. Outre le fait que le menu changera donc à chaque exécution, il nous faut bien avouer que cela rend malgré tout super bien !
Code: Select all
Aller à x= -80 ; y= -5
Stylo écrit
S'orienter à  270 degrés
Avancer de 15 pixels
Avancer de -15 pixels
S'orienter à  0 degrés
Avancer de 150 pixels
S'orienter à  270 degrés
Avancer de 15 pixels
Avancer de -15 pixels
S'orienter à  53 degrés
Avancer de 25 pixels
S'orienter à  270 degrés
Avancer de 15 pixels
Avancer de -15 pixels
S'orienter à  180 degrés
Avancer de 150 pixels
S'orienter à  233 degrés
Avancer de 25 pixels
S'orienter à  270 degrés
Avancer de 15 pixels
S'orienter à  0 degrés
Avancer de 3 pixels
Tourner de ↺ 90 degrés
Avancer de 12 pixels
S'orienter à  0 degrés
Avancer de 144 pixels
S'orienter à  270 degrés
Avancer de 12 pixels
S'orienter à  0 degrés
Avancer de 3 pixels
S'orienter à  53 degrés
Avancer de 3 pixels
S'orienter à  90 degrés
Avancer de 12 pixels
S'orienter à  53 degrés
Avancer de 18 pixels
S'orienter à  270 degrés
Avancer de 12 pixels
S'orienter à  53 degrés
Avancer de 3 pixels
Stylo relevé
Aller à x= -55 ; y= 6
S'orienter à  0 degrés
0 →A
Répéter 16
  Stylo écrit
  Répéter 2
    Répéter 9
      Avancer de 0,9 pixels
      Tourner de ↺ A degrés
      A+2,25 →A
    ⤴
    Répéter 9
      Avancer de 0,9 pixels
      Tourner de ↺ A degrés
      A-2,25 →A
    ⤴
  ⤴
  Stylo relevé
  S'orienter à  0 degrés
  Avancer de 17 pixels
  Si x>70 Alors
    Aller à x= -65 ; y= -3
  Fin

Aller à x= -53 ; y= 9
Répéter 16
  RanInt#(1;3 →A
  x →B
  y →C
  Si A=1 Alors
    S'orienter à  RanInt#(1;360 degrés
    Avancer de -2 pixels
    Tourner de ↺ 90 degrés
    Avancer de 3 pixels
    Tourner de ↺ -90 degrés
    Répéter 4
      Stylo écrit
      Avancer de 5 pixels
      Avancer de -5 pixels
      Stylo relevé
      Tourner de ↺ -90 degrés
      Avancer de 2 pixels
      Tourner de ↺ 90 degrés
    ⤴
  Fin
  Si A=2 Alors
    Stylo écrit
    Répéter 15
      Aller à x= RanInt#(B-4;B+4 ; y= RanInt#(C-2;C+2
    ⤴
  Fin
  Si A=3 Alors
    Aller à x= x ; y= y-1
    RanInt#(2;8)×,1 →D
    Stylo écrit
    Répéter 18
      Avancer de D pixels
      Tourner de ↺ 20 degrés
    ⤴
  Fin
  Stylo relevé
  S'orienter à  0 degrés
  Aller à x= B+17 ; y= C
  Si x>70 Alors
    Aller à x= -63 ; y= 0
  Fin

Aller à x= 0 ; y= 100
Consulter

Merci encore
Casio
, c'est grâce à vous tout ça, vivement que l'on puisse déguster les formidables réalisations des gagnants des deux dernières catégories !

Vainqueur catégorie Python-classe concours Noël 2022 Casio

New postby critor » 03 Feb 2023, 16:43

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

Dans une annonce précédente, nous te partagions une partie des participations
Python
de cette année.

16378Nous avons l'immense joie d'apprendre aujourd'hui même le vainqueur en
Python
dans la catégorie
classe
.

C'est donc notre cher enseignant de Mathématiques et NSI au , et déjà grand vainqueur de l'année dernière, qui a une nouvelle fois su mener brillamment ses disciples à la victoire ! :bj:

Il a su réinvestir et améliorer sa stratégie gagnante de l'année dernière.
Adam Y. wrote: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.


Félicitations donc à tous les
padawans
en question ayant chacun conçu un élément du dessin 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
  • Sybil L.
    : bougie
  • 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

Chaque élève peut dès maintenant communiquer soit choix de lot. Au menu :
  • enceinte
    JBL Go Essential
    noir
    (valeur
    30€
    )
  • montre
    Casio
Code: Select all
# 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

Et un gros merci à
Casio
pour toutes les créations d'œuvres d'art qu'a induites cette superbe nouvelle édition ; nous avons hâte à la découverte des autres participations et gagnants, ainsi qu'à l'édition de l'année prochaine !

Annonce futur mode examen fx-CP400 conforme MMS Abitur 2029

New postby critor » 02 Feb 2023, 12:00

En Allemagne, l'examen de fin d'études secondaires équivalent du Baccalauréat français est l'
Abitur
, après un cursus de 6 à 7 ans selon les Länder au
Gymnasium
, équivalent à la fois du collège et du lycée Français.

Comme tu le vois déjà, il existe des disparités entre les Länder ; l'Allemagne est en effet un Etat fédéral et chacun des 16 Länder est souverain en terme d'éducation.

Un cadre national existe toutefois pour réduire les disparités et lisser la valeur de l'Abitur. On peut citer :
  • pour la partie politique, la Conférence permanente des ministres de l'Éducation des Länder
    (Kultusministerkonferenz ou
    KMK
    )
  • pour la partie pédagogique, l'Institut pour le développement de la qualité dans l'éducation
    (Institut zur Qualitätsentwicklung im Bildungswesen ou
    IQB
    )
    , basé à Berlin

Depuis la session 2017 pour les épreuves de l'Abitur en Allemand, Anglais, Français et Mathématiques, chacun des Länder puise dans une banque nationale d'exercices publiée sur le site de l'
IQB
.

En Mathématiques, les exercices de la banque peuvent y être de 3 types selon le type d'outil numérique autorisé :
  • aucun outil numérique
  • autorisant les seules calculatrices scientifiques
    (wissenschaftlicher Taschenrechner ou
    WTR
    )
  • autorisant les calculatrices graphiques munies d'un moteur de calcul formel
    (
    CAS
    )
    , et jusqu'à présent c'était interprété comme une autorisation entre autres des calculatrices graphiques d'entrée et milieu de gamme non munies d'un tel moteur
    (grafikfähige Taschenrechner ou
    GTR
    )

Si la réglementation locale des Länder ne peut pas passer en autorisant un outil interdit, elle peut toutefois se montrer plus restrictive. Pour référence niveau autorisation des calculatrices pour l'
Abitur
, nous en sommes arrivés aujourd'hui sauf erreur à la situation suivante, par rang de population :
















LandRang/populationWTRGTRCAS
Nordrhein-Westfalen
1er
Bayern
2è
Baden-Württemberg
3è
Niedersachsen
4è
Hessen
5è
Sachsen
6è
Rheinland-Pfalz
7è
Berlin
8è
Schleswig-Holstein
9è
Brandenburg
10è
Sachsen-Anhalt
11è
Thüringen
12è
Hamburg
13è
Mecklenburg-Vorpommern
14è
Saarland
15è
Bremen
16è

Une nouvelle réforme d'uniformisation a été décidée pour une mise en oeuvre à la session 2029 de l'
Abitur
. Elle redéfinit intégralement les outils numériques pouvant être autorisés.

Comme nous te l'annoncions, l'outil
CAS
y est remplacé par l'outil
MMS
(modulares Mathematiksystem)
.

MMS
c'est quoi ? Le nouveau sigle y est défini pour l'occasion. C'est un logiciel intégré de mathématiques devant être obligatoirement capable de fournir entre autres les fonctionnalités suivantes :
  • résolution d'équations et systèmes d'équations
    (numérique et littéral)
  • dérivée et intégration de fonctions
    (numérique et littéral)
  • limites de fonctions
  • représentation graphique de fonctions
    (avec possibilité de faire varier un paramètre, de déterminer numériquement les zéros, les coordonnées d'extrema, les coordonnées de points d'intersection)
  • opérations arithmétiques de base sur les matrices et vecteurs
    (littéral)
  • transformations de matrices
    (opérations sur les lignes par exemple)
  • inversion de matrices
  • calcul de probabilités pour des distributions binomiales et normales
    (fonction de répartition et probabilités cumulées)
  • tableur et feuille de calculs
  • représentation graphique de données par des diagrammes

Les calculatrices graphiques haut de gamme peuvent répondre à cette nouvelle définition et donc rester autorisées.

Mais note bien qu'il s'agit désormais d'une définition logicielle. Les calculatrices haut de gamme seront a priori en compétition directe avec des logiciels et applications intégrés de Mathématiques tournant sur
smartphone
, tablette ou ordinateur .

Attention toutefois, car la définition du
MMS
interdit également des fonctionnalités :
  • représentation graphique d'objets géométriques
  • applications spécifiques de fonctions élémentaires
    (résolution d'équations, fonction dérivée première ou seconde)
    en relation avec des définitions ou formules mathématiques
    (fonctions spécifiques pour déterminer les zéro de certaines fonctions, équations de tangentes à une courbe, longueur d'une courbe, aires et volumes d'objets géométriques, équation d'un plan à partir des coordonnées de trois points, angle entre deux vecteurs, écart type d'une variable aléatoire, détermination de la valeur d'un paramètre d'une distribution aléatoire à partir de données)

Or les calculatrices graphiques haut de gamme disposant du calcul formel, sont également toutes munies d'une application de géométrie dynamique.

Sur la haut de gamme
TI-Nspire
et
HP Prime
a priori pas de problème, car il est possible de configurer le mode examen, et donc de désactiver les fonctionnalités interdites dont l'application de géométrie dynamique.

Par contre, il y avait un problème avec
Casio
et sa
fx-CP400
.

Ici le mode examen n'était jusqu'à présent pas configurable, et l'application de géométrie ne faisait pas partie des fonctionnalités bloquées.

Et bien bonne nouvelle,
Casio
a discuté avec l'
IQB
pour proposer une solution, et cette dernière a été acceptée.

La
fx-CP400
va bénéficier d'une mise à jour avec un mode examen conforme pour l'Allemagne. Nous nous attendons soit à un nouveau mode examen allemand en plus de celui que nous connaissons déjà, soit à l'ajout de la possibilité de configurer le mode examen.

Selon l'
IQB
, la
fx-CP400
dans ce mode examen sera bien conforme par rapport à la définition de l'outil
MMS
.

À bientôt...

Source
:
https://www.casio-schulrechner.de/de/pr ... r/fxcp400/

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

New postby 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 .
Code: Select all
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 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: Select all
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 et son groupe de disciples au à
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. wrote: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: Select all
# 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. ;)

Mise à jour img2calc images Python monochromes transparentes

New postby critor » 18 Jan 2023, 12:54

13917 est notre service en ligne gratuit de conversion d'images pour tes projets sur calculatrices.

Un large choix de formats cible t'est proposé :
  • fichiers à appeler depuis tes programmes en langage
    Basic
    :
    • pour
      Casio Graph 90+E
      et
      fx-CG50/20/10
    • pour
      Casio fx-CP400
      et
      fx-CG500
    • .8ca
      ou
      .8ci
      pour
      TI-82 Advanced Edition Python
      ,
      TI-83 Premium CE
      ,
      TI-84 Plus CE
      et
      TI-84 Plus C Silver Edition
    • .8xi
      pour
      TI-83 Plus
      (compatible
      TI-82 Plus
      ,
      TI-82 Advanced
      monochrome et
      TI-84
      monochrome)
      ,
    • .83i
      pour
      TI-83
      (compatible
      TI-82 Stats
      et
      TI-76.fr
      )
    • .82i
      pour
      TI-82
    • .86i
      pour
      TI-86
    • .85i
      pour
      TI-85
    • .73i
      pour
      TI-73
  • fichiers à appeler depuis tes scripts en langage
    Python
    :
    • pour les éditions
      Python
      des
      TI-83 Premium CE
      et
      TI-84 Plus CE
  • scripts
    Python
    pour les différentes bibliothèques de tracé par pixels disponibles selon les modèles :
    • ti_draw
      (
      TI-Nspire CX II
      )
    • graphic
      (
      TI-Nspire CX II
      avec
      KhiCAS
      ,
      TI-Nspire CX
      avec
      KhiCAS
      ,
      NumWorks
      avec
      KhiCAS
      ,
      Casio Graph 90+E
      et
      fx-CG50
      avec )
    • nsp
      (
      TI-Nspire
      avec )
    • ti_graphics
      (
      TI-83 Premium CE
      et
      TI-84 Plus CE
      éditions
      Python
      )
    • casioplot
      (
      Casio Graph 90/35+E II
      ,
      fx-9750/9860GIII
      et
      fx-CG50
      )
    • hpprime
      (
      HP Prime
      )
    • kandinsky
      (
      NumWorks
      )

Aujourd'hui, parlons donc de la conversion d'images en scripts
Python
pour calculatrices graphiques munies d'un écran monochrome.

Il s'agit de :
  • la dernière génération
    USB Power Graphic 3
    de calculatrices graphiques
    Casio
    monochromes
    (depuis 2019)
    :
    Graph 35+E II
    ,
    fx-9750GIII
    et
    fx-9860GIII
  • la première génération monochrome de
    TI-Nspire
    (2007-2011)
    :
    TI-Npspire
    ,
    TI-Npspire CAS
    ,
    TI-Npspire Touchpad
    et
    TI-Npspire CAS Touchpad
Autrement dit de nos jours, les conversions
Python
pour écran monochrome concernent essentiellement les modèles
Casio
.

Les
Graph 35+E II
,
fx-9750GIII
et
fx-9860GIII
étant pourvues d'un écran
128×64
pixels, voici ce que cela pouvait te donner :

Mais dans ce contexte, cela se passait parfois mal. C'était le cas lorsque tu fournissais une image utilisant de la transparence. Tu obtenais alors une forme entièrement noire, entièrement blanche, ou pire entièrement vide :


Le problème venait du fait que lorsqu'il devait générer un script
Python
pour calculatrice monochrome,
img2calc
travaillait sur 2 couleurs. Or pour ce genre d'image la transparence compte comme une 3ème couleur, et en conséquence une couleur était perdue lors de la conversion.

Et bien bonne nouvelle, la dernière mise à jour sortie ce jour corrige ce problème.

Désormais lorsque tu lui fournis une image transparente à convertir en script
Python
pour un écran monochrome,
img2calc
travaille bien sur 3 couleurs.

Il t'est donc enfin possible d'utiliser des images transparentes pour tes projets
Python
sur
Casio Graph 35+E II
et
fx-9750/9860GIII
! :bj:
Code: Select all
#image converted on TI-Planet
#tiplanet.org/img2calc

from casioplot import set_pixel


#the image drawing function
#- rle : image RLE-compressed data
#- w : width of image
#- pal : palette of colors to use with image
#- zoomx : horizontal zoom
#- zoomy : vertical zoom
#- itransp : index of 1 transparent color in palette or -1 if none
def draw_image(rle, x0, y0, w, pal, zoomx=1, zoomy=1, itransp=-1):
  i, x = 0, 0
  x0, y0 = int(x0), int(y0)
  nvals = len(pal)
  nbits = 0
  nvals -= 1
  while(nvals):
    nvals >>= 1
    nbits += 1
  maskval = (1 << nbits) - 1
  maskcnt = (0xFF >> nbits >> 1) << nbits
  while i<len(rle):
    v = rle[i]
    mv = v & maskval
    c = (v & maskcnt) >> nbits
    if (v & 0b10000000 or nbits == 8):
      i += 1
      c |= rle[i] << (7 - nbits + (nbits == 8))
    c = c + 1
    while c:
      cw = min(c, w - x)
      if mv != itransp:
        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 -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1


#palette for your image
#3 RGB-888 colors
palette_pplan = (
(0,0,0),(248,252,248),(0,0,0),
)

#your image data
#72x64 RLE-2 pixels
image_pplan = (
b'H\21&\1\xd8\1\5\22\t\6\t\2\5\xd0\1\5\6-\6\5\xcc\1\5\x025\6\5\xc8\1\1\69\2\5\xc8\1\1\2=\6\1\xc8\1\1\2A\2\1\xc8\1\1\x025\2\5\2\1\xc8\1\1\2\r\n\t\6\1\6\5\2\1\xc8\1\1\2\25\2\t\16\5\6\5\xc4\1\1\6!\n\t\n\t\xbc\1\5\2\t\2\25\n\r\6\t\xb8\1\5\2\5\6\25\n\25\2\t'
b'\xb0\1\t\2\1\n\21\22\25\2\t\x84\1)\n\t\2\x012\t\6\5\x80\1\1*\25\16\r\32\t\6\1\xfc\0\5\2\25\6!\16!\6\t\2\1\xfc\0\1\6%\2\25\26-\2\1x\5\2%\16\21\26\t\16\r\2\1x\1\6\t\6\25\26\t\26\5\2\5\26\1t\5\2\t\32\r\16\25\n\5\2!t\1\6\t\6\5\22\t\6\31\16\5\6\5\x84\1\5\2'
b'\r\6\r\26\35\22\t\6\1\x84\1\1\6\t\16\1"\21\36\t\2\5\xfc\0\5\2\r\36\1\32\5&\5\6\5x\1\6\tF\5&\5\6\tl\5\2\r\2\1B\5\16\1\22\5\n\td\5\2\t\6\t*\1\16\1\16\1\26\t\6\21X\1\6\t\6\r&\5\n\1\16\5\26\t\16\rP\1\2\r\6\r\2\5*\1\22\r\16\25\16\1P\6\t\n\t\2\1.\5\22\5\2\5'
b'\6\t\2\25\2\1P\2\r\n\21.\1\26\5\6\5\2\5\32\1\2\5L\2\t\22\r*\1\36\5\6\t\36\1\6\5H\2\t\26\t&\5"\5\6\5\22\21\6\t@\2\t\32\5&\1\26\t\2\t\2\5\2\t\2\25\6\t<\2\21\2\5\6\1&\1\26]\6\t4\2\21\2\1\6\5"\5\22\31\2\5\22)\n\x050\2\25\n\1&\1\22\25\2\21\6\1\n)\6\t(\2\25'
b'\n\1"\1\22\r\6\31\6\t\n%\n\5$\6\35"\5\22\t\2%\2\21\6)\6\t\34\6\25&\5\16=\6\21\n%\n\t\24\1\2\21\32\1\6\5\2\25\n-\6\1\4\t\6)\6\t\20\1\2\21\22\t\2\5\2\25\6\1\6-\2\1\f\5\n%\n\t\b\5\2\r\16\25\2\25\6\t\n%\2\5\f\t\6)\6\t\4\5\2M\6\5\0\t\6!\6\1\24\5\n)\2\5\b\1'
b'\6%\2\r\2\5\6\5\f\5\2%\2\1\30\t\6%\6\5\4\5\6\35\6\r\2\5\2\5\20\5\2\31\6\1\2\1 \5\n!\6\5\4\5\26\5\16\5\n\1\2\5\20\1\6\1\36\1\2\5 \t\6!\6\1\b\25\2\5\36\5\2\1\24\1\2\5\2\t\16\1\6\1(\t\n\31\2\1\34\1\2\1\6\5\22\5\2\1\24\1\2\5\2\t\16\5\2\1,\r\n\21\2\1\30\5\2'
b'\1\n\1\22\1\6\1\24\1\2\5\36\5\2\18\t\16\1\6\1\30\1\6\1\36\5\2\5\24\1\2\t\26\5\6\1@\r\n\5\24\5\2\5\32\t\2\1\30\1\6\5\22\5\6\5L\25\20\5\6\5\26\5\n\1\30\5\2\5\22\5\2\5\xfc\0\1\6\5\32\5\2\t\34\1\2\5\22\5\2\1\x80\1\1\2\t\26\5\2\5$\1\2\5\26\1\2\5x\5\2\5\32\1'
b'\6\5$\1\2\1\32\1\6\tp\5\2\5\32\1\2\5(\1\2\1\32\5\n\td\5\2\t\32\1\2\5(\1\2\1\36\t\6\tX\t\6\5\32\5\2\1,\1\2\1"\r\6\5T\5\6\5\36\5\2\1,\1\2\1*\t\6\1T\1\2\t"\5\2\1,\1\2\x012\5\2\1T\1\2\5\36\t\2\5,\1\2\35\26\5\2\1T\1\2\5\32\t\6\5,\1\n5\2\1P'
)

#palette for your image
#2 RGB-888 colors
palette_dplan = (
(248,252,248),(0,0,0),
)

#your image data
#114x64 RLE-1 pixels
image_dplan = (
b".\3\2\r\2\3\0\3\xb8\3\17\xdc\1\1\xf6\n\1\xe0\1\1\xde\1\3\xde\1\3\xe0\1\1\xe0\1\1\xde\1\3\xde\1\5\xda\1\a\xda\1\t\xd8\1\t\xd6\1\r\xd2\1\21\xce\1\25\xcc\1\25\xcc\1\25l\17N\25j\23\2\3\0\5>\23f)\0\x056\17f%\2\1\0\v0\rh'\6\t2\vh92\tj!\4\a\0\t,\r4\1>\27\6\17"
b"*\r6\5.\1\b\25\16\5\0\1\2\3\n\v\4\31,\v,\3\6\23\6\3\b\3\0?\"\3\0\21*\5\2\25\16\3\0\3\0\1\2\3\x041\269\22\3\6\33\b\1\0\3\20m\2\35\6\3\4\25\n\3\b\1\n9\0Y\4\1\2\25\6\31\4\x9d\1\4\33\2\31\4y\0\31\2\5\0\xbb\1\0\5\0\5\0\t\0\a\0\xc1\1\f\1\0\3\fy\0\27\6\27\0\3"
b"\24\5\22[\x001\0\23\"\a\0\a\n\35\n-\0\1\x001\f\1\n\a\16\23\22\3 \v\6\a\29\4\t\4\3\b\25\b\t\b\1\n\1 \v\b\5\6\3\0\31\x001\0\31\6\t\20\1\b\1\n\5\n\23\0\3\16\1\4\v\f\3\0\1\0?\4\v(\t\6\31\26\v\6\a\16)\20\a\2\1\22\1\30\5\4\25\0\1\16\1\2\37\x005\20\5@\5\n\1\f"
b"\5\2e\xfe\0O\b\tN\v$\27\6\5\2\1\0\a\0\25\b\r\0\t^\a\b\r\20\5\f\t\4\35\n\vf\21\0\1\f\5\n-\f\tF\3\20\33\n\1\4\3\6\1\2-\16\5T!\26\5\n-\16\3N%\32\3\f\21\6\21`%0\a\4\v\0\27\34\3\0\3.'.\1\x027\22\x036%83\20\3:%.\1\b/(\3&!.;*\1(\t\0\x1309"
)

#image drawing code sample
from casioplot import show_screen
draw_image(image_dplan, 0, 0, 114, palette_dplan, zoomx=1, zoomy=1, itransp=0)
draw_image(image_pplan, 0, 0, 72 , palette_pplan, zoomx=1, zoomy=1, itransp=0)
show_screen()

16354


Bonnes conversions à toi, et n'hésite surtout pas à nous montrer tes projets ! ;)

Liens
:


Test émulateur nouvelle fx-92 Collège - rentrée 2023

New postby critor » 16 Jan 2023, 12:04

Avec leurs 77,2% de parts de marché valeur sur l'année civile 2018, et sans concurrence sérieuse cela n'a probablement pas reculé depuis, les calculatrices
Casio fx-92 Collège
sont à raison l'idole des collégiennes et collégiens, élèves de Seconde également depuis la réforme du lycée, et bien évidemment de leurs enseignantes et enseignants.

Les
Casio fx-92
sont des modèles de calculatrices scientifiques dédiés à la France ; on ne les trouve nulle part ailleurs.

Si l'actuelle formidable
fx-92+ Spéciale Collège
française appartient à la génération
EX / Classwiz
lancée à la rentrée 2014., l'aventure des modèles
fx-92
français a pour sa part commencé à la rentrée 1992 avec la toute première
fx-92 Collège
. Revivons ensemble ce grand moment d'Histoire avec
Julien Courbey
:

Depuis, plusieurs générations se sont bien évidemment succédées jusqu'à aujourd'hui. En voici la liste accompagnée d'un résumé des améliorations logicielles et matérielles apportées :
  • rentrée
    1994
    , génération
    S / VPAM
    : saisie des calculs infixés comme on les écrit
  • rentrée
    1998
    , génération
    W / SVPAM
    : écran 2 lignes semi matriciel avec affichage mixte saisie et résultat, pavé bidirectionnel, saisie des calculs préfixés comme on les écrit, calcul en virgule flottante sur 34 bits
  • rentrée
    2001
    , génération
    MS / SVPAM
    : pavé quadri directionnel, historique de calcul
  • rentrée
    2004
    , génération
    ES / Natural Display
    : moteur de calcul exact, calcul flottant étendu à 40 bits, saisie en écriture naturelle, nouvel écran matriciel
    96x31
    pixels mais à cristaux liquides bleus, nouveau processeur
    nX-U8/100
    cadencé à
    0,5 MHz
    , mémoire
    ROM
    étendue à
    96K
    , mémoire
    RAM
    étendue à
    3,5K
    , convertisseur d'unités, bibliothèque de constantes physiques, résolution de systèmes jusqu'à 3 équations et inconnues, zéros de polynômes jusqu'au degré 3
  • rentrée
    2008
    , génération
    ES Plus / Natural VPAM
    : calcul des médianes et quartiles en statistiques
  • rentrée
    2014
    , génération
    EX / Classwiz
    : menu par icônes, génération de
    QR Codes
    , définitions simultanées de 2 fonctions, choix de la langue, nouvel écran matriciel
    192x63
    pixels contrasté avec cristaux liquides noirs, processeur accéléré à
    2,5 MHz
    , mémoire
    ROM
    étendue à
    256K
    , mémoire
    RAM
    étendue à
    8K
    , systèmes jusqu'à 4 équations et inconnues, polynômes jusqu'au degré 4, nouvelles applications
    (tableur, programmation à la
    Scratch
    , tableau périodique des éléments)

Jusqu'à présent, ces noms de générations sont inscrits sur les modèles commercialisés hors de France, mais jamais sur les modèles
fx-92 Collège
français. Pour te permettre de te répérer, voici donc la frise chronologique des modèles français associés à chacune de ces générations :
?
V
Super-FX
W
SVPAM
MS
SVPAM
ES
Natural Display
ES Plus
Natural VPAM
EX
Classwiz
1992
1993
1994
1997
1998
1999
2000
2004
2007
2008
2009
2015
2018

fx-92 Collège

fx-92 Collège

fx-92 Collège II

fx-92 Collège III

fx-92 Collège New

fx-92 Collège New+

fx-92 Collège New+

fx-92 Collège

fx-92 Collège 2D

fx-92 Collège 2D+

(
GY463
)

fx-92 Collège 2D+

(
GY468
)

fx-92 Spéciale Collège

(
CY246
)

fx-92+ Spéciale Collège

(
CY295
)


Hors de France, les modèles de chaque génération sont numérotés en partant de
fx-82
pour l'entrée de gamme jusqu'à
fx-991
pour le haut de gamme. Le modèle français
fx-92
de chaque génération apparaît donc ainsi comme un modèle intermédiaire de milieu de gamme.
15539La première révolution majeure des calculatrices scientifiques, nous la devons donc à
Casio
avec le passage à la génération
ES
à partir de la rentrée 2004 selon les pays, puis
ES PLUS
à partir de la rentrée 2008.

Elle fut déclinée à l'international en
fx-82ES
pour l'entrée de gamme et
fx-991ES
pour le haut de gamme.

En France cela s'est concrétisé avec la sortie de l'éphémère
fx-92 Collège 2D
pour la rentrée 2007, puis de la
fx-92 Collège 2D+
pour la rentrée 2008.

Le nouvel écran matriciel
96x31
pixels ouvrait la porte à 2 nouvelles fonctionnalités d'importance :
  • d'une part la saisie des calculs directement en écriture naturelle
  • d'autre part, un moteur de calcul exact de type
    QPiRac
Un véritable coup de foudre pour les collégien(ne)s et leurs enseignant(e)s. Comment avait-on pu faire sans pendant des années ?... :favorite:
15540Deuxième révolution majeure des calculatrices scientifiques, toujours grâce à
Casio
avec le passage à la génération
EX / Classwiz
à partir de la rentrée 2014 selon les pays.

Cette génération fut déclinée à l'international en
fx-82EX
pour l'entrée de gamme et
fx-991EX
pour le haut de gamme.

En France nous avons eu droit à deux modèles successifs, la
fx-92 Spéciale Collège
à la rentrée 2015 puis la
fx-92+ Spéciale Collège
à la rentrée 2018.

Cette génération bénéficie d'un superbe écran matriciel cette fois-ci correctement contrasté avec des cristaux liquides noirs et profitant d'une définition très supérieure en
192x63
pixels, battant même sur ce critère les calculatrices graphiques monochromes d'entrée de gamme ! La finesse remarquable du pixel a permis nombre de nouveautés transversales aux différentes zones de commercialisation :
  • tableaux de valeurs de 2 fonctions étudiées en parallèle
  • application tableur / feuille de calcul
  • génération de
    QR codes
    pour exporter l'état de la calculatrice


15388De plus, nous avons des nouveautés très significatives qui sont spécifiques à certaines zones de commercialisation :
  • au Japon sur la
    fx-JP900
    haut de gamme, application de tableau périodique des éléments
  • en France sur la
    fx-92+ Spéciale Collège
    , application
    Algorithmique
    offrant un langage de programmation orienté tracé à la
    Scratch
    -
    Logo
    -
    turtle
    , conformément au programme du collège


La génération
EX / Classwiz
est une véritable réinvention de la calculatrice scientifique par
Casio
, expliquant son succès phénoménal non seulement en France mais également dans le monde entier ! :bj:
15585En juin 2022, intrigués, nous partions te tester en Allemagne un tout nouveau modèle de calculatrice scientifique par
Casio
pour la rentrée 2022, la
fx-800DE CW
, au clavier très différent.

Et surprise cette nouvelle calculatrice dédiée au marché allemand était très différente des modèles
EX / Classwiz
précédents, avec un extraordinaire éventail de changements matériels et logiciels.

Clairement, la
fx-800DE CW
n'appartenait plus à la génération
EX / Classwiz
. Nous étions à l'aube d'une nouvelle révolution, et l'Allemagne avait le privilège de disposer en avant-première du premier membre d'une nouvelle génération : les
CW / Classwiz
.
Depuis cette rentrée 2022
Casio
a poursuivi le déploiement de nouveaux modèles issus de cette génération
CW / Classwiz
:

Nous attendions donc avec impatience le tour de la France avec une nouvelle déclinaison de la
fx-92 Collège
Et bien la révolution arrive, le jour historique c'est aujourd'hui… De nouveaux modèles au choix viennent tout juste d'être ajoutés à l'émulateur
Classwiz
disponible sur la plateforme en ligne de
Casio
.

Parmi les ajouts nous notons justement entre autres une nouvelle
fx-92 Collège
, dont le visuel reprend la nouvelle disposition de touches constatée sur les
CW / Classwiz
. Bingo, comme nous le pensions une
fx-92 Collège
nouvelle génération était donc bien dans les tuyaux, et devrait logiquement être disponible pour la rentrée 2023.

Pour marquer les 30 ans cette année de la famille des
fx-92 Collège
, notons que
Casio
nous reprend le nom historique du tout premier modèle. La
fx-92 Collège
de rentrée 2023 est donc la troisième du nom donc, après l'initiale de 1992 puis celle de 2004.

Puisque nous avons la chance d'avoir un émulateur sous la main, nous allons de suite en profiter pour t'effectuer un test complet de ce nouveau modèle.
Attention dans ce qui va suivre, puisque ne disposant pas encore d'un exemplaire de cette nouveauté :
  • les captures d'écran seront certes prises avec le nouvel émulateur en ligne
    fx-92 Collège
    de
  • par contre les critères ne pouvant être testés sur émulateur, ainsi que les photos lorsque plus pertinentes que des captures d'écran, seront repris de nos tests de la
    fx-800DE CW
    allemande de même génération











A) Ecran d'accueil et applications

Go to top

La
fx-92+ Spéciale Collège
offrait 8 applications à l'écran d'accueil, organisées sur 2 lignes de 4 colonnes.

Toujours 8 applications sur la nouvelle
fx-92 Collège
, mais on peut noter plusieurs changements à cet écran :
  • des icônes d'applications en niveaux de gris
  • un affichage toujours sur 2 lignes et mais désormais 3 colonnes, nécessitant certes de faire défiler pour accéder aux dernières applications, mais libérant en contrepartie de la place pour indiquer un titre systématiquement sous chaque application et non plus pour la seule application sélectionnée
Nous avons donc dans l'ordre les applications :
  1. Calcul
  2. Stats
  3. Tableur
  4. Tabl fonct
    (tableaux de valeurs)
  5. Equation
    (systèmes d'équations linéaires jusqu'à 4 inconnues)
  6. Prod. croix
  7. Algo
  8. Math Box
Et justement autres changements, nous notons :
  • la disparition de l'application
    Vérification
  • l'apparition d'une nouvelle application
    Math Box
Nous allons creuser tout ceci un peu plus loin.





B1) Modificateurs et nouvelles touches de fonction :

Go to top

Déjà avant même de toucher à quoi que ce soit, la première chose que nous remarquons est un tout nouveau clavier intégralement remanié. C'est donc la première fois depuis des décennies que
Casio
ose toucher à l'organisation des touches de ses modèles scientifiques, voyons un peu ça.

Jusqu'à la
fx-92+ Spéciale Collège
, nous disposions de 2 modificateurs permettant l'accès aux fonctions secondaires des touches :
SECONDE
et
ALPHA
. Toutefois, la calculatrice ne disposant que de 9 variables pour stocker des valeurs
(A, B, C, D, E, F, M, x et y)
, la touche
ALPHA
portait fort mal son nom, ne permettant pas d'accéder à un clavier alphabétique complet, et servant en effet pour la majorité des touches restantes à accéder à des fonctions secondaires non alphabétiques.
Le clavier de la nouvelle
fx-92 Collège
corrige cette contradiction de la façon la plus radicale possible : en supprimant le modificateur
ALPHA
pour ne conserver que le seul modificateur
SECONDE
. Les noms de variables restent présents au clavier, mais sont désormais accessibles avec le modificateur
SECONDE
.

Le clavier de la
fx-92+ Spéciale Collège
avait le défaut d'être extrêmement chargé. La quasi totalité des 50 touches disposaient de fonctions secondaires accessibles avec les modificateurs
SECONDE
ou
ALPHA
, parfois même les deux. Il fallait ainsi tenir compte du code couleur de ces inscriptions de fonctions secondaires.
Sur la nouvelle
fx-92 Collège
, le clavier est simplifié avec 48 touches. De plus le modificateur
SECONDE
, de couleur bleue, ne concerne plus que les touches situées en dessous de sa position.

C'est-à-dire que ce nouveau clavier introduit une hiérarchie de touches : celles situées au même niveau ou au-dessus du modificateur
SECONDE
ne disposent plus que d'une unique fonction principale qui reste ainsi accessible en une seule et unique pression de touche à tout moment.

Nous avons quelques changements de touches en conséquence dans la partie haute du clavier :
  • pour l'écran d'accueil des applications, la touche
    MENU
    est renommée
    ACCUEIL
  • pour accéder aux réglages plus besoin de faire
    SECONDE
    MENU
    , il suffit de taper directement la nouvelle touche
    CONFIG
  • pour accéder au menu contextuel listant les fonctionnalités spécifiques à l'application active, ce n'est plus
    OPTN
    mais

Notons que la touche
CONFIG
ne concerne plus que les paramètres globaux de la calculatrice, c'est-à-dire utilisés pour l'ensemble des applications. Les réglages de paramètres relatifs à certaines applications sont maintenant listés avec leurs fonctionnalités au menu contextuel accessible via la touche


Et nous avons de plus quelques nouvelles touches dans la partie haute du clavier dont nous allons parler de suite :
VARIABLE
,
f(x)
et
CATALOG
, dont nous allons vite reparler.

Notons que l'ensemble de ces touches principales en partie haute évoquées jusqu'ici, bénéficient d'une double inscription :
  • un pictogramme directement sur la touche
  • un texte adjacent sur le boîtier de la calculatrice, qui n'est donc pas une fonction secondaire puisque de couleur noire et non bleue, mais une indication

On pouvait regretter sur
fx-92+ Spéciale Collège
l'éloignement entre les touches
EXE
permettant de valider un calcul et
S↔D
permettant de basculer le dernier résultat sous différents formats.
Problème ici encore résolu sur la nouvelle
fx-92 Collège
, avec une touche
FORMAT
juste à côté de la touche
EXE
!




B2) Pavé directionnel et nouvelle interface menus :

Go to top

Avec la
fx-92+ Spéciale Collège
de plus en plus de choses se passaient dans les menus désormais organisés en arborescence. L'interface te permettait d'y naviguer de la façon suivante :
  • touches
    et
    pour faire défiler la liste des choix d'un menu, par groupes de 4, avec la position globale dans le menu indiquée à tout moment par un ascenseur à droite de l'écran
  • touches
    et
    pour aller dans un sous menu ou retourner au menu parent
Les 4 choix affichées étaient numérotés de 1 à 4, et tu les activais en tapant la touche numérique correspondante.

La nouvelle
fx-92 Collège
pousse encore et toujours plus loin dans la transition entre une simple calculette et un véritable ordinateur de poche.

La numérotation des choix de menus ainsi que leur validation avec les touches numériques disparaissent.

Désormais les touches
et
te permettent de sélectionner librement les différents choix d'un menu de façon individuelle, choix intuitif que tu n'as plus qu'à valider !
Mais il ne suffit pas d'améliorer l'interface, car ce n'est pas sans conséquences sur le clavier.

Face à ce changement d'interface, plusieurs problématiques étaient à résoudre :
  • cela impliquait un usage 4 fois plus intensif des touches fléchées
    et
  • et la touche de validation devenait donc
    EXE
    , située tout en bas à droite alors que les touches fléchées sont en haut du clavier, obligeant l'utilisateur à faire sans arrêt le grand écart
Et bien c'est beau de voir comme
Casio
n'a pas oublié de penser à tout niveau ergonomie également.

D'une part pour alléger l'usage des touches fléchées
et
, la nouvelle
fx-92 Collège
est dotée de 2 nouvelles touches de défilement en plus du pavé quadri directionnel. Une unique pression sur ces touches fera directement défiler l'affichage de toute une hauteur d'écran, vers le haut ou vers le bas. De quoi donc atteindre 4 fois plus rapidement le choix ciblé dans un menu !

D'autre part,
Casio
nous rajoute une deuxième touche de validation. En plus de l'historique touche
EXE
en bas à droite, nous avons maintenant une touche
OK
justement au centre du pavé directionnel. Une touche de validation donc littéralement sous la main lorsque l'on navigue dans les menus, c'est l'idéal !




B3) Catalogue de fonctions :

Go to top

Le clavier passe donc de 50 à 48 touches, avec de plus beaucoup moins de fonctions secondaires. Mais comment fait-on pour offrir autant ou même davantage de fonctionnalités dans ce cas ?

Et bien grande nouveauté, comme les calculatrices graphiques la nouvelle
fx-92 Collège
se voit dotée d'un catalogue de fonctions. Depuis n'importe quelle application, La nouvelle touche
CATALOG
te permet d'accéder à l'ensemble des fonctions de la calculatrice classées par catégories, aussi bien celles qui sont au clavier que celles qui n'y sont pas ou plus !






B4) Gestionnaire de variables :

Go to top

Comme tu l'as peut-être remarqué, la touche historique
STO
n'est plus présente sur la nouvelle
fx-92 Collège
. Mais alors, comment peut-on encore faire pour affecter des variables ?

C'est que cette disparition est liée à une nouveauté majeure. Comme sur la plupart des calculatrices graphiques, le nouveau clavier de la
fx-92 Collège
dispose maintenant d'une touche
VARIABLE
. Depuis n'importe quelle application cette touche te permet d'accéder à un véritable gestionnaire variables, te permettant :
  • de consulter d'un seul coup d'oeil les valeurs de l'ensemble des variables
  • de sélectionner une variable pour :
    • y stocker le dernier résultat obtenu
    • insérer son nom dans une saisie en cours
    • la modifier librement rien qu'en démarrant une saisie alphanumérique
Petit changement, nous perdons la variable historique nommée
M
pour mémoire, mais conservons malgré tout 9 variables puisque
Casio
nous rajoute une variable
z
à la place.




B5) Gestionnaire de fonctions :

Go to top

La
fx-92+ Spéciale Collège
te permettait de définir jusqu'à 2 fonctions sous les formes
f(x)=
et
g(x)=
. Pour cela, tu devais te rendre dans l'application
Tableau
, dédiée aux tableaux de valeurs de fonctions.

Toutefois problème, ces fonctions étaient très facilement oubliées par la calculatrice
(simple retour au menu principal même sans changer d'application, extinction de la calculatrice peu importe qu'elle soit manuelle ou automatique, appui sur la touche
ON
, …)
.

Tu ne pouvais donc pas faire appel à ces fonctions à partir d'autres applications, et pouvais même être amené(e) à devoir les saisir plusieurs fois lors d'un même exercice.
Et bien c'est fini tout ça, puisque la nouvelle
fx-92 Collège
sort la définition des fonctions de l'application
Tableau
renommée pour l'occasion
Tabl fonct
.

La définition de fonctions s'effectue maintenant directement via la touche clavier
f(x)
, et ce peu importe l'application courante. Il t'est alors possible au choix :
  • d'insérer le nom de la fonction
    f
    ou
    g
    dans une saisie en cours
  • redéfinir le nom de la fonction
    f
    ou
    g
Nous pouvons juste regretter qu'à la différence du gestionnaire de variables, les définitions de fonctions ne soient pas ici directement affichées à l'écran en question.


Un gestionnaire de fonctions désormais transversal, puisque les fonctions que tu y définis sont maintenant utilisables depuis l'ensemble des applications. Non seulement
Table fonct
mais également
Tableur
,
Calcul
ou tout ce que tu veux !




Et cela a été tellement bien conçu qu'il t'est même possible d'utiliser
f
en tant que fonction auxiliaire dans la définition de
g
et vice-versa !

Enfin rajoutons que la calculatrice n'oublie plus les définitions de fonctions lors de l'extinction ou du changement d'application !




C1) Ecran en 4 niveaux de gris :

Go to top

15757Une formidable nouveauté de la
fx-92 Collège
à notre connaissance totalement inédite sur les calculatrices scientifiques, c'est un tout nouvel écran en niveaux de gris.

Comme parfaitement illustré par l'interface de réglage du contraste accessible via la touche
CONFIG
, 4 niveaux de gris sont possibles allant du clair au sombre, indiquant donc un codage interne utilisant 2 bits par pixel :
  • noir
  • gris foncé
  • gris clair
  • blanc

15602Niveau définition nous restons sur du
192×63
pixels, déjà très supérieure à ce qu'offrent les calculatrices graphiques d'entrée de gamme.

Du changement par contre au niveau des drapeaux en haut d'écran. Nous passons de
20
drapeaux sur la
fx-92+ Spéciale Collège
à
18
drapeaux sur la nouvelle
fx-92 Collège
.

En effet, la refonte du clavier ainsi que le nouveau gestionnaire de variables amènent à la suppression de 2 drapeaux :
  • le drapeau
    A
    lié au modificateur alphabétique des touches, la touche
    ALPHA
    ayant été supprimée du clavier
  • le drapeau historique
    M
    indiquant la présence d'une valeur non nulle dans la seule variable
    M
    , hérité du temps où les calculatrices scientifiques n'avaient qu'une seule mémoire - fort peu utile aujourd'hui puisqu'ignorant ainsi paradoxalement l'état de toutes les autres variables
    A
    ,
    B
    ,
    C
    ,
    D
    ,
    E
    ,
    F
    ,
    x
    et
    y
    - paradoxe levé maintenant qu'il n'y a de toutes façons plus de variable
    M

Va-t-il maintenant bien sûr rester à voir comment ces nouvelles possibilités d'affichage sont exploitées par le logiciel.




C2) Grands caractères en gras :

Go to top

La
fx-92+ Spéciale Collège
bénéficiait d'un pixel d'écran très fin. Elle disposait de 2 tailles de police de caractères :
  • une petite notamment pour les exposants
  • une grande
Sur la nouvelle
fx-92 Collège
, il y a du changement autour de la police en gros caractères. Elle adopte un effet de gras, peut-être pour en améliorer la lisibilité.




D) QR Codes, diagnostic et services en ligne :

Go to top

Avec le raccourci
SECONDE
OPTN
, la
fx-92+ Spéciale Collège
affichait un
QR Code
te permettant d'exporter l'état courant de ta calculatrice vers la plateforme en ligne , et y trouver divers possibilités d'enrichissement, sauvegarde et partage.

Le
QR Code
était affiché par défaut en version
11
, mais si tu avais des difficultés à le
flasher
avec ton appareil tu pouvais le basculer en version
3
au pixel bien plus gros.

Rappelons que selon le volume de données que tu avais saisies, leur exportation pouvait nécessiter de
flasher
plusieurs
QR Codes
successifs, et que dans ce cas-là il te fallait utiliser l'application
Casio Edu+
sur
Android
/
iOS
.

Une astuce moins connue, c'est que tu pouvais appeler l'affichage d'un
QR Code
depuis l'écran d'accueil pour accéder aux services en ligne disponibles pour ta calculatrice :
  • consultation du guide de l'utilisateur
  • contrôle de l'authenticité de ta calculatrice
11757117581175911760


En cas de réussite au test d'authenticité, tu avais de plus accès à du contenu
premium
:
11763

Ce qui était dommage, c'était que tout ceci était un peu caché.
Et bien du changement avec la nouvelle
fx-92 Collège
. Déjà, le raccourci de génération de
QR Code
, toujours proposé en versions
3
et
11
puisque la définition d'écran n'a pas changé, devient
SECONDE
x
.

Changement de comportement à l'écran d'accueil, le raccourci exporte maintenant l'état courant de la calculatrice.

Si tu souhaites accéder aux services en ligne depuis l'écran d'accueil , il te faudra désormais taper
CONFIG
pour générer le
QR Code
nécessaire.

Ou mieux que ça, la touche
CONFIG
appelée depuis n'importe quel autre écran t'affiche maintenant clairement un choix
Mode d'emploi
.

Les services proposés se basent sur le numéro de série électronique de la calculatrice inclus dans le
QR Code
en question, ici
006A-0000-0000-0000-0000-8BB1
.

Son début
006A
nous révèle plusieurs informations qui seraient affichées par l'écran de diagnostic auquel nous n'avons pas accès sur émulateur
(car il nécessiterait de pouvoir presser plusieurs touches à la fois)
:
  • le nom de code de l'édition française du
    firmware
    EX / Classwiz
    pour la nouvelle
    fx-92 Collège
    ,
    EY-006
  • sa version,
    A
1635115989

Notons que la nouvelle
fx-92 Collège
ne semble pas encore connue du serveur de
Casio
, le manuel étant introuvable et le test d'authenticité échouant.




E1) Saisie naturelle en niveaux de gris :

Go to top

Et bien parlant niveaux de gris, nous n'avons pas à chercher bien loin. En effet
Casio
continue à faire évoluer significativement son moteur de saisie en écriture naturelle.

Dans une expression en cours de saisie justement, la zone sélectionnée par le curseur
(numérateur, dénominateur, exposant, …)
et donc affectée par la prochaine saisie est désormais mise en avant en noir, contre du gris pour tous les autres éléments de l'expression.

Une aide bienvenue pour mieux comprendre les différentes composantes d'une expression et priorités opératoires.




E2) Nouveau moteur de calcul flottant :

Go to top

Regardons maintenant un petit peu le moteur de calcul en virgule flottante, celui utilisé pour fournir les résultats en écriture décimale.

Prenons en mode degrés 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ésultats, l'on peut identifier les moteurs de calcul flottants utilisés.

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.

Depuis 2004, les modèles de générations
ES
et
EX / Classwiz
répondaient à l'unison
9,00000000733338
.

La nouvelle
fx-92 Collège
pour sa part déroge à la règle et nous sort un
9,0000000000000000075528
avec bien davantage de décimales.



Tentons de creuser un petit peu la chose justement. Rappelons que les nombres flottants s'écrivent sous la forme
$mathjax$M\times 10^E$mathjax$
avec
M
la mantisse et
E
l'exposant.

Voici un script
Python
conçu pour déterminer la précision de ces flottants, c'est-à-dire la taille maximale de la mantisse :
Code: Select all
def prec(b):
  k=0
  try:
    while 1+b**-k-1:
      k=k+1
  except:
    pass
  return k

Il suffit d'appeler prec(b)
b
est la base. Les valeurs de
b
usuelles sont :
  • 2 si l'on souhaite déterminer le nombre maximum de bits utilisables pour coder la mantisse
  • 10 si l'on souhaite déterminer le nombre maximum de chiffres significatifs utilisables pour la mantisse
Bien sûr pas de
Python
sur la nouvelle
fx-92 Collège
, mais il nous suffit de dérouler nous-même l'algorithme dans l'application
Calcul
, c'est-à-dire pour des valeurs croissantes de
k
calculer
$mathjax$1+b^{-k}-1$mathjax$
jusqu'à-ce que le résultat soit nul.

Pour placer le contexte :
  • les
    Casio
    de générations précédentes
    ES
    et
    EX / Classwiz
    , ainsi que les calculatrices graphiques actuelles d'entrée et de milieu de gamme calculent sur
    40 bits
    , permettant
    13
    chiffres significatifs
  • la
    HP Prime
    ainsi que le haut de gamme
    Casio fx-CP400+E
    calculent pour leur part sur
    48 bits
    , permettant
    15
    chiffres significatifs

Et bien la nouvelle
fx-92 Collège
calcule sur pas moins de
60 bits
, permettant jusqu'à
19
chiffres significatifs, écrasant littéralement l'intégralité des calculatrices graphiques actuelles !




E3) Mode vérification transversal :

Go to top

Nous avons donc pointé plus haut la disparition de l'application
Vérification
de la
fx-92+ Spéciale Collège
.

Cette application te permettait de saisir des relations et d'en tester la véracité.

Et bien en réalité, cette fonctionnalité est toujours présente sur la nouvelle
fx-92 Collège
, mais adopte une forme bien plus transversale. Plus besoin ici de s'enfermer dans une application bien spécifique pour en bénéficier ; car la fonctionnalité prend la forme d'un mode vérification activable dans le menu contextuel à chaque application accessible avec la touche
.

Le mode vérification est disponible sur l'application
Calcul
où il te permet alors de retrouver très exactement ce qu'était l'application
Vérification
du modèle précédent.

Mais le mode vérification est également disponible sur les applications
Tabl fonct
et
Equation
.

Avec ce mode activé les résultats
(images par la fonction et solutions des systèmes d'équations)
ne te seront pas indiqués par la calculatrice ; ce sera à toi de les saisir et cette dernière t'indiquera si tu as juste ou faux.

C'est particulièrement pertinent dans l'application
Tabl fonct
où l'on pourra facilement enchaîner les calculs d'images par une même fonction avec une saisie minimale.

Formidable donc, la nouvelle
fx-92 Collège
se transforme en exerciseur !




E4) Calcul fractionnaire par étapes :

Go to top

Toujours dans le menu contextuel avec la touche
, l'application
Calcul
permet désormais de régler le mode de simplification sur automatique
(par défaut)
ou manuel.

En mode manuel, il est possible de faire dérouler étape par étape la simplification des résultats fractionnaires avec le raccourci
SECONDE
Rép
, et obtenir à chaque fois une indication du facteur commun utilisé :


Allant bien au-delà de la simple recopie du résultat, de quoi permettre aux utilisateurs d'avancer dans sa compréhension !




E5) Séparateur de milliers :

Go to top

C'est maintenant dans les paramètres de calcul accessibles avec la touche
CONFIG
que l'on peut activer la séparation des chiffres.

Dans ce mode un espace est ajouté pour séparer les chiffres des milliers et ainsi en faciliter grandement la lecture, aussi bien en partie entière qu'en partie décimale d'ailleurs :




E6) Format des résultats :

Go to top

Sur la
fx-92+ Spéciale Collège
, la touche
SD
te permettait de basculer le dernier résultat entre les écritures exactes et décimales.

Obtenir d'autres formes d'écritures nécessitait des manipulations spécifiques :
  • pour l'écriture sexagésimale, raccourci
    SECONDE
    °'"
  • pour l'écriture scientifique, un changement du format d'écriture décimale dans les réglages, d'autant plus lourd que si c'est pour des résultats isolés il sera à rechanger à chaque fois
Et bien la nouvelle touche
FORMAT
de la
fx-92 Collège
te permet de basculer le dernier résultat entre non plus 2 formes mais jusqu'à 6 formes au choix selon le contexte :
  • Standard
    (par défaut, écriture exacte si possible)
  • Décimal
  • Notation scientifique
  • Fraction
  • Décomposition en facteurs premiers
  • Sexagésimal




E7) Format décimal :

Go to top

Parlons maintenant de la configuration de l'écriture décimale. Sur la
fx-92+ Spéciale Collège
, c'était assez obscur avec :
  • Fix
    : pour limiter la partie décimale, avec en paramètre un nombre de 0 à 9 indiquant le nombre maximal de décimales à afficher
  • Sci
    : pour une écriture scientifique, avec en paramètre un nombre de 0 à 9
    (de 1 à 9 pour le nombre maximal de chiffres significatifs à afficher, ou 0 pour ne pas limiter la chose)
  • Norm
    , avec en paramètre 1 ou 2 : 1 pour un basculement automatique en écriture scientifique lorsque jugé pertinent
Des dénominations historiques pas toujours heureuses, tout sauf évidentes avec le peu d'informations données à l'écran ; le risque était grand, surtout pour de jeunes utilisateurs, d'effectuer un réglage ne correspondant pas à ce qu'ils pensaient.
Et bien problème réglé avec la nouvelle
fx-92 Collège
. Dans les paramètres de calcul accessibles avec la touche
CONFIG
, le choix du paramètre de chaque écriture proposé est désormais illustré d'un exemple clair :




F) Nouveau matériel, mémoires et performances :

Go to top

15987Avant d'aller plus loin, parlons un petit peu des changements apportés au matériel interne entre la
fx-92+ Spéciale Collège
et la nouvelle
fx-92 Collège
, suite à nos tests sur la
fx-800DE CW
allemande de même génération.

Nous restons sur un microcontrôleur 8 bits
nX-U8/100
, cadencé non plus à
2,5 MHz
mais
5 MHz
. Les performances en calcul flottant sont pour leur part améliorées d'un facteur d'environ 1,8.

La mémoire
ROM
voit sa capacité étendue de
256 Kio
à
512 Kio
.

La mémoire
RAM
subit un traitement similaire, avec une capacité qui passe de
8 Kio
à
24 Kio
.




G) Application tableur et nouvelle gestion mémoire :

Go to top

La
fx-92+ Spéciale Collège
disposait donc de
8 Kio
de mémoire.

Un des rares mais gros défauts de cette machine géniale était justement la mémoire. Le contenu de cette dernière était très régulièrement perdu :
  • à chaque extinction de la calculatrice, peu importe qu'elle soit automatique ou manuelle
  • à chaque appui sur la touche
    ON
  • mais également à chaque changement d'application, les différentes applications semblant réutiliser la même
    (petite)
    zone mémoire et donc en écraser le contenu
Tu avais besoin d'effectuer un petit calcul pour le code du tracé que tu étais en train de coder dans l'application
Algorithmique
? Tu passais dans l'application
Calculs
, et de retour dans l'application
Algorithmique
tu te rendais compte que tu avais perdu l'intégralité de ta saisie…

C'était particulièrement douloureux dans le contexte des applications pouvant faire l'objet de saisies conséquentes :
Statistiques
,
Tableur
et
Algorithmique
.
La
fx-92+ Spéciale Collège
avait justement introduit une géniale application
Tableur
, gérant jusqu'à 45 lignes sur 5 colonnes.

Techniquement ce qu'il y avait d'intéressant avec cette application, c'est qu'elle nous donnait des informations sur la mémoire disponible. À vide elle disposait de
1,7 Ko
de mémoire pour ta feuille de calculs, sur une capacité
RAM
globale de
8 Kio
.
Avec la nouvelle
fx-92 Collège
la capacité
RAM
est triplée, passant donc à
24 Kio
.

Mais bizarrement, la mémoire libre disponible pour l'application
Tableur
est très loin de progresser dans les mêmes proportions, n'augmentant qu'à un modeste
2,38 Ko
.

Et bien en réalité, c'est toute la gestion mémoire qui a été revue, l'application
Tableur
ne semblant plus avoir accès qu'à une partie de la mémoire libre. Nos tests montrent en effet une énorme amélioration : le contenu saisi n'est plus perdu lors d'un changement d'application !

On peut désormais effectuer des saisies concurrentes dans les diverses applications
(
Stats
,
Tableur
,
Algo
…)
, et basculer librement de l'une à l'autre !

Une grande liberté, tu pourras enfin effectuer des calculs pendant le codage de tes tracés dans l'application
Algo
sans avoir à aller chercher une autre machine !

Un outil d'un intérêt pédagogique exceptionnel ; les différentes applications te permettent en effet d'avancer en parallèle la résolution d'un problème sous ses différentes représentations !




H) Application Math Box:

Go to top

Et voici donc enfin la nouvelle application
Math Box
de la
fx-92 Collège
.

Elle regroupe en fait 4 sous-applications mathématiques que nous allons explorer :
  • Lancer de dés
  • Pile ou face
  • Droite grad.
  • Cercle




H1) Simulateurs d'expériences aléatoires :

Go to top

Les 2 premiers choix de
Math Box
, sont des simulateurs d'expériences aléatoires.

"Lancer de dés"
permet de simuler jusqu'à 250 lancers de 1 à 3 dés.

L'option
"Même résult"
si activée permet de choisir entre 3 graines aléatoires, et ainsi obtenir les mêmes résultats sur différentes calculatrices.

Tu peux ensuite consulter les données ou fréquences des sommes de dés obtenues.

De façon similaire,
"Pile ou face"
permet de simuler jusqu'à 350 lancers de 1 à 3 pièces :


Illustration de la puissance supérieure du nouveau matériel, notons les petites animations en niveaux de gris jouées lors de la validation des paramètres de l'expérience aléatoire :


De formidables outils, de quoi concevoir et mettre en œuvre du superbes activités d'introduction des probabilités et ce dès la classe de Cinquième !




H2) Droite des réels :

Go to top

Autre choix de la nouvelle application
Math Box
,
"Droite grad."
pour
"Droite graduée"
.

L'interface offre ici la possibilité de saisir jusqu'à 3 relations.

Ces relations peuvent adopter l'une des 8 formes suivantes :
  • x<a
  • x≤a
  • x=a
  • x>a
  • a<x<b
  • a≤x<b
  • a<x≤b
  • a≤x≤b

La ou les relations saisies sont ensuite représentées graphiquement sur la droite des réels.

Si les paramètres déterminés automatiquement pour cette fenêtre graphique ne te conviennent pas, tu peux également les personnaliser en appelant le menu contextuel de l'application avec la touche
. Il t'est alors proposer de modifier la coordonnée à placer au centre de l'écran, ainsi que l'échelle des graduations.

De très larges possibilités en perspective : introduction des nombres négatifs en Cinquième, comparaison entre valeurs exactes et approchées, test d'appartenance à un intervalle, solutions d'un système d'inéquations, … de quoi combien aussi bien l'enseignant pour sa conception d'activités que l'élève pour sa recherche ou vérification !




H3) Cercle trigonométrique :

Go to top

Enfin dernier choix de la nouvelle application
Math Box
,
Cercle
.

L'interface te propose ici de saisir jusqu'à 2 angles, puis te permet de les représenter sur le cercle trigonométrique :


Précisons que l'unité d'angle utilisée est celle des paramètres de calcul
(degrés, radians ou grades)
, et qu'en cas de mauvaise unité tu peux donc immédiatement la changer avec la touche
CONFIG
sans perdre ta saisie.

Une fois sur le cercle, comme suggéré par l'ascenseur à la droite de l'écran, les touches
et
te permettent alors de basculer entre les deux angles pour afficher leurs images par les 3 fonctions trigonométriques sinus, cosinus et tangente, et ce en écriture exacte. Il s'agit donc d'un cercle trigonométrique interactif !

Attention, notons juste que les valeurs exactes trop complexes, bien que supportées dans les autres applications, basculent ici en écriture décimale, sans doute par manque de place.


Tu peux également changer le type de représentation, et opter pour le
Demi-cercle
trigonométrique supérieur.

Dernier choix de représentation, l'
Horloge
. Ici l'interface est différente.

Les flèches
et
te permettent d'avancer ou reculer l'aiguille des heures d'une unité. Te sont alors affichés les mesures des petit angle
(θ1)
et grand angle
(θ2)
séparant les aiguilles des heures et minutes.

Avec le cercle trigonométrique, la nouvelle
fx-92 Collège
met donc les pieds en Seconde, de façon fort pertinente suite aux nouvelles pratiques d'équipement
(ou de non équipement)
induites par la réforme du lycée.

L'horloge est un bonus pour les enseignants, une bel outil sur lequel s'appuyer pour des activités d'introduction en Seconde ou même d'approfondissement dès le Collège.




I) Nouveau logo d'extinction :

Go to top

1558816352Enfin, du changement à l'écran montré à chaque extinction de la calculatrice.

Le logo
Casio
n'y est plus tout seul. Décalé vers le haut il s'accompagne d'un slogan en gris convenant fort bien à la nouvelle
fx-92 Collège
:
"Boost your Curiosity"
, nouvelle devise de
Casio Education
.




Conclusion :

Go to top

Casio
avait déjà réinventé la calculatrice scientifique pas moins de 2 fois, changeant radicalement l'image de ce produit en le faisant véritablement entrer dans le 21è siècle :
  • génération
    ES
    avec écriture naturelle et calcul exact à partir de 2004
    (
    fx-92 Collège 2D
    à partir de 2008 en France)
  • génération
    EX / Classwiz
    avec applications et QR Codes à partir de 2014
    (
    fx-92 Spéciale Collège
    à partir de 2015 en France)

Malgré quelques petits défauts que nous venons d'évoquer, la
fx-92+ Spéciale Collège
programmable avec tableur de 2018 n'en restait pas moins une machine absolument géniale, avec plus d'une décennie d'avance matérielle et logicielle sur une concurrence totalement amorphe, et donc sans surprise un succès international !
Casio
aurait pu se reposer sur ses lauriers, mais ce ne fut clairement pas. Au contraire
Casio
semble avoir écouté, retenu et pris minutieusement en compte le moindre petit retour de ses utilisateurs et enseignants ces 7 dernières années, car avec la nouvelle
fx-92 Collège
issue de la génération
CW / Classwiz
le constructeur change clairement tout !

Quasiment tout a été revu et modifié ou amélioré : écran en niveaux de gris, clavier ergonomique, gestion transversale des variables et fonctions, mémoire partagée pour les applications concurrentes, simplification par étapes, mode vérification transversal, menus intuitifs, etc.

Si nous ne devions retenir qu'un seul mot, ce serait
intégration
. En plus de la collection de nouveautés, nombre de fonctionnalités qui sur les modèles précédents étaient à aller utiliser dans des applications ou contextes bien précis deviennent accessibles de façon transversale à différentes applications. En conséquence une bien plus grande liberté dans la recherche et résolution d'un problème, pouvant dorénavant être effectuée en parallèle sous différentes représentations ! :bj:

La nouvelle
fx-92 Collège
de rentrée 2023 est un véritable bijou d'un intérêt pédagogique exceptionnel ; elle devrait ravir encore davantage les élèves de collège et même de plus en plus Seconde suite à la réforme du lycée, ainsi que bien évidemment leurs enseignantes et enseignants ! :favorite:

Nous avons hâte de pouvoir en découvrir les premiers visuels et la prendre en main pour approfondir les tests qui ne peuvent être effectués sur émulateur… alors à bientôt, et en attendant n'hésite pas toi aussi à aller découvrir et prendre en main cette petite merveille avec l'émulateur en ligne. ;)

Source + émulateur en ligne
:


Ajout émulation fx-82NL CW Classwiz sur ClassPad.net

New postby critor » 16 Jan 2023, 11:07

Avec leurs 77,2% de parts de marché valeur sur l'année civile 2018, les calculatrices
Casio fx-92 Collège
sont l'idole des collégiennes et collégiens ainsi que de leurs enseignantes et enseignants.

L'actuelle formidable
fx-92+ Spéciale Collège
française appartient à la génération
EX / Classwiz
lancée à la rentrée 2014. Mais plusieurs générations du modèle
fx-92
dédié à la France se sont bien évidemment succédées jusqu'ici.

Mais ces générations sont en fait à scinder elles-mêmes en différentes séries. C'est beaucoup plus visible hors de France, où des modèles directement issus de générations plus anciennes continuent à être commercialisés et à évoluer en parallèle de ceux des générations plus récentes, afin de répondre aux diverses restrictions de différents examens, établissements ou niveaux.

À ce jour nous avons 3 séries qui évoluent et sont commercialisées en parallèle :
  • les
    SVPAM
  • les
    ES
  • les
    Classwiz
With their 77.2% value market share in the calendar year 2018, the
Casio fx-92 Collège
calculators are the idol of middle school students and their teachers.

The current French
fx-92+ Spéciale Collège
belongs to the
EX / Classwiz
generation launched at the beginning of the 2014 school year. But several generations of the
fx-92
model dedicated to France have obviously followed each other so far.

But these generations are in fact to be split into different series. This is much more visible outside of France, where models directly from older generations continue to be marketed and evolve in parallel with those of more recent generations, in order to meet the various restrictions of different exams, institutions, or levels.

Actually, we have 3 series that are evolving and being marketed in parallel:
  • the
    SVPAM
  • the
    ES
  • the
    Classwiz
La série conduisant aux modèles
SVPAM
a elle-même franchi plusieurs générations :
The series leading to the
SVPAM
models have themselves crossed several generations:

  • rentrée
    1989
    , génération
    V Super-FX
    : nouveau microcontrôleur
    NEC D3045BGT
    avec un cœur de calcul plus rapide pour les fonctions transcendantes
    (c'est-à-dire non algébriques : trigonométriques, hyperboliques, logarithmiques, exponentielles)

    • gammme
      fx-92
      française :
      fx-92 Collège II
      (
      1994
      )
      et
      fx-92 Collège III
      (
      1997
      )
    • gamme
      FX Junior
      française :
      FX Junior
      (
      1999
      + redesign
      2000
      )
  • rentrée
    1994
    , génération
    S VPAM
    : saisie des calculs infixés comme on les écrit
    (touches à taper dans le même ordre des symboles de leur écriture)
  • 1989
    school year,
    V Super-FX
    generation: new
    NEC D3045BGT
    microcontroller with a faster computation core for transcendental functions
    (i.e. non-algebraic: trigonometric, hyperbolic, logarithmic, exponential)

    • French
      fx-92
      range:
      fx-92 College II
      (
      1994
      )
      and
      fx-92 College III
      (
      1997
      )
    • French
      FX Junior
      range :
      FX Junior
      (
      1999
      + redesign
      2000
      )
  • 1994
    school year, generation
    S VPAM
    : input of calculations infixed as they are written
    (keys to be typed in the same order of the symbols of their writing)

  • rentrée
    1998
    , génération
    W SVPAM
    : écran 2 lignes semi-matriciel avec affichage mixte saisie et résultat, pavé bidirectionnel, saisie des calculs préfixés comme on les écrit, calcul en virgule flottante sur 34 bits
    • gamme
      fx-92
      française :
      fx-92 Collège New
      (
      1998
      )
      et
      fx-92 Collège New+
      (
      1999
      + redesign
      2000
      )
  • 1998
    school year, generation
    W SVPAM
    : 2 lines semi-matrix screen with mixed display input and result, bidirectional pad, the input of calculations prefixed as written, floating point calculation on 34 bits
    • French
      fx-92
      range:
      fx-92 College New
      (
      1998
      )
      and
      fx-92 College New+
      (
      1999
      + redesign
      2000
      )

  • rentrée
    2001
    , génération
    MS SVPAM
    : pavé quadridirectionnel, historique de calcul
    • gamme
      fx-92
      française :
      fx-92 Collège
      (
      2004
      )
    • gamme
      FX Junior
      française :
      FX Junior Plus
      (
      2009
      )
  • 2001
    school year,
    MS SVPAM
    generation: four-way pad, calculation history
    • French
      fx-92
      range:
      fx-92 College
      (
      2004
      )
    • French
      FX Junior
      range:
      FX Junior Plus
      (
      2009
      )

  • rentrée
    2019
    , génération
    MS SVPAM 2nd edition

    • gamme
      FX Junior
      française :
      FX Junior Plus
      (
      2019
      )
  • 2019
    school year,
    MS SVPAM 2nd edition
    generation
    • French
      FX Junior
      range:
      FX Junior Plus
      (
      2019
      )
Voici maintenant les diverses générations de la série
ES
:
  • rentrée
    2004
    , génération
    ES Natural Display
    : moteur de calcul exact
    QPiRac
    , calcul flottant étendu à 40 bits, saisie en écriture naturelle, nouvel écran matriciel
    96x31
    pixels mais à cristaux liquides bleus, nouveau processeur
    nX-U8/100
    cadencé à
    0,5 MHz
    , mémoire
    ROM
    étendue à
    96K
    , mémoire
    RAM
    étendue à
    3,5K
    , convertisseur d'unités, bibliothèque de constantes physiques, résolution de systèmes jusqu'à 3 équations et inconnues, zéros de polynômes jusqu'au degré 3
    • gamme
      fx-92
      française :
      fx-92 Collège 2D
      (
      2007
      )
  • rentrée
    2008
    , génération
    ES Plus Natural VPAM
    : calcul des médianes et quartiles en statistiques, verrouillage du mode de fonctionnement de la
    ROM
    (supprime la possibilité d'activer des fonctionnalités supplémentaires d'un simple coup de crayon sur le circuit)

    • gamme
      fx-92
      française :
      fx-92 Collège 2D+
      (
      2008
      + révision
      2009
      )
  • rentrée
    2019
    , génération
    ES Plus Natural VPAM 2nd edition
Now, here are the various generations of the
ES
series:
  • 2004
    school year,
    ES Natural Display
    generation:
    QPiRac
    exact calculation engine, floating calculation extended to 40 bits, natural writing input, new
    96x31
    pixel matrix display but with blue liquid crystal, new
    nX-U8/100
    processor clocked at
    0.5 MHz
    , memory
    ROM
    extended to
    96K
    , memory
    RAM
    extended to
    3.5K
    , unit converter, a library of physical constants, solving systems up to 3 equations/unknowns values, polynomial zeros up to degree 3
    • French
      fx-92
      range:
      fx-92 College 2D
      (
      2007
      )
  • 2008
    school year,
    ES Plus Natural VPAM
    generation: calculation of medians and quartiles in statistics, locking of the
    ROM
    operating mode
    (removes the possibility to activate additional functionalities with a simple stroke of the pen on the circuit)

    • French
      fx-92
      range:
      fx-92 College 2D+
      (
      2008
      + revision
      2009
      )
  • 2019
    school year, generation
    ES Plus Natural VPAM 2nd edition

15539
La série
ES
à partir de la rentrée 2004 selon les pays constitue une première révolution majeure des calculatrices scientifiques, que nous devons donc à
Casio
.

Le nouvel écran matriciel
96x31
pixels ouvrait la porte à 2 nouvelles fonctionnalités d'importance :
  • la saisie des calculs directement en écriture naturelle
  • un moteur de calcul exact de type
    QPiRac
Un véritable coup de foudre pour les collégiens et leurs enseignants. Comment avait-on pu faire sans pendant des années ?... :favorite:

La série
ES
fut déclinée à l'international en des modèles allant de
fx-82ES
pour l'entrée de gamme à
fx-991ES
pour le haut de gamme.
The
ES
series from the beginning of the 2004 school year, depending on the country, is the first major revolution in scientific calculators, which we owe to
Casio
.

The new matrix screen
96x31
pixels offered 2 new important features:
  • the input of calculations directly in a "natural writing"
  • an exact calculation engine like
    QPiRac
It was a real eye-opener for the students and their teachers. How could we do without it for years?... :favorite:

The
ES
series was internationally differentiated in models ranging from
fx-82ES
for the entry-level to
fx-991ES
for the top-of-the-line.
Et voici enfin les générations de la série
Classwiz
:
  • rentrée
    2014
    , génération
    EX Classwiz
    : menu par icônes, génération de
    QR Codes
    , définitions simultanées de 2 fonctions, choix de la langue, nouvel écran matriciel
    192x63
    pixels contrasté avec cristaux liquides noirs, processeur accéléré à
    2,5 MHz
    , mémoire
    ROM
    étendue à
    256K
    , mémoire
    RAM
    étendue à
    8K
    , systèmes jusqu'à 4 équations et inconnues, polynômes jusqu'au degré 4, nouvelles applications
    (tableur, programmation à la
    Scratch
    , tableau périodique des éléments)

    • gamme
      fx-92
      française :
      fx-92 Spéciale Collège
      (
      2015
      )
      +
      fx-92+ Spéciale Collège
      (
      2018
      )
  • rentrée
    2022
    , génération
    CW Classwiz
    : calcul flottant étendu à 60 bits, nouvel écran en 4 niveau de gris, processeur accéléré à
    5 MHz
    , mémoire
    ROM
    étendue à
    512K
    , mémoire
    RAM
    étendue à
    24K
    , nouvelles applications
    (simulation d'expériences aléatoires, cercle trigonométrique, droite des réels), refonte du clavier, variables et fonctions partagées par les différentes applications et conservées à l'extinction
And finally, here are the generations of the
Classwiz
series:
  • 2014
    school year,
    EX Classwiz
    generation: menu by icons, generation of
    QR Codes
    , simultaneous definitions of 2 functions, choice of language, new matrix screen
    192x63
    contrasting pixels with black liquid crystals, processor accelerated to
    2.5 MHz
    , memory
    ROM
    extended to
    256K
    , memory
    RAM
    extended to
    8K
    , systems up to 4 equations/unknowns values, polynomials up to degree 4, new applications
    (spreadsheet,
    Scratch
    programming, periodic table of elements)

    • French
      fx-92
      range:
      fx-92 Spéciale Collège
      (
      2015
      )
      +
      fx-92+ Spéciale Collège
      (
      2018
      )
  • 2022
    school year,
    CW Classwiz
    generation: floating-point computation extended to 60 bits, new screen in 4 levels of gray, processor accelerated to
    5 MHz
    ,
    ROM
    memory extended to
    512K
    ,
    RAM
    memory extended to
    24K
    , new applications
    (simulation of random experiments, trigonometric circle, line of the reals), redesign of the keyboard, variables and functions shared by the various applications and kept at extinction

15540
Deuxième révolution majeure des calculatrices scientifiques, toujours grâce à
Casio
avec la série
Classwiz
à partir de la rentrée 2014 selon les pays.

Cette série bénéficie d'un nouvel écran matriciel cette fois-ci correctement contrasté avec des cristaux liquides noirs et profitant d'une définition très supérieure en
192x63
pixels, battant même certaines calculatrices graphiques monochromes d'entrée de gamme. Ce nouveau pixel très fin a permis nombre de nouveautés transversales aux différentes zones de commercialisation :
  • tableaux de valeurs de 2 fonctions étudiées en parallèle
  • application tableur / feuille de calcul
  • génération de
    QR codes
    pour exporter l'état de la calculatrice
Second major revolution in scientific calculators, still thanks to
Casio
with the
Classwiz
series from the beginning of the 2014 school year depending on the country.

This series benefits from a new matrix screen, this time with good contrast and black liquid crystals, and a much higher definition in
192x63
pixels, beating even some entry-level monochrome graphic calculators. This new very thin pixel has allowed a number of new features across the different marketing areas:
  • tables of values of 2 functions studied in parallel
  • spreadsheet application
  • generation of
    QR codes
    to export the calculator status



15388
De plus, nous avons des nouveautés très significatives qui sont spécifiques à certaines zones de commercialisation :
  • sur le modèle haut de gamme du Japon , application de tableau périodique des éléments
  • en France sur la
    fx-92+ Spéciale Collège
    , application
    Algorithmique
    offrant un langagage de programmation orienté tracé à la
    Scratch
    -
    Logo
    -
    turtle
    , conformément au programme du Collège
Plus, we have some very significant new features that are specific to certain marketing areas:
  • on the top model in Japan , application of periodic table of elements
  • in France on the
    fx-92+ Special College
    ,
    Algorithm
    application offering a
    Scratch
    -
    Logo
    -
    turtle
    plot-oriented programming language, in accordance with the College program



15823
La génération
EX Classwiz
est une véritable réinvention de la calculatrice scientifique par
Casio
, expliquant son succès phénoménal non seulement en France mais également dans le monde entier ! :bj:
The
EX Classwiz
generation is a real reinvention of the scientific calculator by
Casio
, explaining its phenomenal success not only in France but also worldwide! :bj:

15585
Depuis cette rentrée 2022
Casio
est de plus en train de déployer dans le monde entier des modèles issus d'une nouvelle génération
CW Classwiz
.
Since the beginning of the 2022 school year,
Casio
is moreover deploying all over the world models from a new generation
CW Classwiz
.

15757
La génération
CW Classwiz
bénéficie d'un extraordinaire éventail de changements, dont le passage à un écran en 4 niveaux de gris, mais également un processeur encore une fois accéléré.

Pour illustrer les hautes capacités du nouveau matériel, voici quelques animations en niveaux de gris jouées par les simulateurs d'expériences aléatoires de la nouvelle application
MathBox
:
The
CW Classwiz
generation benefits from an extraordinary set of changes, including the switch to a 4-gray screen, but also a once again accelerated processor.

To illustrate the high capabilities of the new hardware, here are some grayscale animations played by the randomized experiment simulators of the new
MathBox
application:

Tout ceci n'ayant certainement pas été développé juste pour l'Allemagne qui plus est dans un contexte de restrictions, nous te prédisions en conséquence l'arrivée sous quelques mois de nouveaux modèles de calculatrices scientifiques
Casio
de par le monde, et donc entre autre un successeur à la
fx-92+ Spéciale Collège
française.

Et bien nous avions vu juste, il y a une nouvelle génération de calculatrices
Casio
scientifiques, les
CW / Classwiz
, remplaçant donc les anciennes mais déjà géniales
EX / Classwiz
.

Casio
est en train de la déployer progressivement dans le monde entier, et nous t'avons déjà annoncé plusieurs nouveaux modèles :
Il t'est possible de tester en avant-première les formidables nouveautés, grâce à l'émulateur en ligne intégré à la plateforme en ligne
Classpad.net
de
Casio
.

Toutefois la dernière
fx-82NL
, premier modèle personnalisé pour les Pays-Bas, n'y était pas encore proposé...
Et bien c'est chose faite en ce début de semaine, la
fx-82NL
se voit ajoutée à l'offre d'émulation de
Classpad.net
.

Nous découvrons au passage le thème de couleurs retenu pour ce premier modèle néerlandais, non pas vert comme pour la France mais bleu.

Tu peux dès maintenant aller le découvrir !

Liens
:

  • (émulation
    Classwiz
    gratuite, le service sera fermé après le
    30 septembre 2023
    )
  • (émulation
    Classwiz
    payante, nécessitant l'achat ou la récupération d'un numéro de licence)

Mise à jour img2calc: support du Python KhiCAS Graph 90+E

New postby critor » 10 Jan 2023, 11:44


13917Dans une série d'articles précédents nous te présentions , notre service en ligne gratuit sur
TI-Planet
te permettant de convertir facilement tes images pour tes projets sur calculatrices.

Un large choix de formats cible t'était proposé :
  • fichiers à appeler depuis tes programmes en langage
    Basic
    :
    • pour
      Casio Graph 90+E
      et
      fx-CG50/20/10
    • pour
      Casio fx-CP400
      et
      fx-CG500
    • .8ca
      ou
      .8ci
      pour
      TI-82 Advanced Edition Python
      ,
      TI-83 Premium CE
      ,
      TI-84 Plus CE
      et
      TI-84 Plus C Silver Edition
    • .8xi
      pour
      TI-83 Plus
      (compatible
      TI-82 Plus
      ,
      TI-82 Advanced
      monochrome et
      TI-84
      monochrome)
      ,
    • .83i
      pour
      TI-83
      (compatible
      TI-82 Stats
      et
      TI-76.fr
      )
    • .82i
      pour
      TI-82
    • .86i
      pour
      TI-86
    • .85i
      pour
      TI-85
    • .73i
      pour
      TI-73
  • fichiers à appeler depuis tes scripts en langage
    Python
    :
    • pour les éditions
      Python
      des
      TI-83 Premium CE
      et
      TI-84 Plus CE
  • scripts
    Python
    pour les différentes bibliothèques de tracé par pixels disponibles selon les modèles :
    • ti_draw
      (
      TI-Nspire CX II
      )
    • graphic
      (
      TI-Nspire CX II
      avec
      KhiCAS
      ,
      TI-Nspire CX
      avec
      KhiCAS
      et
      NumWorks
      avec
      KhiCAS
      )
    • nsp
      (
      TI-Nspire
      avec )
    • ti_graphics
      (
      TI-83 Premium CE
      et
      TI-84 Plus CE
      éditions
      Python
      )
    • casioplot
      (
      Casio Graph 90/35+E II
      ,
      fx-9750/9860GIII
      et
      fx-CG50
      )
    • hpprime
      (
      HP Prime
      )
    • kandinsky
      (
      NumWorks
      )
16209Nouveauté de rentrée 2022, les
Casio Graph 90+E
et
fx-CG50
disposent maintenant d'une édition intégrale de
KhiCAS
.

Cette version complète intègre entre bien d'autres choses un grapheur
3D
ainsi qu'un véritable interpréteur
Micropython
(version
1.12
)
et donc entre autres la bibliothèque de tracé par pixels
graphic
.
Aujourd'hui nous mettons enfin à jour
img2calc
.

Nous rajoutons donc un nouveau mode de conversion dédié à la bibliothèque
graphic
de
KhiCAS
sur
Graph 90+E
et
fx-CG50
! :bj:

16350Au menu :
  • jusqu'à
    384×192
    pixels
    (redimensionnement automatique si besoin)
    , exactement comme avec la bibliothèque officielle
    casioplot
    de
    Casio
  • mode
    384×174
    pixels accessible d'un clic, préservant l'affichage des onglets de menu en bas d'écran si ton projet les utilise
  • limitation de la longueur des lignes du script à 128 caractères pour compatibilité avec l'éditeur de script de
    KhiCAS

Bonnes conversions à toi, et n'hésite pas à nous montrer tes projets ! ;)

Liens
:

13917Previously, we've introduced you , our free online service on
TI-Planet
that allows you to easily convert your images for your projects to your calculators.

You were able to convert in a lot of calculator formats:
  • files to call from your
    Basic
    language programs:
    • for the
      Casio Graph 90+E
      and
      fx-CG50/20/10
    • for the
      Casio fx-CP400
      and
      fx-CG500
    • .8ca
      or
      .8ci
      for the
      TI-82 Advanced Edition Python
      ,
      TI-83 Premium CE
      ,
      TI-84 Plus CE
      and
      TI-84 Plus C Silver Edition
    • .8xi
      for the
      TI-83 Plus
      (compatible with
      TI-82 Plus
      ,
      TI-82 Advanced
      monochrome and
      TI-84
      monochrome)
      ,
    • .83i
      for the
      TI-83
      (compatible with
      TI-82 Stats
      and
      TI-76.fr
      )
    • .82i
      for the
      TI-82
    • .86i
      for the
      TI-86
    • .85i
      for the
      TI-85
    • .73i
      for the
      TI-73
  • files to call from your
    Python
    scripts:
    • for the
      Python
      editions of the
      TI-83 Premium CE
      and
      TI-84 Plus CE
  • Python
    scripts for the different pixel plot libraries available to:
    • ti_draw
      (
      TI-Nspire CX II
      )
    • graphic
      (
      TI-Nspire CX II
      with
      KhiCAS
      ,
      TI-Nspire CX
      with
      KhiCAS
      and
      NumWorks
      with
      KhiCAS
      )
    • nsp
      (
      TI-Nspire
      with )
    • ti_graphics
      (
      TI-83 Premium CE
      and
      TI-84 Plus CE
      editions
      Python
      )
    • casioplot
      (
      Casio Graph 90/35+E II
      ,
      fx-9750/9860GIII
      and
      fx-CG50
      )
    • hpprime
      (
      HP Prime
      )
    • kandinsky
      (
      NumWorks
      )
16209Since the 2022 school year, the
Casio Graph 90+E
and
fx-CG50
released a full edition of
KhiCAS
.

This complete version includes among other things a
3D
plotter as well as a real
Micropython
interpreter
(version
1.12
)
and therefore among other things the
graphic
pixel plot library.
Today we finally update
img2calc
.

We've added a new conversion mode, especially to the
graphic
library of
KhiCAS
on
Graph 90+E
and
fx-CG50
! :bj:

16350On the menu:
  • up to
    384×192
    pixels
    (automatic resizing if needed)
    , exactly as with the official
    casioplot
    library from
    Casio
  • one-click
    384×174
    pixel mode, preserving the bottom menu tabs if your project uses them
  • limiting the script line length to 128 characters for compatibility with the
    KhiCAS
script editor

At your conversions! and share us your projects ;)

Links
:


-
Search
-
Social TI-Planet
-
Featured topics
Concours de dessin de Noël 2022 par Casio jusqu'au 30 janvier 2023 : programme ton menu de Noël sur ta fx-92+ Spéciale Collège ou Graph 90/35+E II
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
619 utilisateurs:
>598 invités
>15 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)