Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.70 KB | None | 0 0
  1. import numpy
  2.  
  3. a1= a2= a3= b1= b2= b3= c1= c2= c3 = "+"
  4.  
  5. board = [[a1, a2, a3],
  6. [b1, b2, b3],
  7. [c1, c2, c3]]
  8.  
  9. wins = [['a1', 'a2', 'a3'],
  10. ['b1', 'b2', 'b3'],
  11. ['c1', 'c2', 'c3'],
  12. ['a1', 'b2', 'c3'],
  13. ['c1', 'b2', 'a3'],
  14. ['a1', 'b1', 'c1'],
  15. ['a2', 'b2', 'c2'],
  16. ['a3', 'b3', 'c3']]
  17.  
  18. class Player:
  19. def __init__(self, bool):
  20. self.moves = self.marker = self.player = 0
  21. self.pegs = []
  22. self.won = False
  23. if bool==1:
  24. self.player=2
  25. self.marker="O"
  26. else:
  27. self.player=1
  28. self.marker="X"
  29. def peg(self, coord, board):
  30. for y,letter in enumerate(['a','b','c']):
  31. for x,number in enumerate(['1','2','3']):
  32. if (coord[0] == letter) and (coord[1] == number):
  33. board[y][x] = self.marker
  34. self.pegs.append(("%s%s" % (letter,number)))
  35. #exec("%s='%s'" % (coord, self.marker))
  36. self.moves += 1
  37. return board;
  38. def checkWinner(self):
  39. for win in wins:
  40. score = 0
  41. for peg in self.pegs:
  42. for i in [0,1,2]:
  43. if peg == win[i]:
  44. score += 1
  45. if score >= 3:
  46. self.won = True
  47. break
  48. return self.won;
  49.  
  50. def gameBoard ():
  51. print " 1 2 3"
  52. print "a {0} | {1} | {2}".format(*board[0])
  53. print " ----------"
  54. print "b {0} | {1} | {2}".format(*board[1])
  55. print " ----------"
  56. print "c {0} | {1} | {2}".format(*board[2])
  57.  
  58. t = "go"
  59. p1 = Player(0)
  60. p2 = Player(1)
  61. players = [p1, p2]
  62. turn = 0
  63.  
  64. while t == "go":
  65. move = (turn % 2)
  66. gameBoard()
  67. coord = raw_input("Input a coordinate, player %s > " % (players[move].player))
  68. players[move].peg(coord, board)
  69. if (players[move].checkWinner() == False):
  70. turn += 1
  71. else:
  72. print("player%s wins!!" % (players[move].player))
  73. break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement