# coding:utf-8

import turtle
import random
import time

SCREENWIDTH = 640
SCREENHEIGHT = 480

MINSTICKS = 7
MAXSTICKS = 31

HUNIT = SCREENHEIGHT // 12
WUNIT = SCREENWIDTH // ((MAXSTICKS // 5) * 11 + (MAXSTICKS % 5) * 2)

SCOLOR = (63, 63, 31)
HCOLOR = (255, 204, 204)
COLOR = (204, 204, 255)

def randomrow():
 return random.randint(MINSTICKS, MAXSTICKS)

def computerzug(state):
 xored = state[0] ^ state[1] ^ state[2]
 if xored == 0:
 return randommove(state)
 for z in range(3):
 s = state[z] ^ xored
 if s (m > 1):
 break
 rand = random.randint(m > 1, state[z]-1)
 return z, rand


class NimModel(object):
 def __init__(self, game):
 self.game = game

 def setup(self):
 if self.game.state not in [Nim.CREATED, Nim.OVER]:
 return
 self.sticks = [randomrow(), randomrow(), randomrow()]
 self.player = 0
 self.winner = None
 self.game.view.setup()
 self.game.state = Nim.RUNNING

 def move(self, row, col):
 maxspalte = self.sticks[row]
 self.sticks[row] = col
 self.game.view.notify_move(row, col, maxspalte, self.player)
 if self.game_over():
 self.game.state = Nim.OVER
 self.winner = self.player
 self.game.view.notify_over()
 elif self.player == 0:
 self.player = 1
 row, col = computerzug(self.sticks)
 self.move(row, col)
 self.player = 0

 def game_over(self):
 return self.sticks == [0, 0, 0]

 def notify_move(self, row, col):
 if self.sticks[row]
python circle(40、steps=4)_例子-PYTHON
最新推荐文章于 2023-11-08 17:04:39 发布