Jouer à plus de 100 jeu sur sa calculatrice Numworks 👾| Marche dans toutes les versions.

Поделиться
HTML-код
  • Опубликовано: 25 июл 2024
  • Merci d'avoir cliquer sur la Vidéo. Bon visionnage 👀
    👉Numworks : www.numworks.com/fr/
    👉 Mon serveur discord : / discord
    N'hésitez pas a mettre un like 👍si la vidéo vous a plus et a vous abonnez 🔔 pour pas manquer les prochaine.

Комментарии • 74

  • @lisaa6183
    @lisaa6183 9 месяцев назад +23

    en plus d'être drôle tu me sauves la vie ça va refaire mes cours de spé math

  • @mangueur2couscous
    @mangueur2couscous 10 месяцев назад +109

    Merci beaucoup mec ça m’aidera beaucoup pour ma rentrée en seconde

    • @zeldario548
      @zeldario548 9 месяцев назад +5

      Mdrr

    • @aminona4371
      @aminona4371 8 месяцев назад +2

      T'as pas besoin d'une calculatrice graphique en seconde mais oui ça fait passer le temps

    • @paullebraud2312
      @paullebraud2312 7 месяцев назад

      ​@@aminona4371si si

    • @raphsam2967
      @raphsam2967 4 месяца назад

      ​@@aminona4371 Je suis en seconde et bien sûr que si on a besoin d'une calculatrice graphique, c'est indispensable

    • @legamer3757
      @legamer3757 3 месяца назад

      @@aminona4371moi j’en ai besoin alors que je suis en seconde bon après j’ai un prof qui nous fais faire des exo du niveau supérieure

  • @user-sv8lw9kc2f
    @user-sv8lw9kc2f 8 месяцев назад +2

    Merci chef, t'es un bon.

  • @ka7okm4th72
    @ka7okm4th72 9 месяцев назад +6

    merci tu sauves de longues heures

  • @blackv9583
    @blackv9583 10 месяцев назад +3

    après sa dépend le lycée. nous au debut de l'année on avait un choix a faire. soit tu télécharge l'appli sur ton tel (y a que la moitier des profs qui accepte) soit tu la loue 20€ l'année, soit tu la commande avec l'école et sa te revient moins cher (genre 50balle) soit tu te démerde

  • @ambre3621
    @ambre3621 10 месяцев назад +6

    Super merci ça a marché !!

  • @aspra_
    @aspra_ 7 месяцев назад

    merci le roi

  • @rxs_mat806
    @rxs_mat806 8 месяцев назад +3

    yo mec moi j'ai pas le code qui faut copier coller jore ca me met pas afficher le code il y a rien sauf tester en ligne c'est normal?

  • @GedPlays7
    @GedPlays7 8 месяцев назад

    Merci frérot

  • @leonnesle2397
    @leonnesle2397 9 месяцев назад +6

    Je trouve pas le script pour le copier

  • @STUNSYTB
    @STUNSYTB 10 месяцев назад

    Mon pc ne détecte pas ma calculatrice, alors qu elle est branchée et que le message est affiché, t aurais une solution stp?

  • @user-eb7ol4yi5s
    @user-eb7ol4yi5s 9 месяцев назад +1

    quand je vais sur le site pour le code python il n'apparait plus sur le site

  • @Leoo_adnt
    @Leoo_adnt 9 месяцев назад

    quand je branche ma calculatrice ça met pas le message comme quoi elle est connectée a l’ordi je fais comment svp ??

  • @gggmongars1402
    @gggmongars1402 10 месяцев назад +4

    Quand on passe le bac ya pas de risques ? Genre le mode examen que tu es obligé d'activer avant ton épreuve il supprime réinitialise les programmes python ?

    • @Boobby999
      @Boobby999 10 месяцев назад +1

      Oui sa supp😊

  • @RaphMac_13
    @RaphMac_13 21 день назад

    tu tappeles comment ?

  • @bernardjouhannet
    @bernardjouhannet 2 месяца назад

    Slt alors déjà merci pour le tuto mais quand il disait que c pour toute les calculatrice genre ça peut aussi marcher sur une casio graph 100+ ou pas ? Et si oui avec le même site que dans la vidéo ou pas?

    • @Estragon50
      @Estragon50  2 месяца назад

      Salut ! En fait je parler de toute les version de la calculatrice numworks et non de toutes les calculatrice mais ce qui est sûr c'est que le site de la vidéo est dédié au numworks

  • @zeozestar
    @zeozestar 9 месяцев назад

    je trouve l'onglet afficher le script aide moi stp bg

  • @Semvengo
    @Semvengo 9 месяцев назад +5

    Hey ! Quand je vais sur le site, je n'ai pas l'option "afficher le code" mais seulement "Tester en ligne". Ai-je fais quelque chose de mal ?

  • @lilianbourbon3219
    @lilianbourbon3219 4 месяца назад

    salut je crois que tu as oublié de mettre le lien pour tiplanet

  • @evan8376
    @evan8376 10 месяцев назад

    tu sais que en com sa te bloque pas les liens

  • @eliotmarty
    @eliotmarty 11 месяцев назад +1

    Et il n'y a pas les liens dans la description 😢😢

    • @Estragon50
      @Estragon50  11 месяцев назад +2

      Bah en fait j'ai essayé mais il veut pas mettre de lien car g pas confirmé ma chaîne. En plus je croyais que c'est just que les liens n'était pas "cliquable" mais il me les on t littéralement retirer donc bah pour le site de Numworks faut taper numworks sur internet et pour les programmes tu as juste à taper programme pyton . Voilà encore désolé du dérangement.

  • @bluwen3752
    @bluwen3752 5 месяцев назад

    il ny a pas marqué "afficher le code"

  • @Mecha_Gamer04
    @Mecha_Gamer04 8 месяцев назад

    C’est quoi le site ?

  • @moon91160
    @moon91160 10 месяцев назад

    j'arrive pas à accéder à la source de ti planet vous connaissez pas un autre site par hasard ?

    • @ohmatokita4284
      @ohmatokita4284 8 месяцев назад

      from random import *
      from kandinsky import *
      from ion import *
      from time import *
      #from pomme import *
      def oscolor():
      try:
      get_keys()
      except:
      return 'orange'
      else:
      return 'red'
      def lastPos(i,x,y):
      if i[-1]==3:
      pos=[x-10,y]
      elif i[-1]==2:
      pos=[x,y-10]
      elif i[-1]==0:
      pos=[x+10,y]
      elif i[-1]==1:
      pos=[x,y+10]
      pos[0],pos[1]=checkTeleport(pos[0],pos[1])
      return pos
      def newApple(appleC,bgC):
      applex=randint(0,31)*10+4
      appley=randint(0,21)*10+5
      while get_pixel(applex,appley)!=bgC:
      applex=randint(0,31)*10+4
      appley=randint(0,21)*10+5
      fill_rect(applex-4,appley-4,10,10,appleC)
      return applex,appley
      def checkTeleport(x,y):
      if x314:
      x=4
      if y215:
      y=5
      return x,y
      def getMove(u):
      for k in range(4):
      if keydown(k)==True and u+k!=3: return k
      return u
      def clearDraw(): fill_rect(0,0,320,222,(255,255,255))
      def clearHome(): print("












      ")
      def redraw():
      draw_string("(DELETE to exit)",0,0)
      printLetter([1,1,1,1,0,0,1,1,1,0,0,1,1,1,1],70,80,10,(0,204,0))
      fill_rect(95,80,2,4,(0,0,0))
      fill_rect(95,86,2,4,(0,0,0))
      fill_rect(100,84,4,2,(255,0,0))
      fill_rect(104,82,2,2,(255,0,0))
      fill_rect(104,86,2,2,(255,0,0))
      printLetter([1,1,1,1,0,1,1,0,1,1,0,1,1,0,1],110,80,10,(0,0,0))
      printLetter([1,1,1,1,0,1,1,1,1,1,0,1,1,0,1],150,80,10,(0,0,0))
      printLetter([1,0,1,1,0,1,1,1,0,1,0,1,1,0,1],190,80,10,(0,0,0))
      printLetter([1,1,1,1,0,0,1,1,1,1,0,0,1,1,1],230,80,10,(0,0,0))
      def printLetter(letter,x,y,size,color):
      for yi in range(5):
      for xi in range(3):
      if letter[yi*3+xi]==1:
      fill_rect(x+(xi*size),y+(yi*size),size,size,color)
      def menu():
      clearDraw()
      printLetter([1,1,1,1,0,1,1,0,1,1,0,1,1,0,1],110,80,10,(0,0,0))
      printLetter([1,1,1,1,0,1,1,1,1,1,0,1,1,0,1],150,80,10,(0,0,0))
      printLetter([1,0,1,1,0,1,1,1,0,1,0,1,1,0,1],190,80,10,(0,0,0))
      printLetter([1,1,1,1,0,0,1,1,1,1,0,0,1,1,1],230,80,10,(0,0,0))
      anim=[1,1,1,1,1,1,1,1,1,4,4,3,3,4,4,1,1]
      ax=0
      ay=120
      aendx=-110
      aendy=120
      u=1
      aback=0
      for i in range(len(anim)):
      ax=ax+((anim[i]==1)-(anim[i]==3))*10
      ay=ay+((anim[i]==2)-(anim[i]==4))*10
      if aendx

  • @user-by1bp8oi8g
    @user-by1bp8oi8g 9 месяцев назад +1

    ya aucun moyen de mettre super mario bros 3 sur calculatrice?

    • @sethikablip8607
      @sethikablip8607 9 месяцев назад

      Il faut jailbreak la calculatrice mais ça ne marche sur tout les modèles

  • @teko9540
    @teko9540 8 месяцев назад +1

    très bonne vidéo seulement tout marche jusqu'à ce que je lance le jeu il y a écran blanc a l'infini besoin d'aide

  • @hereddarmous1763
    @hereddarmous1763 10 месяцев назад

    mec moi sa fais que chercher ma calculette sa veut pas ya marquée Retrieving device infos…
    aide moi stpp

    • @Estragon50
      @Estragon50  10 месяцев назад

      J'ai trouvé les potentiels erreur sur le site de la calculatrice :
      Si vous êtes sous Windows, il est possible qu’il y ait eu un problème lors de l’installation du driver. Vous avez la possibilité de le réparer. Pour cela, il vous suffit de télécharger à nouveau le driver puis de double cliquer sur le fichier téléchargé. Windows vous demandera alors si vous souhaitez installer ou réparer le programme. Choisissez Réparer et redémarrez votre ordinateur.
      Cela peut venir d’un faux contact au niveau du câble : parfois il faut un peu forcer pour qu’il se branche bien à la calculatrice. Pensez également à essayer avec un autre port USB de votre ordinateur.
      Il se peut que votre navigateur ne soit pas à jour. Si c’est le cas, mettez à jour votre navigateur et réessayez.
      Il se peut que votre câble soit défectueux. En effet, il arrive que certains câbles USB laissent passer la charge, mais bloquent le transfert de données. Ainsi, essayez de brancher votre calculatrice à votre ordinateur avec un autre câble USB.

  • @jurox3374
    @jurox3374 11 месяцев назад +1

    je suis sur le meme site que toi mais je ne comprend pas ou faut aller vu que tu y es directement

    • @Estragon50
      @Estragon50  11 месяцев назад

      Mmm bah je le dis : il faut se connecter (normalement y'a un onglet se connecter) ensuite tu clique sur ton profil et tu va dans "mes scripts"

    • @jurox3374
      @jurox3374 11 месяцев назад

      @@Estragon50 nn mais sur l'autre site quand j'y vais ça me propose des jeux mais il n'y a pas tt le temps le script qui est proposer pu même g réussi pour pokemon jsp quoi mais quand j'exécute ça ne fonctionne ( je suis sur une 120 )

    • @Estragon50
      @Estragon50  11 месяцев назад +2

      @@jurox3374 Ah... Ok excuse moi. Hé bien là je pas pouvoir t'aider car pour aller sur ce site j'ai recherché "jeu en pyton" et je suis tomber sur ça donc soit tu prends d'autres codes (je pense qu'il y a plein d'autres sites) ou tu recopie mais bon je comprends que c'et un peu pénible. Je suis désolée de pas pouvoir mettre les liens dans la description.

    • @jurox3374
      @jurox3374 11 месяцев назад

      @@Estragon50 merci bcp ❤️❤️

  • @SlayTixx_
    @SlayTixx_ 6 месяцев назад

    Moi sa me met quand je met le jeux error et plein de code quand je lance le jeux et je fais bien ce que ta fais 😢😮

  • @zeupyt3184
    @zeupyt3184 8 месяцев назад +1

    Quelqu'un peux m'envoyer le code pour les scripts parce que je le vois pas

    • @ohmatokita4284
      @ohmatokita4284 8 месяцев назад +1

      from random import *
      from kandinsky import *
      from ion import *
      from time import *
      #from pomme import *
      def oscolor():
      try:
      get_keys()
      except:
      return 'orange'
      else:
      return 'red'
      def lastPos(i,x,y):
      if i[-1]==3:
      pos=[x-10,y]
      elif i[-1]==2:
      pos=[x,y-10]
      elif i[-1]==0:
      pos=[x+10,y]
      elif i[-1]==1:
      pos=[x,y+10]
      pos[0],pos[1]=checkTeleport(pos[0],pos[1])
      return pos
      def newApple(appleC,bgC):
      applex=randint(0,31)*10+4
      appley=randint(0,21)*10+5
      while get_pixel(applex,appley)!=bgC:
      applex=randint(0,31)*10+4
      appley=randint(0,21)*10+5
      fill_rect(applex-4,appley-4,10,10,appleC)
      return applex,appley
      def checkTeleport(x,y):
      if x314:
      x=4
      if y215:
      y=5
      return x,y
      def getMove(u):
      for k in range(4):
      if keydown(k)==True and u+k!=3: return k
      return u
      def clearDraw(): fill_rect(0,0,320,222,(255,255,255))
      def clearHome(): print("












      ")
      def redraw():
      draw_string("(DELETE to exit)",0,0)
      printLetter([1,1,1,1,0,0,1,1,1,0,0,1,1,1,1],70,80,10,(0,204,0))
      fill_rect(95,80,2,4,(0,0,0))
      fill_rect(95,86,2,4,(0,0,0))
      fill_rect(100,84,4,2,(255,0,0))
      fill_rect(104,82,2,2,(255,0,0))
      fill_rect(104,86,2,2,(255,0,0))
      printLetter([1,1,1,1,0,1,1,0,1,1,0,1,1,0,1],110,80,10,(0,0,0))
      printLetter([1,1,1,1,0,1,1,1,1,1,0,1,1,0,1],150,80,10,(0,0,0))
      printLetter([1,0,1,1,0,1,1,1,0,1,0,1,1,0,1],190,80,10,(0,0,0))
      printLetter([1,1,1,1,0,0,1,1,1,1,0,0,1,1,1],230,80,10,(0,0,0))
      def printLetter(letter,x,y,size,color):
      for yi in range(5):
      for xi in range(3):
      if letter[yi*3+xi]==1:
      fill_rect(x+(xi*size),y+(yi*size),size,size,color)
      def menu():
      clearDraw()
      printLetter([1,1,1,1,0,1,1,0,1,1,0,1,1,0,1],110,80,10,(0,0,0))
      printLetter([1,1,1,1,0,1,1,1,1,1,0,1,1,0,1],150,80,10,(0,0,0))
      printLetter([1,0,1,1,0,1,1,1,0,1,0,1,1,0,1],190,80,10,(0,0,0))
      printLetter([1,1,1,1,0,0,1,1,1,1,0,0,1,1,1],230,80,10,(0,0,0))
      anim=[1,1,1,1,1,1,1,1,1,4,4,3,3,4,4,1,1]
      ax=0
      ay=120
      aendx=-110
      aendy=120
      u=1
      aback=0
      for i in range(len(anim)):
      ax=ax+((anim[i]==1)-(anim[i]==3))*10
      ay=ay+((anim[i]==2)-(anim[i]==4))*10
      if aendx

  • @Amel_La_Marocaine
    @Amel_La_Marocaine 9 месяцев назад +3

    tu peut mettre le code dans les com?

  • @Amel_La_Marocaine
    @Amel_La_Marocaine 4 месяца назад +1

    pourquoi j'ai pas le jeu, j'ai que le script 😭😭😭😭😭😭😭😭
    edit:(le code python)

  • @NB94230
    @NB94230 9 месяцев назад +1

    Mais je trouve pas le script moi

    • @ohmatokita4284
      @ohmatokita4284 8 месяцев назад

      from random import *
      from kandinsky import *
      from ion import *
      from time import *
      #from pomme import *
      def oscolor():
      try:
      get_keys()
      except:
      return 'orange'
      else:
      return 'red'
      def lastPos(i,x,y):
      if i[-1]==3:
      pos=[x-10,y]
      elif i[-1]==2:
      pos=[x,y-10]
      elif i[-1]==0:
      pos=[x+10,y]
      elif i[-1]==1:
      pos=[x,y+10]
      pos[0],pos[1]=checkTeleport(pos[0],pos[1])
      return pos
      def newApple(appleC,bgC):
      applex=randint(0,31)*10+4
      appley=randint(0,21)*10+5
      while get_pixel(applex,appley)!=bgC:
      applex=randint(0,31)*10+4
      appley=randint(0,21)*10+5
      fill_rect(applex-4,appley-4,10,10,appleC)
      return applex,appley
      def checkTeleport(x,y):
      if x314:
      x=4
      if y215:
      y=5
      return x,y
      def getMove(u):
      for k in range(4):
      if keydown(k)==True and u+k!=3: return k
      return u
      def clearDraw(): fill_rect(0,0,320,222,(255,255,255))
      def clearHome(): print("












      ")
      def redraw():
      draw_string("(DELETE to exit)",0,0)
      printLetter([1,1,1,1,0,0,1,1,1,0,0,1,1,1,1],70,80,10,(0,204,0))
      fill_rect(95,80,2,4,(0,0,0))
      fill_rect(95,86,2,4,(0,0,0))
      fill_rect(100,84,4,2,(255,0,0))
      fill_rect(104,82,2,2,(255,0,0))
      fill_rect(104,86,2,2,(255,0,0))
      printLetter([1,1,1,1,0,1,1,0,1,1,0,1,1,0,1],110,80,10,(0,0,0))
      printLetter([1,1,1,1,0,1,1,1,1,1,0,1,1,0,1],150,80,10,(0,0,0))
      printLetter([1,0,1,1,0,1,1,1,0,1,0,1,1,0,1],190,80,10,(0,0,0))
      printLetter([1,1,1,1,0,0,1,1,1,1,0,0,1,1,1],230,80,10,(0,0,0))
      def printLetter(letter,x,y,size,color):
      for yi in range(5):
      for xi in range(3):
      if letter[yi*3+xi]==1:
      fill_rect(x+(xi*size),y+(yi*size),size,size,color)
      def menu():
      clearDraw()
      printLetter([1,1,1,1,0,1,1,0,1,1,0,1,1,0,1],110,80,10,(0,0,0))
      printLetter([1,1,1,1,0,1,1,1,1,1,0,1,1,0,1],150,80,10,(0,0,0))
      printLetter([1,0,1,1,0,1,1,1,0,1,0,1,1,0,1],190,80,10,(0,0,0))
      printLetter([1,1,1,1,0,0,1,1,1,1,0,0,1,1,1],230,80,10,(0,0,0))
      anim=[1,1,1,1,1,1,1,1,1,4,4,3,3,4,4,1,1]
      ax=0
      ay=120
      aendx=-110
      aendy=120
      u=1
      aback=0
      for i in range(len(anim)):
      ax=ax+((anim[i]==1)-(anim[i]==3))*10
      ay=ay+((anim[i]==2)-(anim[i]==4))*10
      if aendx

  • @Pixel_Gaming24099
    @Pixel_Gaming24099 10 месяцев назад +4

    Elle est chere la calculatrice! 80 euros sur amazon! Je l’aurais jamais😭

    • @Makiavelique
      @Makiavelique 10 месяцев назад

      Au lycée ces obligé

    • @MelodexGaming
      @MelodexGaming 10 месяцев назад

      ​@@Makiaveliqueoui après je regrette pas l'achat il est incroyable

    • @blackv9583
      @blackv9583 10 месяцев назад +1

      ​@@Makiavelique après sa dépend le lycée. nous au debut de l'année on avait un choix a faire. soit tu télécharge l'appli sur ton tel (y a que la moitier des profs qui accepte) soit tu la loue 20€ l'année, soit tu la commande avec l'école et sa te revient moins cher (genre 50balle) soit tu te démerde

  • @mt-roxfire5062
    @mt-roxfire5062 9 месяцев назад

    Sa marche pour les versions n120

    • @Estragon50
      @Estragon50  9 месяцев назад

      Oui c'est justement la version que j'ai

  • @eliotmarty
    @eliotmarty 11 месяцев назад

    Sa marche avec les n120 ?? Et les calculatrices non crack ??

    • @Estragon50
      @Estragon50  11 месяцев назад

      La n120 c'est celle que j'ai donc oui et qu'es que tu entends par calculatrice non crack ?

    • @RockingCha1r
      @RockingCha1r 9 месяцев назад

      Il doit parler des calculatrices n'ayant pas Omega ^^@@Estragon50

  • @deoxys7030
    @deoxys7030 10 месяцев назад +1

    franchement, bon tuto mais pour moi arrivé dans le mode pyton quand je lance le script il ne fonctionne pas et il y a 73 lignes de code au lieux de 273 comme sur le site

    • @Estragon50
      @Estragon50  10 месяцев назад +2

      Est-tu sûr d'avoir tout copier ? Sinon essaie de recopier petit à petit. Après si ça marche pas je t'avoue que j'en est aucune idée vu que cela ne m'est jamais arrivé.

  • @redaelaouadi2970
    @redaelaouadi2970 7 месяцев назад

    code en python

  • @alfredlefebvre2054
    @alfredlefebvre2054 3 месяца назад

    from kandinsky import fill_rect as krect, draw_string as text
    from ion import keydown
    from random import randint
    from time import *
    SCREEN_W=320
    SCREEN_H=222
    GAME_W=200
    SCORE_OFFSET=5
    SCORE_W=100
    GAME_H=200
    OFFSET_X=(SCREEN_W-SCORE_W-GAME_W-SCORE_OFFSET)//2# game offset
    OFFSET_Y=(SCREEN_H-GAME_H)//2
    KEY={"ok":4}
    COLOR={
    "bg":(50,200,255),
    "bird":(255,200,0),
    "hurt":(255,50,0),
    "jp":(150,150,150),
    "mouth":(255,100,0),
    "pipe":(100,255,20),
    "line":(0,0,0),
    "font1":(60,60,60),
    "font2":(255,255,255)}
    LINE_W=2 #line width
    TARG_FPS=20
    TARG_SPF=1/TARG_FPS# targ second per frame
    def sec(time):
    return monotonic()-time
    def rect(x,y,h_s,v_s,c):
    krect(int(x),int(y),int(h_s),int(v_s),COLOR["line"])
    if h_s>2*LINE_W: krect(int(x)+LINE_W,int(y)+LINE_W,int(h_s)-2*LINE_W,int(v_s)-2*LINE_W,c)
    def drawBird(x,y,s):
    if sec(hurt_time)>1 or (sec(hurt_time)*5%2>0.5):
    c=COLOR["bird"]
    else:
    c=COLOR["hurt"]
    rect(x,y,s,s,c)
    rect(x-s/2,y+s/8,s/2,s/2,COLOR["jp"])
    rect(x+s/2,y+s/2,s/1.5,s/3,COLOR["mouth"])
    rect(x+s/4,y+s/5,s/3,s/3,COLOR["font2"])
    o=s/2 if flap and int(sec(flap_time)*16)%2==0 else s/4
    rect(x-s/4,y+o,s/2,s/2,c)
    if flap:
    s2=min(s/2+o*2,OFFSET_Y+GAME_H-y-s/8*6)
    rect(x-s/2,y+s/8*5,s/2,s2,COLOR["mouth"])
    krect(int(x-s/2+LINE_W*2),int(y+s/8*5.5),int(s/2-LINE_W*4),int(s2/2),COLOR["font2"])

    def drawPipe(i):
    pipe=pipes[i]
    x,y = min(max(pipe[0],OFFSET_X),OFFSET_X+GAME_W),pipe[1]
    if x=OFFSET_X+GAME_W-pipe[2]: h_s = (GAME_W+OFFSET_X)-x
    else: h_s=pipe[2]
    v_s = pipe[3]
    rect(x,y,h_s,v_s,COLOR["pipe"])
    def drawHeart(x,y,s,c):
    heart=("01100","11110","01111","11110","01100")
    for x2 in range(len(heart)):
    for y2 in range(len(heart[x2])):
    if int(heart[x2][y2]): krect(x+x2*s,y+y2*s,s,s,c)
    def initScreen():
    rect(OFFSET_X,OFFSET_Y,GAME_W,GAME_H,COLOR["bg"])
    drawScorePannel()
    actualizeScore()
    actualizeLife()
    def clearScreen():
    krect(OFFSET_X+LINE_W,OFFSET_Y+LINE_W,GAME_W-2*LINE_W,GAME_H-2*LINE_W,COLOR["bg"])
    def createPipe(x,y,h_s,v_s):
    #h_s : horizontal size
    #v_s : vertical size
    pipe=[x,y,h_s,v_s]
    pipes.append(pipe)
    def addPipes(x,s):
    space_size = GAME_H//2 - difficulty*2
    space_y= randint(OFFSET_Y,OFFSET_Y+GAME_H-space_size-20)
    createPipe(x,OFFSET_Y,s,space_y)
    createPipe(x,OFFSET_Y+space_size+space_y,s,GAME_H-(space_size+space_y))
    def hitBox(p1,p2):
    x1=p1[0]
    y1=p1[1]
    hs1=p1[2]
    vs1=p1[3]
    x2=p2[0]
    y2=p2[1]
    hs2=p2[2]
    vs2=p2[3]
    if x1 = x2 and y1 = y2:
    return True
    else:
    return False
    def gameEngine():
    global bird, pipes, score, best_score, difficulty,flap,total_time,flap_time,fps,hurt_time,life
    print(">initialisation: dead...")
    difficulty=1
    life=3
    score=0
    best_score=readBestScore()
    pipes=[]
    pipe_size=50
    flap=0
    jump_speed=4
    max_speed=15
    fps=TARG_FPS
    bird={
    "x":20,
    "y":OFFSET_Y+GAME_H/2,
    "spd_x":5,
    "spd_y":-5,
    "size":20,
    "color":COLOR["bird"]}
    addPipes(GAME_W+OFFSET_X,pipe_size)
    addPipes(GAME_W/2-pipe_size/2+OFFSET_X,pipe_size)
    initScreen()
    spf=TARG_SPF
    total_time=monotonic()
    flap_time=monotonic()
    hurt_time=monotonic()-1
    while not (life0.5):
    if sec(spf)>=TARG_SPF:
    #GAME DATA
    fps=int(1/sec(spf))
    #print(fps)
    spf=monotonic()
    #PHYSICS
    limits_y=[OFFSET_Y,OFFSET_Y+GAME_H]
    bird["spd_y"]+=jump_speed/3
    bird["spd_y"]=max(-max_speed,min(max_speed,bird["spd_y"]))
    bird["y"]+=bird["spd_y"]
    if bird["y"]=limits_y[1]-bird["size"]:
    bird["y"]=limits_y[1]-bird["size"]
    bird["spd_y"]=0
    if keydown(KEY["ok"]):
    bird["spd_y"]-=abs(-max_speed-bird["spd_y"])/max_speed*jump_speed
    if flap==0:
    flap_time=monotonic()
    flap=1
    else: flap=0
    remove_pipe=[]
    last_speed=int(bird["spd_x"])
    for i in pipes:
    i[0]-=last_speed
    if hitBox((bird["x"],bird["y"],bird["size"],bird["size"]),i):
    if sec(hurt_time)>1:
    if life>0:hurt_time=monotonic()
    life-=1
    difficulty+=randint(1,3)
    actualizeLife()
    print(">{}s:hurt! life:{}".format(int(sec(total_time)),life))
    if i[0]+i[2]=life: c=COLOR["line"]
    else: c=COLOR["hurt"]
    drawHeart(x+i*30,y,5,c)
    def drawScorePannel():
    x=OFFSET_X+GAME_W+SCORE_OFFSET
    y=OFFSET_Y
    rect(x,y,SCORE_W,GAME_H,COLOR["bird"])
    x=OFFSET_X+GAME_W+SCORE_W//2
    y=OFFSET_Y
    text("SCORE",x-len("SCORE")*5,y+10,COLOR["font1"],COLOR["bird"])
    text("BEST",x-len("BEST")*5,y+70,COLOR["font1"],COLOR["bird"])
    def readBestScore():
    try:
    file=open("jp_bird.sav","r")
    best = file.readline()
    file.close()
    print(">score loaded !")
    return int(best)
    except:
    print(">failed to read the score...")
    return 0
    def saveScore(score):
    try :
    file=open("jp_bird.sav","w")
    file.truncate(0)
    file.write(str(score))
    file.close()
    print(">score saved !")
    except:
    print(">failed to save the score...")
    def transition():
    for c in [COLOR["font1"],COLOR["bg"]]:
    for y in range(OFFSET_Y,OFFSET_Y+GAME_H,10):
    sleep(0.016)
    krect(OFFSET_X,y,GAME_W,10,c)
    gameEngine()