基于python的套接字实现单机五子棋到双人对战

  

基于python的套接字实现单机五子棋到双人对战,供大家参考,具体内容如下

  

本次实验使用python语言。通过插座进行不同机器见的通信,具体可以分为以下四步:1。创建ServerSocket和插座;2。打开链接到套接字的输入/输出流;3。按照协议对套接字进行读/写操作;4。关闭输入输出流,关闭插座。

  

由于是双人对战,服务器必须应对多人及以上的客户端的连接,因此本实验还引入了python的线程多线程模块,通过监听实时监控网络状态,同时利用socket.listen(2)引入排队等待机制。

  

<强>象棋类

        #五子棋类   进口操作系统   棋盘类(对象):   def __init__(自我):   自我。大?16   #初始化棋盘   自我。__board=[[' n的范围(self.size) m的范围(self.size)]   n=0   #添加桌面标签   尽管n & lt;self.size:   正常=str (n)关系   自我。__board [0] [n]=ntr.zfill (2)   自我。__board [n] [0]=ntr.zfill (2)   n=n + 1   self.id=0   #胜利条件   def is_end(自我):   ch_stack=[]   #行检查   因为我在范围(self.size):   j的范围(self.size):   #判断是否结束   国际象棋=self.__board[我][j]   如果len (ch_stack)==5和ch_stack [1]==?’:   打印(“赢家=id 1”)   返回1   elif len (ch_stack)==5, ch_stack [1]==癅”:   打印(“赢家=id 2”)   返回2      如果象棋==' ':   ch_stack.clear ()   其他:   如果(不是ch_stack)或ch_stack[1]==国际象棋:   ch_stack.append(象棋)   其他:   ch_stack.clear ()   ch_stack.append(象棋)   ch_stack.clear ()   ch_stack.clear ()   #列检查   j的范围(self.size):   因为我在范围(self.size):   #判断是否结束   如果len (ch_stack)==5和ch_stack [1]==?’:   打印(“赢家=id 1”)   返回1   elif len (ch_stack)==5, ch_stack [1]==癅”:   打印(“赢家=id 2”)   返回2   国际象棋=self.__board[我][j]   如果象棋==' ':   ch_stack.clear ()   其他:   如果(不是ch_stack)或ch_stack[1]==国际象棋:   ch_stack.append(象棋)   其他:   ch_stack.clear ()   ch_stack.append(象棋)   ch_stack.clear ()   ch_stack.clear ()   #左斜检查   #下三角   因为我在范围(self.size):   self.size j的范围(1):   #判断是否结束   如果len (ch_stack)==5和ch_stack [1]==?’:   打印(“赢家=id 1”)   返回1   elif len (ch_stack)==5, ch_stack [1]==癅”:   打印(“赢家=id 2”)   返回2      如果我+ j0:   国际象棋=self.__board [j] [self.size-i-j]   如果象棋==' ':   ch_stack.clear ()   elif不是象棋:   打破   其他:   如果(不是ch_stack)或ch_stack[1]==国际象棋:   ch_stack.append(象棋)   其他:   ch_stack.clear ()   ch_stack.append(象棋)   其他:   打破   ch_stack.clear ()   ch_stack.clear ()   返回0   def画(自我):   # clear ()   在self.__board x:   打印(x)   返回0   def drop_chess(自我,x, y, id):   如果id==1和自我。__board [x] [y]==' ':   自我。__board [x] [y]=?’   返回1   elif id==2和自我。__board [x] [y]==' ':   自我。__board [x] [y]=癅”   返回1   其他:   返回0

基于python的套接字实现单机五子棋到双人对战