π
<-
Chat plein-écran
[^]

Concours de l'Avent 2021 "l'énigme des 3 portes" : jour 3

Concours de l'Avent 2021 "l'énigme des 3 portes" : jour 3

Message non lude critor » 03 Déc 2021, 09:56

Concours
TI-Planet
de l'
Avent 2021

L'énigme des 3 portes
:
jour n°3



Viens rassembler les indices et bouts de code
Python
chaque jour de l'Avent ; sois parmi les premiers à passer l'une des portes pour gagner de superbes cadeaux de Noël ! :favorite:

... encore et encore...

14932
Code: Tout sélectionner
from math import ceil

def nop(*argv): pass
show, wait = nop, nop
neg_fill_rect = False
has_color = True

try: # NumWorks, NumWorks + KhiCAS, TI-Nspire CX + KhiCAS
  import kandinsky
  fill_rect = kandinsky.fill_rect
  screen_w, screen_h = 320, 222
  neg_fill_rect = True
except:
  try: # TI
    import ti_draw
    try: # TI-Nspire CX II
      ti_draw.use_buffer()
      show = ti_draw.paint_buffer
    except: # TI-83PCE/84+CE Python
      wait = ti_draw.show_draw
    screen_w, screen_h = ti_draw.get_screen_dim()
    try: # check TI-83PCE/84+CE ti_draw 1.0 fill_rect bug
      ti_draw.fill_rect(0,0,1,1)
      def fill_rect(x, y, w, h, c):
        ti_draw.set_color(c[0], c[1], c[2])
        ti_draw.fill_rect(x, y, w, h)
    except: # workaround
      def fill_rect(x, y, w, h, c):
        ti_draw.set_color(c[0], c[1], c[2])
        ti_draw.fill_rect(x - 1, y - 1, w + 2, h + 2)
  except:
    try: # Casio Graph 90/35+E II, fx-9750/9860GIII, fx-CG50
      import casioplot
      casioplot.set_pixel(0, 0, (0, 0, 255))
      col = casioplot.get_pixel(0, 0)
      has_color = col[0] != col[2]
      screen_w, screen_h = has_color and (384, 192) or (128, 64)
      show = casioplot.show_screen
      def fill_rect(x, y, w, h, c):
        for dy in range(h):
          for dx in range(w):
            casioplot.set_pixel(x + dx, y + dy, c)
    except:
      try: # HP Prime
        import hpprime
        screen_w, screen_h = hpprime.grobw(0), hpprime.grobh(0)
        hpprime.dimgrob(1, screen_w, screen_h, 0)
        def col3_2_rgb(c, bits=(8,8,8), bgr=1):
          return c[2*bgr]//2**(8 - bits[0]) + c[1]//2**(8 - bits[1])*2**bits[0] + c[2*(not(bgr))]//2**(8-bits[2])*2**(bits[0] + bits[1])
        def fill_rect(x, y, w, h, c):
          hpprime.fillrect(1, x, y, w, h, col3_2_rgb(c), col3_2_rgb(c))
        def show():
          hpprime.strblit(0, 0, 0, screen_w, screen_h, 1)
        def wait():
          while hpprime.keyboard(): pass
          while not(hpprime.keyboard()): pass
      except:
        pass
if not neg_fill_rect:
  _fill_rect = fill_rect
  def fill_rect(x, y, w, h, c):
    if w < 0:
      x += w
      w = -w
    if h < 0:
      y += h
      h = -h
    _fill_rect(x, y, w, h, c)

def draw_image(rle, x0, y0, w, pal, zoomx=1, zoomy=1, itransp=-1):
  if not has_color:
    pal = list(pal)
    g_min, g_max = 255, 0
    for k in range(len(pal)):
      c = pal[k]
      g = 0.299*c[0] + 0.587*c[1] + 0.114*c[2]
      g_min = min(g_min, g)
      g_max = max(g_max, g)
      pal[k] = g
    for k in range(len(pal)):
      pal[k] = pal[k]<(g_min + g_max) / 2 and (0,0,0) or (255,255,255)
  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:
        fill_rect(x0 + x*zoomx, y0, cw*zoomx, zoomy, pal[mv])
      c -= cw
      x = (x + cw) % w
      y0 += x == 0 and zoomy
    i += 1

palettes = (
  (
    (247,176,36),(247,207,73),(231,89,0),(247,131,8),
  ),
)
images = (
  (
    b"\b\x05\n?\n\x05\x18\x05\n7\n\x05\x20\x05\n/\n\x05(\x05\n'\n\x050\x05\n\x1f\n\x058\x05\n\x17\n\x05@\x05\n\x0f\n\x05H\x05\n\a\n\x05P\x05\x16\x05X\x05\x0e\x05`\x05\x06\x05d\a\x06\a`\a\x02\x04\x02\aX\a\x02\x0c\x02\aP\a\x02\x04\a\x04\x02\aH\a\x02\x04"
    b"\x0f\x04\x02\a@\a\x02\x04\x17\x04\x02\a8\a\x02\x04\x1f\x04\x02\a0\a\x02\x04'\x04\x02\a(\a\x02\x04/\x04\x02\a\x20\a\x02\x047\x04\x02\a\x18\a\x02\x04?\x04\x02\a\x10\a\x02\x04G\x04\x02\a\b\a\x02\x04O\x04\x02\a\x00\a\x02\x04W\x04\x02\x0b\x02\x04_\x04"
    b"\x02\x03\x02\x04g\x04\x0eg\n\x01\n_\n\t\nW\n\x05\x00\x05\nO\n\x05\b\x05\nG\n\x05\x04"
  ),
)
for y in range(ceil(screen_h / 32)):
  for x in range(ceil(screen_w / 32)):
    draw_image(images[0], x*32, y*32, 32, palettes[0])
