C++模拟键盘,windows编程.doc_第1页
C++模拟键盘,windows编程.doc_第2页
C++模拟键盘,windows编程.doc_第3页
C++模拟键盘,windows编程.doc_第4页
C++模拟键盘,windows编程.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东大学威海分校机电与信息工程学院2008 级 面向对象编程技术 实验一 二实验报告 班 级 通信一班 学 号 200800800095 姓 名 李辉 版本号 01 时 间 2010 10 10 山东大学威海分校机电与信息工程学院2008 级 I 目目 录录 1 实验要求实验要求 1 2 实验过程及结果实验过程及结果 1 2 1 创建工程 1 2 2 程序流程和数据模型分析 1 2 3 问题及解决方案 2 3 实验总结实验总结 2 附录附录 关键代码关键代码 3 面向对象编程技术实验报告 1 1 实验要求实验要求 1 创建新工程 2 随机 或预设置 一些字符串 显示在屏幕上 如果按的键中有字符串中的字符 就将该字符删除 然后再在屏幕上显示整个字符串 待一个串被完全打完之后 另外产生一个字符串 继续 3 每打完一个字符串后 奖励一定的分数 4 用户可按特定键开始游戏 5 用户可按 ESC 键终止游戏 游戏如何开始 如何终止需要在屏幕上有所提示 6 得分累计 每次击键之后根据是否有击中的字母计算得分 并在窗口中显示 2 实验过程及结果实验过程及结果 2 1 创建工程创建工程 实验一 1 创建自己的工作目录 2 在自己的工作目录下创建 Win32 Application 空工程 实验二同实验一 2 2 程序流程和数据模型分析程序流程和数据模型分析 实验一 1 对 PlaySound 函数链接出错的情况进行修正 理解编译 链接 增加程序链接 使用的多媒体库 具体做法是 在菜单 Project Settings 对话框的 link 卡片中 Category 选择 General 或 Input 然后在 Object library modules 编辑框中 的最后添加多媒体函数库 winmm lib 之后就可以链接通过了 修改 PlaySound 函数使用的 wave 文件名 程序启动的时候能播放相应的音频 修改其中的字符串 以更改显示内容 1 查找到 msdev exe 所在位置 假设该文件位于 d Program Files Microsoft Visual Studio COMMON MSDev98 Bin 目录下 2 打开 Command DOS 命令窗口 切换到目录下 3 输入以下命令执行编译 注意各个参数用空格分隔 d Program Files Microsoft Visual Studio COMMON MSDev98 Bin msdev exe MAKE DEBUG 实验一 dsp 4 输入以下命令完成重新构建 d Program Files Microsoft Visual Studio COMMON MSDev98 Bin msdev exe MAKE REBUILD DEBUG 实验一 dsp 实验二 主思想 输入 y 或 k 1 开始游戏 若是 Esc 退出 产生随机字符串 显示字符串 面向对象编程技术实验报告 2 判断是否击中 如果击中 消除字符刷屏 加分 如果字符消除完毕 再重新产生一个随机字符串 k 1 鼠标位置的显示 利用 x GET X LPARAM lParam y GET Y LPARAM lParam 获得位置 然后显示 用 InvalidateRect hWnd NULL TRUE 刷屏即可 批处理文件 Bat 文件 函数 F cd F 面向对象 实验一 D vc MSDev98 Bin msdev exe MAKE DEBUG 实验一 dsw cd F 面向对象 实验二 D vc MSDev98 Bin msdev exe MAKE DEBUG 实验二 dsw pause 2 3 问题及解决方案问题及解决方案 实验一 操作较简单 错误较少 实验二 问题一 如何输入一个特定字符开始游戏 问题分析 判断一个特定字符然后进行游戏很容易 问题的关键在于如果判断字符的 话 每次都得判断 解决方案 设置一个全局变量 初始 k 0 若开始游戏了 命 k 1 判断开始游戏的 条件变为 y 或者是 k 1 问题二 可以显示字符串 但无法消除击中的字符 问题分析 可能是刷屏问题 或者是字符串根本没有改变 解决方案 最后发现原来是把字符串赋值放到了 winpro 中 问题三 按照老师的那种做法 发现 重复的字符会同时消失 解决方案 一旦击中 加个 break 即可 3 实验总结实验总结 1 一切程序都是看起来思路简单 但做起来错误百出 程序不是自己看出来的 得 一不断的尝试 慢慢的自己摸索才是硬道理 2 不清楚工作过程 只盲目的编程 是不行的 面向对象编程技术实验报告 3 附录附录 关键代码关键代码 字符串赋值 for i 0 i chdu 1 i szbuf i rand 19 a szbuf i 0 case WM CHAR achar char wParam if int achar 27 PostQuitMessage 0 return 0 判断 esc 退出 GetClientRect hWnd if j 1 achar y for i 0 i lstrlen szbuf i if szbuf i achar grade grade 10 memmove szbuf i szbuf i 1 lstrlen szbuf InvalidateRect hWnd NULL TRUE break j 1 if szbuf 0 0 for i 0 i chdu 1 i szbuf i rand 19 a szbuf i 0 若字符串打完了 自动产生一组新的 return 0 鼠标位置的显示 case WM MOUSEMOVE x GET X LPARAM lParam y GET Y LPARAM lParam 面向对象编程技术实验报告 4 wsprintf a 鼠标位置 x d y d x y InvalidateRect hWnd NULL TRUE 刷屏 case WM PAINT 客户区重绘消息 hdc BeginPaint hWnd GetClientRect hWnd SetTextColor hdc RGB 0 0 255 DrawText hdc TEXT 如果开始游戏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论