当前课程知识点:Python 交互式程序设计导论 > 第5周 > 本周项目:“世界杯八强连连看” > 编码步骤
返回《Python 交互式程序设计导论》慕课在线视频课程列表
我们已经为该小项目提供了一个基本模板,我们建议 “2014世界杯8强连连看”游戏的开发策略为:
1、请将“2014世界杯8强连连看”游戏界面的16方格建模为一个存储16个数字的列表,其中每个数字的取值范围为[0,8)且出现两次。建议你通过合并两个范围为[0,8)的列表来构建该列表,请先查阅资料弄明白如何合并两个列表。
2、再创建一个列表(国旗图片列表)用来存储2014世界杯8强队伍的国旗图片,调用simpleguitk模块包的load_image函数依次加载8强队伍的国旗图片,并将load_image的返回结果添加到国旗图片列表中。
3、draw(canvas)函数,先用两层for循环结构通过draw_polygon绘制4X4的16个方格(假设每个方格的大小为128x128),成功后再设法取出16方格列表中存储的数字用作国旗图片列表的下标,用draw_image代替draw_polygon绘制国旗图片(请将每个国旗图片缩小为128x128)。如果以上部分正常工作,画布将重复显示8个国旗,每趟的次序与图片加入国旗图片列表的次序相同。
4、我们希望每次游戏重新开始时国旗图片的次序随机变化以增强趣味性,可以先用random.shuffle()对16方格列表进行混洗,然后观察显示效果。
5、接下来,修改draw(canvas)函数,使得其在一个方格中要么绘制国旗图片,要么绘制使用2014世界杯logo图片。要实现这种效果,建议再创建一个名称为exposed的列表,如果第i个方格要显示国旗图片,则exposed列表的第i个元素值为True,如果第i个方格要显示logo图片,则exposed列表的第i个元素值为False。建议对exposed列表先初始化为已知的值以便测试你对draw(canvas)函数的修改效果。
6、在mouse_click(pos)函数中添加功能来确定鼠标点击了哪个方格,关键是将鼠标的坐标转换为16方格列表的下标。请将鼠标的坐标和转换得到的下标输出到控制台以观察结果是否合理。
7、修改mouse_click(pos)函数,对鼠标点中的logo图片进行翻转。如果玩家点击了第i个方格,你应当将exposed[i]的值由False修改为True。如果方格已经翻开,就不要理会鼠标的点击。至此,游戏的基本框架已经就绪了。
8、继续修改mouse_click(pos)函数,实现游戏规则,即:如果前两次点击翻开的图片不是同一个球队,再点击其它logo时,前两个图片翻转为logo,或者说,如果前两次点击翻开的图片是同一个球队,这两个图片将一直保持翻开的状态,再点击其它logo表示新一回合开始。
9, 增加一个计数器来记录玩家点击的回合次数,通过set_text函数用计数器的值更新控制面板标签的内容。
10、最后编写new_game()函数以便点击“重新开始”按钮能够初始化游戏,即:所有方格显示logo、回合计数器归零、16张国旗图片位置随机混洗。
-课程简介
--课程简介
-A 课程视频(算数操作符及表达式)
--绪论
-B 课程视频(变量及赋值)
--变量
--项目提交
-C 辅助视频(计算机结构、Python开发环境安装)
-D 辅助视频(如何提交项目)
--项目提交
-第0周--小测验
-本周项目:"我喜欢Python"
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
--项目提交
-A 课程视频(函数)
--函数
--其它操作符
--随机函数
-B 课程视频(逻辑及表达式)
--逻辑值和比较
--条件
--编程技巧
-第1周--小测验
-本周项目:“老虎杠子鸡虫”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(Python交互式应用)
--事件驱动编程
--按钮
-B 课程视频(输入框、全局变量)
--输入框
--编程技巧
-第2周--小测验A
-第2周--小测验B
-本周项目:猫咪藏在哪个房间
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(画布绘图)
--画布和图形绘制
--字符串处理
--图片和音效
-B 课程视频(计时器)
--计时器
--交互式绘图
--“神奇时钟”游戏
--编程技巧
-第3周--小测验A
-第3周--小测验B
-本周项目:“神奇时钟”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(列表)
--列表
--键盘输入
--碰撞和反射
-B 课程视频(键盘控制)
--速度控制
--运动
--编程技巧
--“桌上冰球”游戏
-第4周--小测验A
-第4周--小测验B
-本周项目:“桌上冰球”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(鼠标输入、列表进阶)
--鼠标输入
--Video
--Video
--Video
-B 课程视频(字典和图片)
--Video
--Video
--Video
--Video
-第5周--小测验A
-第5周--小测验B
-本周项目:“世界杯八强连连看”
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类)
--华容道中的类
-B 课程视频(平铺图片)
--平铺图片
--理解对象
--编程技巧
--“华容道”游戏
-第6周--小测验A
-第6周--小测验B
-本周项目:“华容道”游戏
--游戏说明
--程序说明
--编码步骤
--评分标准
--项目模板
-A 课程视频(类进阶及文件操作)
--集合
--文件操作
--文字块类
--处理停止的文字块
-B 课程视频(游戏状态控制)
--游戏记分规则
--编程技巧
-第7周--小测验A
-第7周--小测验B
-本周项目:决战三字经
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板
-A、课程视屏(精灵集合)
--Video
--精灵类
--战士类
--编程技巧
-B、课程视屏(动画)
--精灵碰撞
--精灵动画
--编程技巧
--保卫家园游戏
-第8周--小测验
-本周项目:守卫家园
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板