show()
wait()

Lien
:
lots et ressources
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 29.5%
 
Messages: 39765
Images: 11918
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude SlyVTT » 03 Déc 2021, 10:20

Tiens, j'avais pris un jour d'avance :)
Some works in progress :
The GUI Toolkit NF for nSpireMagic Light for nSpire CX/CX-IIMagic Light for Casio Graph 90+ESimple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
100%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 61.9%
 
Messages: 307
Images: 16
Inscription: 19 Jan 2021, 09:41
Genre: Homme
Calculatrice(s):
GitHub: SlyVTT

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude ptitjoz » 03 Déc 2021, 11:34

SlyVTT a écrit:Tiens, j'avais pris un jour d'avance :)

oui tu es trop fort
Avatar de l’utilisateur
ptitjoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 6.5%
 
Messages: 285
Images: 0
Inscription: 17 Oct 2018, 15:38
Localisation: France Loir et Cher
Genre: Homme
Calculatrice(s):
Classe: à la poursuite du vent et des étoiles

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude SlyVTT » 03 Déc 2021, 11:38

C'était cousu de fil blanc, il y a un motif en X et en Y, donc c'était attendu ;-)
Some works in progress :
The GUI Toolkit NF for nSpireMagic Light for nSpire CX/CX-IIMagic Light for Casio Graph 90+ESimple Text Editor for nSpireOutRun for Casio Graph 90+E
95%
100%
100%
75%
100%
And more to come ... stay tuned
Avatar de l’utilisateur
SlyVTTPremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 61.9%
 
Messages: 307
Images: 16
Inscription: 19 Jan 2021, 09:41
Genre: Homme
Calculatrice(s):
GitHub: SlyVTT

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude critor » 03 Déc 2021, 11:51

Désolé, étant bien occupé je n'ai pas été très présent hier, mais j'ai bien vu passer ton script amélioré. Bravo, tu as compris que tout ne se jouerait pas les derniers jours, qu'il fallait commencer à lancer le script dès maintenant, préparer les outils pour pouvoir le faire le plus rapidement possible après publication, et commencer à tester des modifications ou ajouts. 😃👍
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 29.5%
 
Messages: 39765
Images: 11918
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude ptitjoz » 03 Déc 2021, 12:06

critor a écrit:Désolé, étant bien occupé je n'ai pas été très présent hier, mais j'ai bien vu passer ton script amélioré. Bravo, tu as compris que tout ne se jouerait pas les derniers jours, qu'il fallait commencer à lancer le script dès maintenant, préparer les outils pour pouvoir le faire le plus rapidement possible après publication, et commencer à tester des modifications ou ajouts. 😃👍


le seul souci de ce concours c'est d’être dispo dans les moments décisifs.
Par exemple, là j'ai un peu de temps mais au moment de Noël ça va sans doute être compliqué.
En tous cas merci critor de travailler sans relâche ! je me demande bien comment tu fais !
Avatar de l’utilisateur
ptitjoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 6.5%
 
Messages: 285
Images: 0
Inscription: 17 Oct 2018, 15:38
Localisation: France Loir et Cher
Genre: Homme
Calculatrice(s):
Classe: à la poursuite du vent et des étoiles

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude critor » 03 Déc 2021, 13:07

Le code déjà partagé est important pour la résolution, bien que non suffisant
(sauf si vous êtes géniaux ;))
.

Après oui, c'est le principe d'un concours de l'Avent d'avoir 24-25 indices et de se terminer vers Noël.

Mais si vous avez des horaires préférés pour les publications d'indices à compter du 18 décembre, ne pas hésiter à le dire. On peut même faire un petit sondage et voir si une tendance se dégage.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 29.5%
 
Messages: 39765
Images: 11918
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Re: Concours de l'Avent 2021 "l'énigme des 3 portes" : jour

Message non lude critor » 13 Déc 2021, 13:37

ptitjoz a écrit:le seul souci de ce concours c'est d’être dispo dans les moments décisifs.
Par exemple, là j'ai un peu de temps mais au moment de Noël ça va sans doute être compliqué.
En tous cas merci critor de travailler sans relâche ! je me demande bien comment tu fais !


Sauf si certains d'entre vous sont encore plus géniaux que ce que je pense, les 3 indices des 3 derniers jours rendront successivement franchissables les portes Casio/NumWorks/TI, ordre non encore décidé.

Les plus rapides à faire ce qu'il faut suite à chacun de ces derniers indices gagneront, et ça dépendra entre autres de la compréhension du reste du code.

Je dois pouvoir m'arranger pour éviter la journée du samedi 25.

Que préférez-vous après ?
Dimanche 26 à Mardi 28 ?
Lundi 27 à Mercredi 29 ?

Merci.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 29.5%
 
Messages: 39765
Images: 11918
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor


Retourner vers News Divers

Qui est en ligne

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

-
Rechercher
-
Social
-
Sujets à la une
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 30 Octobre 2022
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 5€. Même non fonctionnelle ou ancien modèle. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2022
Programme d'aide à l'équipement des établissements rentrée 2022. Pour tout achat groupé ou recommandation exclusive de calculatrices TI, 1 produit TI offert pour chaque tranche de 30 élèves concernés !
Programme d'aide à l'équipement des établissements rentrée 2022. Pour tout achat groupé ou recommandation même non exclusive de calculatrices Casio, des produits offerts pour chaque classe concernée !
Comparaisons des meilleurs prix pour acheter sa calculatrice !
123456
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
446 utilisateurs:
>417 invités
>23 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)