Advertisement
Guest User

Untitled

a guest
Feb 27th, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.38 KB | None | 0 0
  1.  
  2. DIRECTIONS = [[0,-1],[-1,1],[1,-2],[0,1],[-1,1],[1,1],[-1,0],[1,0]]
  3. class Game_state:
  4.  
  5. def __init__(self,row_col,player):
  6.  
  7. self.first_player = player
  8. self.second_player = self.switch_player(player)
  9.  
  10. self.row = row_col[1]
  11. self.col = row_col[0]
  12. self.board = self.create_board(player)
  13.  
  14.  
  15. def create_board(self,startingplayer):
  16.  
  17. board_list = []
  18. for row in range(self.col):
  19. list_items = []
  20. for col in range(self.row):
  21. list_items.append(' ')
  22. board_list.append(list_items)
  23.  
  24. #print(board_list[0] == # of columns
  25.  
  26.  
  27. #rowcol[1] = COLUMN
  28. #rowcol[0] == row
  29. opposite_player = self.switch_player(startingplayer)
  30. pos1 = int(self.col/2)
  31. pos2 = int(self.row/2)
  32.  
  33. board_list[pos1][pos2-1] = startingplayer
  34. board_list[pos1][pos2] = opposite_player
  35. board_list[pos1-1][pos2]= startingplayer
  36. board_list[pos1-1][pos2-1]= opposite_player
  37.  
  38. return board_list
  39.  
  40.  
  41. def make_move(self,player):
  42. cur_player = player
  43. print('It\'s ' + str(player)+ 's turn')
  44.  
  45. print('Select row and column to make move')
  46. row = int(input('Row: '))
  47. col = int(input('Col: '))
  48.  
  49. # self.isValid(row,col)
  50. #self.validmoves(cur_player)
  51. self.valid_moves(cur_player)
  52.  
  53. def switch_player(self,player):
  54.  
  55. if player == 'W':
  56. return 'B'
  57. else:
  58. return 'W'
  59.  
  60. ## def _checkDisc(self,row,col):
  61. ## '''Checks if there is an empty cell'''
  62. ##
  63. ## if self.board[row][col] == ' ':
  64. ## return True
  65. ## else:
  66. ## return False
  67. ##
  68. def valid_moves(self,player):
  69.  
  70. for row in range(len(self.board)):
  71.  
  72. for col in range(self.col):
  73. if self.board[col][row] == player: # returns the position of a player
  74.  
  75. for direction in DIRECTIONS: # goes through all possible directions
  76.  
  77. self.search_directions(direction,col,row,player)
  78.  
  79.  
  80. def search_directions(self,direction,row,col,player):
  81.  
  82. #while True:
  83. col_move = col #+ #direction[0]
  84. row_move = row #+ direction[1]
  85. cur_list = []
  86.  
  87. if not self._is_in_board(row_move,col_move):
  88. return False
  89.  
  90.  
  91. while True:
  92.  
  93. col_move+=direction[0]
  94. row_move+=direction[1]
  95. print("it works")
  96.  
  97. if self._is_in_board(row_move,col_move):
  98.  
  99. if self.board[col_move][row_move] == self.switch_player(player):
  100. print('it works2')
  101. self.continue_direction(col_move,row_move,direction)
  102.  
  103. else:
  104. return True
  105. #elif not self._is_in_board(row_move,col_move) or self.board[col_move][row_move] == player:
  106. # return False
  107.  
  108. else:
  109. print(col_move,row_move)
  110. for i in self.board:
  111. print(i)
  112. break
  113.  
  114. print(cur_list)
  115. def continue_direction(self,col,row,direction):
  116. while True:
  117. col+=direction[0]
  118. row+=direction[1]
  119. list1 = []
  120. if self.board[col][row] == ' ':
  121. list1.append([col,row])
  122. print(list1)
  123.  
  124. for i in self.board:
  125. print(i)
  126. return False
  127. else:
  128. return True
  129.  
  130.  
  131.  
  132.  
  133. def _is_in_board(self,row,col)->bool:
  134. return col >=0 and col<= self.col -1 and row >= 0 and row<= self.row-1
  135.  
  136. def _isEmpty(self):
  137. pass
  138. def _isColor(self,row,col,player):
  139.  
  140. return self.board[col][row] == player
  141.  
  142.  
  143.  
  144.  
  145.  
  146. def check_winner(self):
  147. pass
  148. def _tilesflip(self):
  149. pass
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160. from Othello_gamelogic import *
  161.  
  162. def input_rowcolumn():
  163. while True:
  164. column = int(input('Enter an even # of columns between 4-16\n'))
  165. row = int(input('Enter an even # of rows between 4-16\n'))
  166.  
  167. row_column = []
  168. if row%2 == 0 and column%2 ==0:
  169. row_column.append(row)
  170. row_column.append(column)
  171.  
  172. return row_column
  173. else:
  174. print('Invalid #s, Re-enter choices')
  175.  
  176. def which_player():
  177. starting_player = input('Select which player to move first\
  178. \nEnter [B]lack or [W]hite \n')
  179.  
  180. return starting_player
  181.  
  182. def winner_count():
  183. a = input('Will the player with the most or least pieces win?')
  184. return a
  185.  
  186. def main():
  187.  
  188.  
  189. user_input = input_rowcolumn()
  190. starting_player = which_player()
  191. start_game = Game_state(user_input,starting_player)
  192.  
  193.  
  194. while True:
  195.  
  196. ## start_game.display_board(start_game.board)
  197. makemove = start_game.make_move(starting_player)
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206. if __name__ == '__main__':
  207. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement