Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1.  
  2. #Player_1(board)
  3.  
  4.  
  5.  
  6. def main():
  7. global movecounter
  8. movecounter = 0
  9. boardsize = inputBoardSize()
  10. board = defineBoard(boardsize) #define board dimension
  11. createBoardLabels(board, boardsize)
  12. Player_1(board,boardsize)
  13.  
  14. def defineBoard(boardsize):
  15. board = [[""] * boardsize for i in range(boardsize)] #make the basic (non-drawable) version of theboard
  16. return board
  17.  
  18. def inputBoardSize(): #this is so we can make a board of any dimension we like
  19. boardsize = 3 #not used in this version, but if it was, how?
  20. return int(boardsize)
  21.  
  22. def createBoardLabels(board, boardsize): #<your comment>
  23. counter = 0
  24. for i in range(boardsize):
  25. for j in range(boardsize):
  26. counter +=1
  27. board[i][j] = counter
  28. return (board)
  29.  
  30. def print_divider (boardsize): #<your comment>
  31. print ('|'.join(['____' for x in range(boardsize)]))
  32.  
  33. def print_blank (boardsize):
  34. print ('|'.join([' ' for x in range(boardsize)])) #<your comment>
  35.  
  36. def print_labels(counter, board, boardsize): #<your comment>
  37. row = ' | '.join(['%2s' % board[counter][x] for x in range(boardsize)])
  38. row = ' ' + row
  39. print(row)
  40.  
  41. def drawBoard(board, boardsize): #<your comment>
  42. for i in range(boardsize):
  43. print_blank(boardsize)
  44. print_labels(i,board, boardsize)
  45. if (i == boardsize-1):
  46. print_blank(boardsize)
  47. else:
  48. print_divider(boardsize)
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. def win(board):
  56. if check_win_1(board):
  57. return True
  58. if check_win_2(board):
  59. return True
  60. if check_win_3(board):
  61. return True
  62. else:
  63. return False
  64.  
  65.  
  66.  
  67. def check_win_1 (board):
  68. if board[0][0] == board[1][0] and board[1][0] == board[2][0]: #first vertical
  69. return True
  70. if board[0][1] == board[1][1] and board[1][1] == board[2][1]: #middle vertical
  71. return True
  72. if board [0][2] == board[1][2] and board[1][2] == board[2][2]: #right vertical
  73. return True
  74.  
  75.  
  76.  
  77.  
  78. #check_win_1(board)
  79.  
  80.  
  81.  
  82. def check_win_2 (board):
  83. if board[0][0] == board[0][1] and board[0][1] == board[0][2]: #first hoz
  84. return True
  85. if board[1][0] == board[1][1] and board[1][1] == board[1][2]: #second hoz
  86. return True
  87. if board[2][0] == board[2][1] and board[2][1] == board[2][2]: #third hoz
  88. return True
  89.  
  90.  
  91.  
  92. #check_win_2(board)
  93.  
  94.  
  95. def check_win_3 (board):
  96. if board[0][0] == board[1][1] and board[1][1] == board[2][2]: #diag L-R
  97. return True
  98. if board[0][2] == board[1][1] and board[1][1] == board[2][0]: #diag R-L
  99. return True
  100. #else:
  101. #print (win)
  102.  
  103. #check_win_3(board)
  104.  
  105.  
  106. def Player_1(board,boardsize):
  107. elem = 'X'
  108. position = input('Player 1, enter number you want to play: ')
  109. global movecounter
  110. movecounter = movecounter + 1
  111. updateBoard(board,boardsize,position,elem)
  112. drawBoard(board, boardsize)
  113. if win(board):
  114. print('Player 1 wins!')
  115. elif movecounter == 9 and win(board) == False:
  116. print('it\'s a draw')
  117. exit()
  118. else:
  119. Player_2(board,boardsize)
  120.  
  121.  
  122.  
  123.  
  124. def Player_2(board,boardsize):
  125. elem = '0'
  126. position = input('Player 2, enter number you want to play: ')
  127. global movecounter
  128. movecounter = movecounter + 1
  129. updateBoard(board,boardsize,position,elem)
  130. drawBoard(board, boardsize)
  131. if win(board):
  132. print ('Player 2 wins!')
  133. elif movecounter == 9 and win(board) == False:
  134. print ('it\'s a draw')
  135. exit()
  136. else:
  137. Player_1(board,boardsize)
  138.  
  139. def updateBoard(board,boardsize,position,elem):
  140. for i in range(len(board)):
  141. for j in range(len(board)):
  142. if board[i][j] == position:
  143. board[i][j] = elem
  144. return board
  145.  
  146.  
  147.  
  148. main() #run the program
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement