diff options
Diffstat (limited to 'Jack/board2.py')
-rw-r--r-- | Jack/board2.py | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Jack/board2.py b/Jack/board2.py new file mode 100644 index 0000000..3aecaa5 --- /dev/null +++ b/Jack/board2.py @@ -0,0 +1,73 @@ +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<v2 and (v2-v1==4 or ((v2%4 != 1) and (v2-v1==1))):
+ return True
+ else:
+ return False
+
+
|