Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. import random
  2.  
  3. tablica = [0,1,2,
  4. 3,4,5,
  5. 6,7,8]
  6.  
  7. def plansza ():
  8. print (tablica[0], "|", tablica[1], "|", tablica[2])
  9. print ("----------")
  10. print (tablica[3], "|", tablica[4], "|", tablica[5])
  11. print ("----------")
  12. print (tablica[6], "|", tablica[7], "|", tablica[8])
  13. print("")
  14.  
  15.  
  16. def spr_linijke(znak, pole1, pole2, pole3):
  17. if tablica[pole1] == znak and tablica[pole2] == znak and tablica[pole3] == znak:
  18. return True
  19.  
  20. def spr_wszystkie(znak):
  21. if spr_linijke(znak, 0, 3, 6):
  22. return True
  23. if spr_linijke(znak, 1, 4, 7):
  24. return True
  25. if spr_linijke(znak, 2, 5, 8):
  26. return True
  27.  
  28. if spr_linijke(znak, 6, 7, 8):
  29. return True
  30. if spr_linijke(znak, 3, 4, 5):
  31. return True
  32. if spr_linijke(znak, 0, 1, 2):
  33. return True
  34.  
  35. if spr_linijke(znak, 2, 4, 6):
  36. return True
  37. if spr_linijke(znak, 0, 4, 8):
  38. return True
  39.  
  40. def wolne_pole(nr_pola):
  41. if tablica[nr_pola] != 'o' and tablica[nr_pola] != 'x':
  42. return True
  43. return False
  44.  
  45. def zwroc_wolny_rog():
  46. if wolne_pole(0):
  47. return 0
  48. elif wolne_pole(2):
  49. return 2
  50. elif wolne_pole(6):
  51. return 6
  52. elif wolne_pole(8):
  53. return 8
  54. else:
  55. return None
  56.  
  57. def oba_kolka(pole1,pole2):
  58. if tablica[pole1] == tablica[pole2] and tablica[pole1] == 'o':
  59. return True
  60. return False
  61.  
  62. def zwroc_wygrana_ukos():
  63. for i in [0,2,6,8]:
  64. if oba_kolka(i,4) and wolne_pole(8-i):
  65. return 8-i
  66.  
  67. if (oba_kolka(0,8) or oba_kolka(6,2)) and wolne_pole(4):
  68. return 4
  69. return None
  70.  
  71.  
  72.  
  73. wygrana = False
  74.  
  75. while wygrana != True:
  76.  
  77. użytkownik = input("Wybierz pole: ")
  78. użytkownik = int(użytkownik)
  79.  
  80. if tablica[użytkownik] != 'x' and tablica[użytkownik] != 'o':
  81. tablica[użytkownik] = 'x'
  82.  
  83. if spr_wszystkie('x') == True:
  84. print ("~~X wygrywa!~~")
  85. wygrana = True
  86. break
  87.  
  88. while True:
  89. random.seed() #Play a random generator
  90.  
  91. ukos = zwroc_wygrana_ukos()
  92.  
  93. if ukos != None:
  94. przeciwnik = ukos
  95. else:
  96. rog = zwroc_wolny_rog()
  97. if wolne_pole(4):
  98. przeciwnik = 4
  99. elif rog != None:
  100. przeciwnik = rog
  101. else:
  102. przeciwnik = random.randint (0,8)
  103.  
  104. if tablica[przeciwnik] != 'o' and tablica[przeciwnik] != 'x':
  105. tablica[przeciwnik] = 'o'
  106.  
  107. if spr_wszystkie('o') == True:
  108. print ("~~O wygrywa!~~")
  109. wygrana = True
  110. break
  111.  
  112. break
  113.  
  114. else:
  115. print ("To pole jest już zajęte!")
  116.  
  117.  
  118. plansza()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement