Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket, sys
- plansza = [0,1,2,3,4,5,6,7,8]
- gniazdo = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- gniazdo.bind(('', 23000))
- gniazdo.listen(1)
- conn, dalejniewiemcoto = gniazdo.accept()
- def pokaz_plansze():
- print plansza[0] , " " , plansza[1] , " " , plansza[2] , "\n"
- print plansza[3] , " " , plansza[4] , " " , plansza[5] , "\n"
- print plansza[6] , " " , plansza[7] , " " , plansza[8]
- def sprawdz_wynik():
- if plansza[0] == plansza[1] == plansza[2] in ("x" or "o"):
- return True
- elif plansza[3] == plansza[4] == plansza[5] in ("x" or "o"):
- return True
- elif plansza[6] == plansza[7] == plansza[8] in ("x" or "o"):
- return True
- elif plansza[0] == plansza[3] == plansza[6] in ("x" or "o"):
- return True
- elif plansza[1] == plansza[4] == plansza[7] in ("x" or "o"):
- return True
- elif plansza[2] == plansza[5] == plansza[8] in ("x" or "o"):
- return True
- elif plansza[0] == plansza[4] == plansza[8] in ("x" or "o"):
- return True
- elif plansza[2] == plansza[4] == plansza[6] in ("x" or "o"):
- return True
- return False
- def czy_jest_mozliwosc(pole_int):
- return str(pole_int) not in ("x" or "o")
- def wstaw_o():
- print "W ktorym polu chcesz wstawic O"
- pole = sys.stdin.readline()
- pole_int = int(pole)
- if pole_int in [0,1,2,3,4,5,5,7,8,9]:
- if czy_jest_mozliwosc(pole_int):
- plansza[pole_int] = "o"
- else:
- print "Zle pole nie mam czasu na pisanie petli. Koniec dzialania."
- sys.exit(0)
- def wyslij_plansze():
- conn.sendall(str(plansza))
- def czy_int(o):
- if o in (1,2,3,4,5,6,7,8,0):
- return int(o)
- else:
- return str(o)
- def odbierz_plansze():
- p = conn.recv(256)
- print p
- plansza[0] = czy_int(p[1])
- plansza[1] = czy_int(p[4])
- plansza[2] = czy_int(p[7])
- plansza[3] = czy_int(p[10])
- plansza[4] = czy_int(p[13])
- plansza[5] = czy_int(p[16])
- plansza[6] = czy_int(p[19])
- plansza[7] = czy_int(p[22])
- plansza[8] = czy_int(p[25])
- while True:
- pokaz_plansze()
- if sprawdz_wynik():
- print "Ktos wygral"
- conn.sendall("Ktos wygral")
- break
- else:
- conn.sendall("Gramy dalej")
- wstaw_o()
- pokaz_plansze()
- wyslij_plansze()
- odbierz_plansze()
- if sprawdz_wynik():
- print "Ktos wygral"
- conn.sendall("Ktos wygral")
- break
- else:
- conn.sendall("Gramy dalej")
- conn.close()
- ############################################
- import sys, socket
- plansza = [1,2,3,4,5,6,7,8,9]
- conn = socket.socket()
- conn.connect(('', 23000))
- def czy_int(o):
- if o in (1,2,3,4,5,6,7,8,0):
- return int(o)
- else:
- return str(o)
- def odbierz_plansze():
- p = conn.recv(256)
- print p
- plansza[0] = czy_int(p[1])
- plansza[1] = czy_int(p[4])
- plansza[2] = czy_int(p[7])
- plansza[3] = czy_int(p[10])
- plansza[4] = czy_int(p[13])
- plansza[5] = czy_int(p[16])
- plansza[6] = czy_int(p[19])
- plansza[7] = czy_int(p[22])
- plansza[8] = czy_int(p[25])
- def pokaz_plansze():
- print plansza[0] , " " , plansza[1] , " " , plansza[2] , "\n"
- print plansza[3] , " " , plansza[4] , " " , plansza[5] , "\n"
- print plansza[6] , " " , plansza[7] , " " , plansza[8]
- def czy_jest_mozliwosc(pole_int):
- return str(pole_int) not in ("x" or "o")
- def wstaw_x():
- print "W ktorym polu chcesz wstawic X"
- pole = sys.stdin.readline()
- pole_int = int(pole)
- if pole_int in (0,1,2,3,4,5,5,7,8,9):
- if czy_jest_mozliwosc(pole_int):
- plansza[pole_int] = "x"
- else:
- print "Zle pole nie mam czasu na pisanie petli. Koniec dzialania."
- sys.exit(0)
- def wyslij_plansze():
- conn.sendall(str(plansza))
- def odbierz_wynik():
- data = conn.recv(256)
- if data == "Ktos wygral":
- return True
- while True:
- if odbierz_wynik():
- print "Ktos wygral"
- break
- odbierz_plansze()
- pokaz_plansze()
- wstaw_x()
- wyslij_plansze()
- if odbierz_wynik():
- print "Ktos wygral"
- break
- conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement