self.item.grid[4][3] = white
self.item.grid[3][4] = white
self.turn_index = 0
- self.turn_number = 0
def CalScore(self,stone,x,y):
self.buffer.Assign(self.item)
if self.CanSetStone(stone, x, y, True) == True:
- self.score = 0
+ self.score = 0.5
for i in range(8):
for j in range(8):
if self.CanSetStone(stone, i, j, False) == True:
self.score += 1
self.item.Assign(self.buffer)
else:
- self.score = -1
+ self.score = 0
def CanSetStone(self,stone,x,y,reverse):
p = [True,False]
return p[1]
def T_Data(self,stone):
- x = False
n = 0
- self.score = 0
for i in range(8):
for j in range(8):
self.CalScore(stone, i, j)
- if self.score != -1:
- if x == False:
- x = True
+ if self.score > 0:
self.arr.grid[i][j] = self.score
if self.score > n:
n = self.score
else:
- self.arr.grid[i][j] = -1
+ self.arr.grid[i][j] = 0
if n > 0:
for i in range(8):
for j in range(8):
k = self.arr.grid[i][j]
- if k != -1:
- self.arr.grid[i][j] = k / n
+ if k != 0:
+ self.arr.grid[i][j] = (n - k + 0.5) / n
def Start(self):
global index
self.Clear()
self.active = True
self.gameover = False
+ Paint()
- def ReStart(self):
- self.active = True
- self.gameover = False
- self.turn_index = self.turn_number
-
- def Pause(self):
- self.active = False
def Paint(self):
if self.effect_stone == black:
elif index.stone == white:
pre = comp.gote_stone(stone_grid.item.grid,stone_grid.arr.grid)
stone_grid.CanSetStone(index.stone, pre[0], pre[1], True)
- print(pre)
stone_grid.active = True
-
-player1 = Player()
-player2 = Player()
-index = player1
-player1.stone = black
-player1.auto = False
-player2.auto = True
-player2.stone = white
-stone_grid = StoneGrid()
-stone_grid.Start()
-pygame.event.get()
-temp = pygame.time.get_ticks()
-Paint()
-tt = (player1.auto == True)and(player2.auto == True)
-if tt == True:
- k = 10
-else:
- k = 150
-while True:
- if pygame.time.get_ticks()-temp > 2*k:
- if (stone_grid.active == True)and(index.auto == True):
- CompStone()
- ChangePlayer()
- temp = pygame.time.get_ticks()
- pygame.time.wait(k)
- for x in pygame.event.get():
- if x.type == QUIT:
- sys.exit()
- t = pygame.mouse.get_pressed()[0]
- if (stone_grid.gameover == True)and((t == True)or(tt == True)):
- stone_grid.Start()
- if (index.auto == False)and(stone_grid.active == True)and(t == True):
- stone_grid.active = False
- s = pygame.mouse.get_pos()
- if stone_grid.CanSetStone(index.stone,s[0]//size,s[1]//size,True) == True:
- stone_grid.turn_index += 1
- ChangePlayer()
- stone_grid.active = True
-
\ No newline at end of file
+
+if __name__ == '__main__':
+ player1 = Player()
+ player2 = Player()
+ index = player1
+ player1.stone = black
+ player1.auto = True
+ player2.auto = True
+ player2.stone = white
+ stone_grid = StoneGrid()
+ stone_grid.Start()
+ temp = pygame.time.get_ticks()
+ Paint()
+ tt = (player1.auto == True)and(player2.auto == True)
+ if tt == True:
+ k = 10
+ else:
+ k = 150
+ while True:
+ if (pygame.time.get_ticks()-temp > 2*k)and(stone_grid.gameover == False):
+ if (stone_grid.active == True)and(index.auto == True):
+ CompStone()
+ ChangePlayer()
+ temp = pygame.time.get_ticks()
+ pygame.time.wait(k)
+ for x in pygame.event.get():
+ if x.type == QUIT:
+ sys.exit()
+ t = pygame.mouse.get_pressed()[0]
+ if (stone_grid.gameover == True)and((t == True)or(tt == True)):
+ stone_grid.Start()
+ if (index.auto == False)and(stone_grid.active == True)and(t == True):
+ stone_grid.active = False
+ s = pygame.mouse.get_pos()
+ if stone_grid.CanSetStone(index.stone,s[0]//size,s[1]//size,True) == True:
+ stone_grid.turn_index += 1
+ ChangePlayer()
+ stone_grid.active = True
+