Une version amélioré (graphique) de “The_snake.py” aussi créée par moi.
Nécessite absolument ce module pour marcher. Alors voici un lien vers the_snake.py.
Les modes de jeu (une fois débloqué) se sélectionne avec les 6 boutons supérieurs de la calculatrice ou avec les flèches.
Un shop est disponible avec le bouton Shift .
Rejoignez le discord pour être au courant des dernières mise à jours :
https://discord.gg/wNtEFdQgWD .
Ce programme est DE NOUVEAU à jour avec la modification du 7 Novembre.
try: from the_snake import * except: print("je necessice un module nomme The_snake.py disponible a:\n https://my.numworks.com/python/antarctus/the_snake \n\n") raise pommes_bouffe=0 niv=0 coefficient=2 b_score=0 score=0 mode_selectionne=0 marge_erreur=0 produit=0 s=None KEY_QUIT=KEY_BACKSPACE KEY_SHOP=KEY_SHIFT mode_possible=( ((1,(255,0,0),1,1),), #best 125 ((1,(170,0,0),-1,1),(2,(170,0,0),3,1)), ((1,(255,0,255),7,1,[(1,(50,50,50),-1000,1),]),), ((1,(255,0,0),1,2),(1,(255,200,0),5,1)), ((2,(0,255,255),8,1,[],3),),#best 192 ((1,(255,0,0),1,1),(1,(170,0,0),-1,1),(2,(170,0,0),3,1),(1,(255,0,255),7,1,[(1,(0,0,0),-1000,1),]),(1,(255,0,0),1,2),(1,(255,200,0),5,1),(2,(0,255,255),8,1,[],3)) ) produits=[ [(0,255,0),0,True], [(0,255,255),10,False], [(0,0,255),20,False], [(255,0,255),30,False], [(255,0,0),40,False], [(255,255,0),50,False], [(0,0,0),80,False], [[(0,250,0),(0,200,0),(0,150,0),(0,100,0),(0,150,0),(0,200,0),],160,False], [[(0,250,250),(0,200,200),(0,150,150),(0,100,100),(0,150,150),(0,200,200),],180,False], [[(0,0,250),(0,0,200),(0,0,150),(0,0,100),(0,0,150),(0,0,200),],200,False], [[(250,0,250),(200,0,200),(150,0,150),(100,0,100),(150,0,150),(200,0,200),],220,False], [[(255,0,0),(200,0,0),(150,0,0),(100,0,0),(150,0,0),(200,0,0)],240,False], [[(250,250,0),(200,200,0),(150,150,0),(100,100,0),(150,150,0),(200,200,0),],260,False], [[(0,0,0),(50,50,50),(100,100,100),(150,150,150),(100,100,100),(50,50,50),],280,False], [[(0,255,0),(0,255,255),(0,0,255),(255,0,255),(255,0,0),(255,255,0)],500,False] ] def cadenas(x,y,text,couleur=(50,50,50),condition=False): fill_rect(x+15,y+5,20,10,couleur) fill_rect(x+30,y+10,10,15,couleur) fill_rect(x+10,y+10,10,8,couleur) if not condition: fill_rect(x+10,y+18,10,7,couleur) fill_rect(x+5,y+25,40,25,couleur) draw_string(text,x+25-(5*len(text)),y+30,(255,255,255),couleur) def man(): global niv niv=int(pommes_bouffe**(1/coefficient)) def draw(arg=""): fill_rect(0,0,320,222,(255,255,255)) draw_string("Niveau "+str(niv),100,10) fill_rect(68,28,154,14,(200,200,200)) fill_rect(70,30,int(150*((pommes_bouffe-niv**coefficient)/((niv+1)**coefficient-niv**coefficient))),10,(240,0,0)) fill_rect(265,15,40,30,(255,0,0)) draw_string(str(pommes_bouffe),285-(5*len(str(pommes_bouffe))),20,(0,0,0),(255,0,0)) if arg=="only_score": return draw_string("Score: "+str(score),80,60) draw_string("Meilleur score: "+str(b_score),80,80,(255*(b_score==score),0,0)) draw_string("Shop: Shift",80,110) draw_string("Jouer: Ok",80,130) draw_string("Quitter: <X",80,150) fill_rect(10+mode_selectionne*50,172,50,50,(200,200,200)) for i in range(6): cadenas(10+i*50,172,str(i*5),condition=niv>=i*5) man() while True: try: draw() sleep(0.5) while not(keydown(KEY_OK) or keydown(KEY_QUIT) or keydown(KEY_SHOP)): if keydown(KEY_PI): pommes_bouffe+=10 man() draw() for i in range(12,18): if keydown(i) and niv>=(i-12)*5: mode_selectionne=i-12 draw() if keydown(0) or keydown(3): mode_selectionne+=keydown(3)-keydown(0) mode_selectionne%=int(niv/5)+1 if mode_selectionne>5: mode_selectionne=5 draw() sleep(0.05) if keydown(KEY_QUIT): print("Total des pommes mangee: "+str(pommes_bouffe)) break if keydown(KEY_SHOP): while keydown(KEY_SHOP): pass while not keydown(KEY_SHOP): draw("only_score") fill_rect(15+60*(produit%5),47+60*(produit//5),56,56,(200,200,200)) for i in range(len(produits)): fill_rect(18+60*(i%5),50+60*(i//5),50,50,(220,220,100+120*(not produits[i][2]))) draw_string(str(produits[i][1]),35+60*(i%5),80+60*(i//5)) if type(produits[i][0])==type([2,3]): for j in range(6): fill_rect(20+[0,0,0,10,20,20][j]+(i%5)*60,50+60*(i//5)+[20,10,0,0,0,10][j],10,10,produits[i][0][j%len(produits[i][0])]) if type(produits[i][0])==type((255,0,4)): for j in range(6): fill_rect(20+[0,0,0,10,20,20][j]+(i%5)*60,50+60*(i//5)+[20,10,0,0,0,10][j],10,10,produits[i][0]) while not (keydown(0) or keydown(1) or keydown(2) or keydown(3) or keydown(KEY_OK)): pass if keydown(0) or keydown(3): produit+=keydown(3)-keydown(0) elif keydown(1) or keydown(2): produit+=5*(keydown(2)-keydown(1)) produit%=len(produits) if keydown(KEY_OK): if pommes_bouffe>=produits[produit][1] and produits[produit][2]!=True: pommes_bouffe-=produits[produit][1] produits[produit][2]=True man() mode_selectionne=0 sleep(0.1) sleep(0.2) continue commencer(m=mode_possible[mode_selectionne],c=produits[produit*(produits[produit][2])][0]) draw_all() score=boucler(0.1) while not(keydown(KEY_OK) or keydown(KEY_QUIT)): sleep(0.05) pommes_bouffe+=score if score>b_score: b_score=score man() except KeyboardInterrupt: if marge_erreur>100: break else: marge_erreur+=1