french_styles.py

Created by frablock

Created on June 23, 2022

6.14 KB

Petit script pour réviser ses figures de styles


from random import *;from kandinsky import *;from ion import *;from time import *
ds,kd,fr,sl,p=draw_string,keydown,fill_rect,sleep,print
a={"ALLEGORIE":" Personnification d'une ide"+chr(769)+"e abstraite ","ALLITERATION":" Re"+chr(769)+"pe"+chr(769)+"tition d'une ou de plusieurs consonnes dans un groupe de mots","ANAPHORE":" Re"+chr(769)+"pe"+chr(769)+"tition d'une me"+chr(770)+"me expression ou d'un me"+chr(770)+"me mot en de"+chr(769)+"but de phrase ou de vers","ANTITHESE":" 2 termes de sens oppose"+chr(769)+"s dans une me"+chr(770)+"me phrase","ASSONANCE":" Re"+chr(769)+"pe"+chr(769)+"tition d’une me"+chr(770)+"me voyelle dans un groupe de mots","CHIASME":" Structure en croix qui associe 2 termes sans ne"+chr(769)+"cessairement qu'ils aient un rapport de sens","COMPARAISON":" Etablir un paralle"+chr(768)+"le entre un compare"+chr(769)+" et un comparant a"+chr(768)+" l'aide d'un mot-outil","ENUMERATION / ACCUMULATION":" Juxtaposition d'une se"+chr(769)+"rie de termes","EUPHEMISME":" Formulation adoucie d'une ide"+chr(769)+"e qui pourrait paraître trop brutale","GRADATION":" Succession de mots/expressions de sens voisins et dont l'ordre traduit une progression","HYPERBOLE":" Exage"+chr(769)+"ration dans le choix des mots","IRONIE":" Dire le contraire de ce que l'on pense","LITOTE":" Utilisation d'une expression sugge"+chr(769)+"rant beaucoup plus que ce qu'elle dit re"+chr(769)+"ellement","METAPHORE":" Etablir une assimilation entre un compare"+chr(769)+" et un comparant sans outils de comparaison.","METONYMIE":"Remplacer un e"+chr(769)+"le"+chr(769)+"ment par un autre e"+chr(769)+"le"+chr(769)+"ment appartenant au me"+chr(770)+"me ensemble logique","OXYMORE":" Re"+chr(769)+"unir a"+chr(768)+" l'inte"+chr(769)+"rieur d'une me"+chr(770)+"me expression deux mots aux sens oppose"+chr(769)+"s","PERIPHRASE":" Remplacer un terme par une expression qui le de"+chr(769)+"finit","PERSONNIFICATION":" Attribuer des qualite"+chr(769)+"s humaines a"+chr(768)+" un objet inanime"+chr(769)+"","PLEONASME":" Re"+chr(769)+"pe"+chr(769)+"tition superflue de termes","SYNECDOQUE":"Remplacer un mot par un autre ayant une relation d’inclusion.Cas particulier de la me"+chr(769)+"tonymie."}
wai1_c=[[255, 255, 255], [236, 227, 228], [225, 216, 219], [187, 178, 184], [124, 118, 125], [93, 89, 97], [209, 199, 204], [155, 148, 158], [62, 60, 64], [235, 210, 186], [250, 230, 204], [253, 245, 217], [184, 141, 122], [46, 43, 47], [224, 168, 139], [117, 91, 39]]
wai1="A516B3CB3A72B10A69B3DEF2EDB3A67BCGEFEH2EFEHCBA65BCGFHCB4CHFHCBA64BGEDB7DI2HDA63B2HGCB8GDIFDA61B2CGCB2C2B5CBDFCA61BG2BC2BJCBCB4CBDBA61GC2BGBGKCBDCB3CBCBA60BGC2BGCGLJCDGBCBCBC2A60BC3BD2L2CGDJCGBGBCB2A58B2C2GBD2L2KD2JGDCGBCB2A58BABCGCHJKL2HDLJHGDCGCBA58BABG3ML4D2L2JD2CG2BA58BABCG2ME2JLKDKJE2DCGC2A60BCGDHNFML2KJFNHDG2CB2A59C2GDCEFCL3KDFEBGJB2A60GBCDKGMKL4BDGKGB3A58BACG2DKJ2KL4KJ3G2B2A58BABGEDJ3KLKL2KJ3GHCB2A57B3CEHJK3L4K3JDHGBCA57B2CGEHGL9KD2HGB3A55B2DCGH3JL3K2L3D2GD2B4A53B2CHBGH4DL5KDFHDGHG2B3A51B3D2BCHDH2FOKL2KHDEHGCHD2CB3A49B3CHGB2DCH2FO2J2OEGEGC2HD2HB2CA49B3DHGBCGBGHFMO4FDHCBGHGDHDBGBA48GCGH2CBDGBGFIJ2O3HIHCBDHGH3CDBA48GH4B2DC2HINGBJ2CEN2DBGEGDH2DHBA49DHEDBGDCGFI2GAJBCI3ECGHDH5BA49CHEGHFDCDI3DGIDBI4G2DH2EH2DA47BA2GCHFIEHGHNI2HGNHGI3NHGDI2EHDHBA46B2AB2HI2EHDEINIHBNCGI2NIFGHEI2HACGA45B2CABCDI2E2HFI3HCIG2I5DEFI2DA2GA45B2GB3DI2FE2I4FDIH2I5DFI3HA2GABA44B5DINI2EI5HIE2I5EINIFDCBCACA45BDGCEI2NI20FC3B3A45G2BD2I12NI7NI2EDGCBCA46GBC2DI12NI10EBGHDA46CB2CBEI8NI5NI8EB2G2A46B3CGFI11NI11ECB2DA46B3CDEI9NININI9EDB4A2BA42GB2GDHI8N6I6NI2EHGB5A42CHCBDH2I2N2I4N8I3N2I2EH2CBC3A41CGA2CGH2I2N8PIN9I2FDH2C2D2A40BGA3CGH2I2N19I3HDHDC2HBA39BCA3CGH2FIN19I3HGH2GBDBA39BCAB2DGDHI2N8PN10I3HCH2DCGB"
def gm_r():fr(0,0,320,225,(80,80,80))
def i(im,pal,t=4,po=0,py=0,suppr="",bs=80):
 r,i=0,0
 while r<len(im):
  s,n=im[r],'';r+=1
  while r<len(im)and'9'>=im[r]>='0':n+=im[r];r+=1
  nb=1 if n==''else int(n);c=pal[ord(s)-65]
  for j in range(nb):
    if str(s)!=str(suppr):fill_rect(po+t*(i%bs),py+t*(i//bs),t,t,(c[0],c[1],c[2]))
    i+=1
def gm_tp(txt,ma=32,st=""):
 a,b,A,d=list(txt)+[''],'','\n'+st,[" ","\'",",","."];l=len(a)
 if l>ma:
  mb=int(ma)
  for j in range(l//ma):
   nl=1
   for i in range(1,ma//4):
    if d.count(a[mb-i])>=1:a[mb-i]=A;mb+=mb-i;nl=0;break
   if nl:a.insert(mb,A);mb+=mb
  for i in range(l):b+=a[i]
 else:b=str(txt)
 return b,l//ma
def gm_w(txt,perso):
 A='\n'
 a,b=list(txt)+[''],'';l=len(a)
 if l>64:p('#>64')
 if l>32:
  for i in range(64-l):
   if a[32-i]==' ':a.insert(33-i,A);break
  if a.count(A)<=0:a.insert(32,A)
  for i in range(l):b+=a[i]
 else:b=str(txt)
 ds(str(perso),0,160,"1",(80,80,80));ds(str(b),0,180,"1",(80,80,80))
def gm_a(a,b,c,d,e,a5='#err:str?'):
 ds('[up]'+str(a),0,0,"1",(80,80,80))
 if e>=2:ds('[down]'+str(b),0,18,"1",(80,80,80))
 if e>=3:ds('[left]'+str(c),0,36,"1",(80,80,80))
 if e>=4:ds('[right]'+str(d),0,54,"1",(80,80,80))
 if e>=5:ds('[ok]'+str(a5),0,72,"1",(80,80,80))
def gm_c(a,b,c,d,e,a5=0):
 while True:
  if kd(1)and e>=1:return a
  if kd(2)and e>=2:return b
  if kd(0)and e>=3:return c
  if kd(3)and e>=4:return d
  if kd(4)and e>=5:return a5
def pu(a,x=53,y=75,w=205,h=75):fr(x,y,w,h,(0,0,0));fr(x+1,y+1,w-2,h-2,"1");ds(a,x+2,y+2);ds('[ok]',x+2,y+h-20);gm_c(1,1,1,1,5,1)
def f_r():
  l=[]
  d=len(l)
  while d<3:
    b=choice(list(a.keys()))
    if b not in l and b!=des_k:
      l.append(b)
      d=len(l)
  l.insert(randint(0,3),des_k)
  return l
s=0
gm_r()
i(wai1,wai1_c,4,0,0,"A")
gm_w("Pre"+chr(769)+"pare toi, tu devras lier lesfigures de styles et de"+chr(769)+"finitions","Makikemi")
sl(0.5);gm_c(1,1,1,1,5,1);gm_r()
while not keydown(5):
  des_k=choice(list(a.keys()))
  des=a[des_k]
  f=f_r()
  gm_r()
  print(des_k)
  ds(gm_tp(des)[0],0,100,"1",(80,80,80))
  ds(str(s),280,0,"1",(80,80,80))
  gm_a(f[0],f[1],f[2],f[3],4)
  if gm_c(f[0],f[1],f[2],f[3],4)==des_k:
      s+=1
      if s%5==0:gm_r();i(wai1,wai1_c,4,0,0,"A");gm_w(choice(("Continue comme ça","c'est bien","Oui","Super","Ge"+chr(769)+"nial","Sensationnel","Extraordinaire","Bien joue"+chr(769)+"")),"");sl(0.5);gm_c(1,1,1,1,5,1)
  else:pu("C'e"+chr(769)+"tait "+des_k);sl(0.5);gm_c(1,1,1,1,5,1);gm_r();i(wai1,wai1_c,4,0,0,"A");gm_w(choice(("Pas grave","Tu feras mieux la prochaine fois","Garde courage")),"");sl(0.5);gm_c(1,1,1,1,5,1);gm_r();s=0
  sl(0.2)

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.