tkinter:使用指定图片构建3x3网格替代线条绘制井字棋棋盘
井字棋用自定义图片构建3x3网格实现方案
首先确认你的empty.gif尺寸和单个棋盘格子尺寸匹配:单个格子的边长为 size / 3,如果图片尺寸不符可以先调整:
- 缩小图片用
self.empty_image = self.empty_image.subsample(倍数) - 放大图片用
self.empty_image = self.empty_image.zoom(倍数)
接下来修改initialize_board方法,替换原来的画线逻辑为放置图片的逻辑即可:
def initialize_board(self): cell_size = size / 3 # 遍历3行3列的所有格子 for row in range(3): for col in range(3): # 计算当前格子的中心坐标,作为图片的放置锚点 center_x = col * cell_size + cell_size / 2 center_y = row * cell_size + cell_size / 2 # 向画布添加空白格子图片 self.canvas.create_image(center_x, center_y, image=self.empty_image)
额外补充:如果需要后续记录每个格子的落子状态,可以在初始化时同步创建状态存储数组:
self.board = [[0 for _ in range(3)] for _ in range(3)] # 0 代表空白,1 代表玩家1落子,2 代表玩家2落子,后续落子操作只需修改对应坐标的状态和显示图片即可
内容的提问来源于stack exchange,提问作者Lykkeboe
相关产品推荐
相关产品推荐

