2048 en python
- Accueil
- Forum
- Programmation
- Python
- 2048 en python
guigui404 Le 22 mars 2017 à 20:25 (Édité le 25 janvier 2019 à 17:53)
Je n'ai aucune idée du pourquoi
Voici le code
import random
import numpy as np
def creeGrille(n,val):
grille=[]
interior=[]
for i in range(n):
for m in range(n):
interior+=val,
grille+=interior,
interior=[]
return(grille)
def affiche(grille):
res=""
for i in grille:
for n in i:
n=str(n)
if len(n)==1:
res+=n+" "
if len(n)==2:
res+=n+" "
if len(n)==3:
res+=n+" "
if len(n)==4:
res+=n+" "
print(res)
print("")
res=""
def appartient(x,grille):
global test
for i in grille:
for n in i:
test=bool(str(x)==str(n))
def gagnante(grille):
appartient(2048,grille)
if test:
res="gagné"
else:
res="perdu"
return(res)
def pleine(grille):
appartient(0,grille)
if test==False:
print("pleine")
def max(g):
res=0
maxi=2
for i in grille:
for n in i:
if int(n)>=maxi:
res=n
maxi=maxi**2
return(res)
def lescases(grille,val):
global cases
cases=[]
x=0
y=0
for i in grille:
for n in i:
if str(val)==str(n):
cases+=[x,y],
y+=1
y=0
x+=1
return(cases)
def vides(grille):
vides=lescases(grille,0)
return(vides)
def init(n):
global grille
d1=random.choice([4,2])
d2=random.choice([4,2])
grille=creeGrille(n,0)
grille=ajoutAlea(grille,d1)
grille=ajoutAlea(grille,d2)
coordonne(grille)
return(grille)
def coordonne(grille):
global coord
x=0
y=0
coord=[]
for i in grille:
for n in i:
coord+=[x,y],
y+=1
y=0
x+=1
return(coord)
def ajoutAlea(grille,val):
coord=lescases(grille,0)
coord=random.choice(coord)
res=[]
interior=[]
x=0
y=0
for i in grille:
for n in i:
if x==coord[0] and y==coord[1]:
interior+=(val),
else:
interior+=n,
y+=1
res+=interior,
interior=[]
y=0
x+=1
grille=res
return(grille)
def bas(grille):
global g
bottom=[]
for i in range(len(grille)):
bottom+=0,
grille=[bottom]+grille
grille=np.array(grille)
x=len(grille)-1
for i in range(0,x):
for n in range(x):
if grille[i+1][n]==0:
grille[i+1][n]=grille[n]
grille[n]=0
if grille[i+1][n]==grille[n]:
grille[i+1][n]=grille[i+1][n]*2
grille[n]=0
g=np.delete(grille, 0, 0)
d1=random.choice([4,2])
g=ajoutAlea(g,d1)
return(g)
Profil introuvable Le 14 janvier 2018 à 18:59 (Édité le 1 janvier 1970 à 01:00)