当前课程知识点:Python 交互式程序设计导论 > 第3周 > 本周项目:“神奇时钟” > 编码步骤
返回《Python 交互式程序设计导论》慕课在线视频课程列表
我们已经为该小项目提供了一个基本模板,我们建议 “时钟”游戏的开发策略为:
1、确定一组存储游戏状态的全局变量。显而易见,你需要两个全局变量来保存数显要使用的日期字符串(格式为:XXXX年XX月XX日)、时间字符串(格式为: XX时XX分XX秒X)、三个全局变量来保存决定时针、分针、秒针位置的小时(或对应的角度)、分(或对应的角度)、秒(或对应的角度),也许还需要其它一些全局变量标志按钮的状态等。
2、查看datetime模块包中的now()函数,该函数会返回一个datetime对象,其中包含我们关心的所有信息,包括系统时钟所决定的年、月、日、时、分、秒、微秒等。
3、编写get_time()函数,在该函数中调用datetime.now(),然后对日期、时间、角度等全局变量进行计算和处理。
4、编写时钟事件的处理函数tick(),在该函数中根据游戏状态(玩家整秒时刻点击“关闭音乐”是否成功)调用get_time()函数来定期更新重要的全局变量。
5、依次双击打开本项目的images子文件夹中保存的Clock.jpg、Hour.png、Minute.png、Second.png四个图像文件,它们分别表示表门、时针、分针和秒针,注意观察这些图像的尺寸。
6、编写刷新屏幕事件处理函数draw(canvas),利用simpleguitk模块包在画布中先绘制表门,再根据游戏状态绘制数显文字,然后绘制时针、分针和秒针。注意,时针、分针和秒针的旋转角度由相关的全局变量控制。
7、定义按钮“开启数显”的事件处理函数toggle_display_digit(),注意这是一个开关按钮。
8、定义按钮“播放音乐”的事件处理函数toggle_music_play (),注意这是一个开关按钮。
9、创建窗口。
10、注册事件处理器,注意时间事件处理函数tick()每0.1秒调用1次。
11、启动时钟。
12、调用获取日期时间函数。
13、启动窗口。
-课程简介
--课程简介
-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周--小测验
-本周项目:守卫家园
--游戏说明
--程序说明
--编程步骤
--评分标准
--项目模板