Advertisement
Paralogos

2048

Jan 10th, 2018
255
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. from random import randint
  2. import numpy as np
  3.  
  4. #init
  5. format = 4
  6.  
  7. jeu = np.zeros((format,format), dtype=np.int)
  8. perdu = False
  9. lx = len(jeu)
  10. ly = len(jeu[0])
  11.  
  12. #process
  13.  
  14. cx, cy = (randint(0,lx-1),randint(0,ly-1))
  15. jeu[cx][cy] = randint(1,2) * 2
  16. print(jeu)
  17.  
  18. while not perdu:
  19.    #question
  20.    action = ""
  21.    while (action != "z" and action != "q" and action != "s" and action != "d" and action != "quitter"): #or not possible:
  22.       action = input("Taper 'z/q/s/d' ou 'quitter': ")
  23.    #traitement
  24.    result = jeu.copy()
  25.    while jeu.all() == result.all() and not perdu:
  26.       if action == "z":
  27.          result
  28.       elif action == "q":
  29.          result
  30.       elif action == "s":
  31.          result
  32.       elif action == "d":
  33.          result
  34.       perdu = True
  35.    jeu = result
  36.    #génération
  37.    compteur = []
  38.    for x in range(lx):
  39.       for y in range(ly):
  40.          if jeu[x][y] == 0:
  41.             compteur = compteur + [(x,y)]
  42.    cx, cy = compteur[randint(0,len(compteur)-1)]
  43.    jeu[cx][cy] = randint(1,2) * 2
  44.    #affichage
  45.    print(jeu)
  46.    #score
  47.    perdu = True
  48.    for x in range(lx): #test horizontal
  49.       for y in range(ly-1):
  50.          if jeu[x][y+1] == jeu[x][y] or jeu[x][y] == 0:
  51.             perdu = False
  52.    for x in range(lx-1):
  53.       for y in range(ly):
  54.          if jeu[x+1][y] == jeu[x][y] or jeu[x][y] == 0:
  55.             perdu = False
  56.    if action == "quitter":
  57.       perdu = True
  58. print("Game Over")
  59. print(jeu)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement