fork download
  1. def init():
  2. k = 9 * ['.']
  3. return k
  4.  
  5. def afisare(joc):
  6. print(joc[0:3])
  7. print(joc[3:6])
  8. print(joc[6:9])
  9.  
  10. def alegere_jucator(joc):
  11. sum1=0
  12. sum2=0
  13. for i in range(9):
  14. if joc[i]=='X':
  15. sum1+=1
  16. elif joc[i]=='0':
  17. sum2+=1
  18. if sum1==sum2:
  19. return 'X'
  20. else:
  21. return '0'
  22.  
  23.  
  24. def lista_mutari():
  25. L = []
  26. for i in range(9):
  27. if joc[i]=='.':
  28. L.append(i)
  29.  
  30. return L
  31.  
  32.  
  33. def castigator():
  34. lista1=['X','X','X']
  35. lista2=['0','0','0']
  36.  
  37. if joc[0:3] == lista1 or joc[3:6] == lista1 or joc[6:9] == lista1 or [joc[0],joc[4],joc[8]] == lista1 or [joc[6],joc[4],joc[2]] == lista1:
  38. return 1
  39. elif joc[0:3] == lista2 or joc[3:6] == lista2 or joc[6:9] == lista2 or [joc[0],joc[4],joc[8]] == lista2 or [joc[6],joc[4],joc[2]] == lista2:
  40. return -1
  41. else:
  42. return 0
  43.  
  44. def joaca_mutare(joc,mutare):
  45. import copy
  46.  
  47. joc2=copy.copy(joc)
  48.  
  49. piesa = alegere_jucator(joc)
  50.  
  51. if mutare in lista_mutari(joc):
  52. joc2[mutare] = piesa
  53.  
  54. return joc2
  55.  
  56. def valMax(joc):
  57.  
  58. mutari = lista_mutari(joc)
  59.  
  60. if len(mutari) == 0 or castig(joc) != 0:
  61. return castig(joc), -1
  62.  
  63. else:
  64. calculmax = -2
  65. ind_cel_mai_bun = -1
  66.  
  67. for mutare in mutari:
  68. joc2=joaca_mutare(joc,mutare)
  69. calcul, _ =valMin(joc2)
  70. if calcul > calculmax:
  71. calculmax = calcul
  72. ind_cel_mai_bun = mutare
  73.  
  74. return calculmax, ind_cel_mai_bun
  75.  
  76.  
  77. def valMin(joc):
  78. mutari = lista_mutari(joc)
  79.  
  80. if len(mutari) == 0 or castig(joc) != 0:
  81. return castig(joc), -1
  82.  
  83. else:
  84. calculmax = -2
  85. ind_cel_mai_bun = -1
  86.  
  87. for mutare in mutari:
  88. joc2 = joaca_mutare(joc, mutare)
  89. calcul, _ = valMin(joc2)
  90. if calcul > calculmax:
  91. calculmax = calcul
  92. ind_cel_mai_bun = mutare
  93.  
  94. return calculmax, ind_cel_mai_bun
  95.  
  96.  
  97. joc = []
  98.  
  99. joc=init()
  100.  
  101. afisare(joc)
  102.  
  103.  
Success #stdin #stdout 0.01s 7208KB
stdin
Standard input is empty
stdout
['.', '.', '.']
['.', '.', '.']
['.', '.', '.']