Advertisement
Guest User

Untitled

a guest
May 24th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. import socket, sys
  2.  
  3. plansza = [0,1,2,3,4,5,6,7,8]
  4. gniazdo = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  5. gniazdo.bind(('', 23000))
  6. gniazdo.listen(1)
  7. conn, dalejniewiemcoto = gniazdo.accept()
  8. def pokaz_plansze():
  9. print plansza[0] , " " , plansza[1] , " " , plansza[2] , "\n"
  10. print plansza[3] , " " , plansza[4] , " " , plansza[5] , "\n"
  11. print plansza[6] , " " , plansza[7] , " " , plansza[8]
  12.  
  13. def sprawdz_wynik():
  14. if plansza[0] == plansza[1] == plansza[2] in ("x" or "o"):
  15. return True
  16. elif plansza[3] == plansza[4] == plansza[5] in ("x" or "o"):
  17. return True
  18. elif plansza[6] == plansza[7] == plansza[8] in ("x" or "o"):
  19. return True
  20. elif plansza[0] == plansza[3] == plansza[6] in ("x" or "o"):
  21. return True
  22. elif plansza[1] == plansza[4] == plansza[7] in ("x" or "o"):
  23. return True
  24. elif plansza[2] == plansza[5] == plansza[8] in ("x" or "o"):
  25. return True
  26. elif plansza[0] == plansza[4] == plansza[8] in ("x" or "o"):
  27. return True
  28. elif plansza[2] == plansza[4] == plansza[6] in ("x" or "o"):
  29. return True
  30. return False
  31.  
  32. def czy_jest_mozliwosc(pole_int):
  33. return str(pole_int) not in ("x" or "o")
  34.  
  35. def wstaw_o():
  36. print "W ktorym polu chcesz wstawic O"
  37. pole = sys.stdin.readline()
  38. pole_int = int(pole)
  39. if pole_int in [0,1,2,3,4,5,5,7,8,9]:
  40. if czy_jest_mozliwosc(pole_int):
  41. plansza[pole_int] = "o"
  42. else:
  43. print "Zle pole nie mam czasu na pisanie petli. Koniec dzialania."
  44. sys.exit(0)
  45.  
  46. def wyslij_plansze():
  47. conn.sendall(str(plansza))
  48.  
  49. def czy_int(o):
  50. if o in (1,2,3,4,5,6,7,8,0):
  51. return int(o)
  52. else:
  53. return str(o)
  54. def odbierz_plansze():
  55. p = conn.recv(256)
  56. print p
  57. plansza[0] = czy_int(p[1])
  58. plansza[1] = czy_int(p[4])
  59. plansza[2] = czy_int(p[7])
  60. plansza[3] = czy_int(p[10])
  61. plansza[4] = czy_int(p[13])
  62. plansza[5] = czy_int(p[16])
  63. plansza[6] = czy_int(p[19])
  64. plansza[7] = czy_int(p[22])
  65. plansza[8] = czy_int(p[25])
  66.  
  67. while True:
  68. pokaz_plansze()
  69. if sprawdz_wynik():
  70. print "Ktos wygral"
  71. conn.sendall("Ktos wygral")
  72. break
  73. else:
  74. conn.sendall("Gramy dalej")
  75. wstaw_o()
  76. pokaz_plansze()
  77. wyslij_plansze()
  78. odbierz_plansze()
  79. if sprawdz_wynik():
  80. print "Ktos wygral"
  81. conn.sendall("Ktos wygral")
  82. break
  83. else:
  84. conn.sendall("Gramy dalej")
  85. conn.close()
  86.  
  87.  
  88.  
  89.  
  90.  
  91. ############################################
  92. import sys, socket
  93. plansza = [1,2,3,4,5,6,7,8,9]
  94. conn = socket.socket()
  95. conn.connect(('', 23000))
  96. def czy_int(o):
  97. if o in (1,2,3,4,5,6,7,8,0):
  98. return int(o)
  99. else:
  100. return str(o)
  101.  
  102. def odbierz_plansze():
  103. p = conn.recv(256)
  104. print p
  105. plansza[0] = czy_int(p[1])
  106. plansza[1] = czy_int(p[4])
  107. plansza[2] = czy_int(p[7])
  108. plansza[3] = czy_int(p[10])
  109. plansza[4] = czy_int(p[13])
  110. plansza[5] = czy_int(p[16])
  111. plansza[6] = czy_int(p[19])
  112. plansza[7] = czy_int(p[22])
  113. plansza[8] = czy_int(p[25])
  114.  
  115. def pokaz_plansze():
  116. print plansza[0] , " " , plansza[1] , " " , plansza[2] , "\n"
  117. print plansza[3] , " " , plansza[4] , " " , plansza[5] , "\n"
  118. print plansza[6] , " " , plansza[7] , " " , plansza[8]
  119.  
  120. def czy_jest_mozliwosc(pole_int):
  121. return str(pole_int) not in ("x" or "o")
  122.  
  123. def wstaw_x():
  124. print "W ktorym polu chcesz wstawic X"
  125. pole = sys.stdin.readline()
  126. pole_int = int(pole)
  127. if pole_int in (0,1,2,3,4,5,5,7,8,9):
  128. if czy_jest_mozliwosc(pole_int):
  129. plansza[pole_int] = "x"
  130. else:
  131. print "Zle pole nie mam czasu na pisanie petli. Koniec dzialania."
  132. sys.exit(0)
  133. def wyslij_plansze():
  134. conn.sendall(str(plansza))
  135.  
  136. def odbierz_wynik():
  137. data = conn.recv(256)
  138. if data == "Ktos wygral":
  139. return True
  140.  
  141. while True:
  142. if odbierz_wynik():
  143. print "Ktos wygral"
  144. break
  145. odbierz_plansze()
  146. pokaz_plansze()
  147. wstaw_x()
  148. wyslij_plansze()
  149. if odbierz_wynik():
  150. print "Ktos wygral"
  151. break
  152. conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement