
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
编程中有时事件函数需要参数。例如编写计算器程序,至少需要0到9这10个按钮。如用10个语句建立按钮对象,编写10个事件函数,显然没有必要。比较好的方法是,用循环方法建立对象,将0到9作为键值和对应按钮对象组成键值对保存到字典中,所有按钮共用一个事件函数,在建立对象时,将对应的0到9传递给事件函数,事件函数根据参数很容易知道是那个按钮被按下,做不同的处理。
在“用scratch编写游戏-数字华容道”(以后简称“前文”)一文中仅介绍了3行3列数字块的设计方法。本文介绍克隆法,该法在设计更多行和列的数字华容道时,使所有数字块都使用相同的脚本,极大减少了工作量。两方法采用的数据结构基本相同。首先给每一个可放置“数字块”的位置一个编号,叫“位置编号”,从第1行开始从左到右顺序编号1、2…,然后第2行,直到最后一行,“位置编号”顺序就是胜利完成游戏后所有数字块
用列表记录2048游戏4*4矩阵每位显示的数字。增加角色有多个造型包括游戏所有数字。游戏移动数字,首先按游戏移动规则修改列表数据,角色移到矩阵所有位置,每到新位置,按列表数据变换其造型显示该位应显示的数字,用印章固定,完成数字移动。
有棋盘后,在Python tkinter的Canvas画布上增加、移动和删除棋子
用Python tkinter的Canvas编写图形界面黑白棋游戏,界面能做的很漂亮,游戏运行时不要求安装pyGame库,采用事件驱动减少占用CPU时间,使用Canvas中的对象tag属性,用较少代码较容易地删除Canvas中各种对象和为玩家提供提示标志。
如一个多边形放到矩形中,矩形左上角和右下角坐标为(x0,y0),(x1,y1),则多边形顶点坐标(x,y)=(x0+m*(x1-x0),y0+m*(y1-y0)),0<m和n<1。如(x0,y0)和(x1,y1)是窗体上两个点坐标,用该公式可得到多边形所有顶点坐标,从而能在窗体上画出多边形。如(x0,y0)固定,(x1,y1)随鼠标移动而改变,就可以实现拖动鼠标画多边形。
在python tkinter Canvas中画图和显示图像,可以将所画图形和显示图像保存为postscript类型文件,这不是通用的文件格式。本文介绍将其保存为通用格式文件的5种方法。
itemcget方法返回Canvas上某对象的某个属性值,例如text对象字体颜色。itemconfig方法可修改Canvas上某对象的一个或多个属性值,例如text对象字体颜色和显示的内容。type方法返回Canvas上某对象的类型,例如text对象返回"text"。
在python tkinter Canvas中画图和显示图像,可以将所画图形和显示图像保存为postscript类型文件,这不是通用的文件格式。本文介绍将其保存为通用格式文件的5种方法。
首先演示了矩形碰撞的缺点,然后介绍圆形碰撞用法及局限,最后介绍了pygame.mask原理和使用,包括两个角色之间、单个角色和角色列表之间以及两个角色列表之间使用pygame.mask完成精准碰撞检测方法。所有要点都用程序进行说明。







