Advertisement
Korotkodul

server_OK

Sep 22nd, 2022 (edited)
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. import socket
  2. sock = socket.socket()
  3. sock.bind(('10.8.128.157',9988))
  4. sock.listen(3)
  5. A, addrA = sock.accept()
  6. B, addrB = sock.accept()
  7. A.send(b"x")
  8. B.send(b"0")
  9.  
  10. mtr = []
  11. for i in range(3):
  12.     m = ['a'] * 3
  13.     mtr.append(m)
  14.  
  15. def check():
  16.     for i in range(3):
  17.         if mtr[i][0] == mtr[i][1] == mtr[i][2]:
  18.             if mtr[i][0] == 'x':
  19.                 return 'x'
  20.             elif mtr[i][0] == '0':
  21.                 return '0'
  22.  
  23.     for j in range(3):
  24.         if mtr[0][j] == mtr[1][j] == mtr[2][j]:
  25.             if mtr[0][j] == 'x':
  26.                 return 'x'
  27.             elif mtr[0][j] == '0':
  28.                 return '0'
  29.  
  30.     if mtr[0][0] == mtr[1][1] == mtr[2][2]:
  31.         if mtr[0][0] == 'x':
  32.             return 'x'
  33.         elif mtr[0][0] == '0':
  34.             return '0'
  35.  
  36.     if mtr[0][2] == mtr[1][1] == mtr[2][0]:
  37.         if mtr[0][2] == 'x':
  38.             return 'x'
  39.         elif mtr[0][2] == '0':
  40.             return '0'
  41.  
  42.     draw = True
  43.     for i in range(3):
  44.         for j in range(3):
  45.             if mtr[i][j] == 'a':
  46.                 draw = False
  47.     if draw:
  48.         return 'draw'
  49.  
  50.     return 'a'
  51.  
  52. cnt=-1
  53. while check() == 'a':
  54.     print("ITERATION SERVER")
  55.     cnt = (cnt + 1) % 2
  56.     mover = A
  57.     waiter = B
  58.     if cnt == 1:
  59.         mover = B
  60.         waiter = A
  61.         print("mover = B")
  62.         print("waiter = A")
  63.     else:
  64.         print("mover = A")
  65.         print("waiter = B")
  66.  
  67.     mover.send(b"move")
  68.     coord = mover.recv(1024)
  69.     waiter.send(coord)
  70.     col, row = coord.decode('utf-8').split()
  71.     col = int(col)
  72.     row = int(row)
  73.     print("col row = ", col, row, type(col), type(row))
  74.     if mover == A:
  75.         mtr[col][row] = 'x'
  76.     else:
  77.         mtr[col][row] = '0'
  78.     #break
  79.  
  80.  
  81.  
  82.  
  83.  
  84. A.close()
  85. B.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement