- 1、本文档共147页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* CD唱片程序 get_return函数 提示并且读取一个回车,而忽略其他字符 curses程序处理实例 * 利用curses库实现弹球游戏 弹球游戏的界面如下图所示,由墙、球和挡板组成 游戏的主要规则为 球以一定速度移动 球碰到墙壁或挡板会被弹回 用户通过方向键来控制挡板左右移动 curses程序处理实例 * 利用curses库实现弹球游戏 需求分析 运动轨迹 球在没有碰到挡板或者墙的时候,会朝着一条直线一直运动 当碰到挡板或者墙的时候,球的运动方向会改变,这涉及如何使用curses库实现动画效果 动画实现方法 在一个地方画一个字符串,等待几毫秒,然后擦去旧影像并在原来位置的边上重新绘制一个相同字符串,通过该过程就能够形成动画效果 可以通过usleep( )函数让进程进入等待,当进程被唤醒时,绘制下一个图像,动画效果便能形成 场景球表示 用字母O表示球 球会先水平向右移动,当移动到屏幕最右端,球会水平向左移动 当球碰到屏幕的左端,球会改变方向向右移动 curses程序处理实例 * 利用curses库实现弹球游戏 usleep()实现运动轨迹代码示例 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 基于定时器实现运动轨迹代码示例 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 绘制球与挡板 在弹球游戏中,球的运动是自动的,球根据碰到的墙或挡板自动进行方向变换。 而挡板的移动是由游戏者控制的,游戏者通过方向键控制挡板的左右移动。 curses程序处理实例 * 利用curses库实现弹球游戏 斜线运动 弹球游戏中,球以斜线方式运动。在绘制斜线运动的动画时,需要考虑运动的平滑性。在下左图中,从A往B方向移动。 如果A先向上移动一个单位,则必须同时向右移动3个单位。这样的移动跨度较大,移动不平滑,动画显示时有跳跃感 如果要平滑移动,比较好的方式是按照右图的移动方式,每次移动一个单位 当球遇到挡板或墙时,球运动的斜率也要进行相应的变化 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * 利用curses库实现弹球游戏 curses程序处理实例 * * 可视化菜单界面设计 main()函数(续) * delwin(menubar); delwin(messagebar); endwin(); return 0;} 可视化菜单界面设计 main()函数说明 通过getch读取键值来判断F1或者F2是否按下,并且用draw_menu来在相应的菜单窗体上绘制菜单 接着调用scroll_menu函数让用户选择某一个菜单 当scroll_menu返回后,它删除菜单窗体并且显示所选择的单元内容 在信息栏里 touchwin()说明 如果在菜单关闭后没有调用touchwin而立即刷新,那么最后打开的菜单将一直停留在 屏幕上 因为在调用refresh时,menu函数根本就没有完全改变stdscr的内容,它没有重新写入数据到stdscr上, 因为它以为窗体内容没有改变. * * CD唱片程序 curses程序处理实例 * CD唱片程序 头文件及全局常量 curses程序处理实例 * CD唱片程序 变量current_cd存储当前所用的CD标题。对其进行初始化,从而其第一个字符为null表明没有选中 CD current_cat存储当前所用的CD的分类号 定义一些文件名(固定),当两个用户在相同的目录中运行这个程序时就会出现问题 curses程序处理实例 * CD唱片程序 定义函数原型 curses程序处理实例 * CD唱片程序 定义菜单结构 第一个字符是当菜单被选中时所返回的字符 其余的是要显示的字符 当一个CD被选中时会显示扩展菜单 curses程序处理实例 * CD唱片程序 main()函数
文档评论(0)