Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. from random import randrange,shuffle
  2. listeS=["$","*","&"]
  3.  
  4. def creeGrille(a,b,val):
  5. grille=[]
  6. for i in range(a):
  7. liste=[]
  8. for j in range(b):
  9. liste=liste+[val]
  10. grille=grille+[liste]
  11. return grille
  12.  
  13. def aleaGrille(a,b,listeT):
  14. grille=creeGrille(a,b,'_')
  15. liste=listeS*4
  16. while liste!=[]:
  17. i=randrange(0,a)
  18. j=randrange(0,b)
  19. shuffle(liste)
  20. if grille[i][j]=='_':
  21. grille[i][j]=[liste.pop(0)]
  22. else:
  23. grille[i][j]+=[liste.pop(0)]
  24. return grille
  25.  
  26. def affiche(grille):
  27. for i in grille:
  28. affiche=''
  29. for j in i:
  30. affiche=affiche+j[0]+' '
  31. print(affiche)
  32.  
  33. def supprime(grille,i,j):
  34. if grille[i][j]!='_':
  35. grille[i][j].pop(0)
  36. if grille[i][j]==[]:
  37. grille[i][j]='_'
  38.  
  39. def saisieCase(grille,a,b):
  40. while True:
  41. l=int(input("ligne :"))
  42. c=int(input("colonne:"))
  43. if l<a and c<b and grille[l][c]!='_':
  44. return [l,c]
  45. else :
  46. print("Saisie incorrecte")
  47.  
  48. def saisieCoup(grille,a,b):
  49. while True:
  50. case1=saisieCase(grille,a,b)
  51. case2=saisieCase(grille,a,b)
  52. if case1==case2:
  53. print("Saisie incorrecte-cases identiques")
  54. elif grille[case1[0]][case1[1]][0]!=grille[case2[0]][case2[1]][0]:
  55. print("Saisie incorrecte-tuile différentes")
  56. else:
  57. return [case1,case2]
  58.  
  59. def jouerUnCoup(grille):
  60. a=len(grille)
  61. b=len(grille[0])
  62. cases=saisieCoup(grille,a,b)
  63. supprime(grille,cases[0][0],cases[0][1])
  64. supprime(grille,cases[1][0],cases[1][1])
  65.  
  66. def jouable(grille,a,b):
  67. compte=0
  68. for i in grille:
  69. for j in i:
  70. if j!='_':
  71. compte+=1
  72. if compte>1:
  73. return True
  74. return False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement