from random import * class Board: #A class for managing different situations and states happening in the game and on the board def __init__(self, board): self.board=board def get_board(self): return self.board def print_board(self): for i in self.board: for j in i: print(j,end="") print() def play_move(self,v1,v2): #v1 and v2 correlate to the first and second vertex that you would draw to on the board vertex 1 is always smaller than vertex 2 if((v2-v1)==1): if(v1<5): c=0 elif(v1<9): c=2 v1=v1-4 v2=v2-4 elif(v1<13): c=4 v1=v1-8 v2=v2-8 else: c=6 v1=v1-12 v2=v2-12 x1=v1+3*(v1-1) x2=v2+3*(v2-1) for i in range (x1,x2-1): self.board[c][i]="-" else: if(v2<9): c=1 elif(v2<13): c=3 else: c=5 if(v2%4==1): self.board[c][0]="|" elif(v2%4==2): self.board[c][4]="|" elif(v2%4==3): self.board[c][8]="|" else: self.board[c][12]="|" if(self.check_fill()): return 1 else: return 0 def check_fill(self): x=0 while(x<=4): y=0 while(y<=8): if(self.board[x][y+2]=='-' and self.board[x+1][y]=='|' and self.board[x+1][y+4]=='|' and self.board[x+2][y+2]=='-'): if(self.board[x+1][y+2]!='X'): self.board[x+1][y+2]='X' return True y=y+4 x=x+2 return False def is_legal(self,v1,v2): # we might not need this if(v1