欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    C程序课程设计报告(扫雷游戏)

    • 资源ID:71771515       资源大小:86.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:15积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C程序课程设计报告(扫雷游戏)

    C 程序设计 扫雷游戏 一 一 设计题目 设计题目 扫雷游戏扫雷游戏 二 设计目的二 设计目的 1 使学生更深入地理解和掌握该课程中的有关基本概念 程序设计思想和 方法 2 培养学生综合运用所学知识独立完成课题的能力 3 培养学生勇于探索 严谨推理 实事求是 有错必改 用实践来检验理 论 全方位考虑问题等科学技术人员应具有的素质 4 提高学生对工作认真负责 一丝不苟 对同学团结友爱 协作攻关的基 本素质 5 培养学生从资料文献 科学实验中获得知识的能力 提高学生从别人经 验中找到解决问题的新途径的悟性 初步培养工程意识和创新能力 6 对学生掌握知识的深度 运用理论去处理问题的能力 实验能力 课程 设计能力 书面及口头表达能力进行考核 三 设计要求三 设计要求 1 汪洋和孔维亮组成设计小组 小组成员分工协作完成 要求每个成员有 自己相对独立的模块 同时要了解其他组员完成的内容 2 查阅相关资料 自学具体课题中涉及到的新知识 3 采用结构化 模块化程序设计方法 功能要完善 界面要美观 4 按要求写出课程设计报告 并于设计结束后 1 周内提交 一一 概述概述 1 掌握数组指针的概念及其应用掌握数组指针的概念及其应用 2 培养团结合作精神培养团结合作精神 2 课程设计的要求课程设计的要求 要求我们有扎实的 C 语言知识 以及良好的编程习惯 能够熟练的应用循 环 有毅力 还要求我们有较强的合作精神 善于总结 同时还要求我们自学 C 语言作图部分知识 在必要时还要上网查相关资料 3 课程设计的主要设计思想课程设计的主要设计思想 扫雷游戏主要用了一个 10 行 10 列的二维数组 刚开始利用 random 随机布 雷 每一个程序最主要的是算法 扫雷游戏算法的重点是一开始统计好每个格 子周围有多少雷 当鼠标左键点在格子上时做出判断 如果周围 8 个格子有雷 则显示出雷数 如果没有雷则显示空白格 在四个角的格子显示周围 3 个格子 其它边缘的格子显示周围 5 个的状态 我们在主函数中用两个 for 语句来判断 周围雷数 我们还加了鼠标处理函数 如果格子上有雷则调用函 FailExitGame 显示 Fail 游戏结束 若所 有的雷都标出 且所有的格子都处理过 则调用函数 ExitGame 显示 OK Good 游戏结束 游戏结束后 按任意键出去 二二 总体方案设计总体方案设计 封面是由图形和动态文字 伴随声音接替出现 程序用了一个 10 行 10 列 的二维数组表示扫雷界面 在游戏中要随机步雷 游戏开始前要统计好每个格 子周围的雷数 游戏开始后可以点击鼠标玩游戏 游戏结束后 按任意键结束 跳出游戏界面 整体框图 主函数 封面随机布雷 函数 扫雷算法 函数 取鼠标函数 图形和声音函 数 判断是否 胜利 三三 详细设计详细设计 程序流程 以下是主函数中的一些主要的 1 主函数 2 主要定义常用到的常量 全局变量 有关的函数原形说明 然后随机布雷 统计好 每个格子周围的雷数 画扫雷游戏界面 游戏接受鼠标操作 按任意键结束游戏 关闭图形系统 程序结束 BYTE MouseState 等待接受鼠标命令函数 union REGS regs regs x ax 3 int86 MOUSE 鼠标端口 return regs x bx void MouseShow 鼠标显示函数 union REGS regs regs x ax 1 int86 MOUSE void MouseHide 鼠标隐藏函数 union REGS regs regs x ax 2 int86 MOUSE BOOL InitMouse 取鼠标端口函数 union REGS regs regs x ax 0 int86 MOUSE return regs x ax void WaitMouse int xx yy while MouseState GetXY if xx x yy y SetXY x y void Prt int x int y BYTE ch BYTE color 定义雷区地址入口 pokeb 0 xb800 y 160 x 2 ch pokeb 0 xb800 y 160 x 2 1 color BYTE Scr int x int y 返回雷区地址入口 return peekb 0 xb800 y 160 x 2 void CursorHide 光标隐藏 AH 3 geninterrupt 0 x10 CursorMode CX AH 1 CH 32 geninterrupt 0 x10 void CursorShow 光标显示 AH 1 CX CursorMode geninterrupt 0 x10 四 源程序如下 include include include include include include define BYTE unsigned char define BOOL BYTE define WORD unsigned int define DWORD unsigned long define TRUE 1 define FALSE TRUE define MOUSE 0 x33 define LBUTTON 1 define RBUTTON 2 define SX 35 define SY 7 define MINE 9 在有雷的地方定义为 MINE BOOL InitMouse 初始化鼠标 BYTE Scr int int 屏幕显示坐标函数 BYTE MouseState 等待接受鼠标命令 void Edge int int void TurnBack int int void MouseShow 鼠标显示函数 void MouseHide 鼠标隐藏函数 void CursorShow 光标显示函数 void CursorHide 光标隐藏函数 void SetRange int int int int void GetXY int int void SetXY int int void WaitMouse void WaitKey void Prt int int BYTE BYTE 雷区的图形和颜色 void Locate BYTE BYTE void FailExitGame 游戏失败 void ExitGame 游戏胜利 struct Snow int x int y int speed snow 100 int snownum 0 int size int change 10 void save1 save2 void Copy void DrawSnow void Pr void load void welcome1 void welcome2 void welcome3 void control void star BOOL Turn 10 10 BYTE Mine 10 10 BYTE Mark 10 2 WORD CursorMode int x y void main int i int Total 0 BYTE Button BOOL QUIT FALSE time t lt 定义时间变量 star 调用游戏前景动画函数 if InitMouse printf Mouse not installed 对鼠标端口进行判断 getch clrscr 清屏 CursorHide randomize 定义取随机数 Locate 36 20 定义屏幕坐标 printf Mines d 0 Mines 表示做标记的次数 lt time NULL Locate 15 4 定义屏幕坐标 printf The Calendar Time now is s n ctime for y 0 y 10 y for x 0 x 10 x Mine y x NULL Turn y x FALSE for i 0 i 10 i 随机产生地雷坐标 x random 10 y random 10 while Mine y x x random 10 y random 10 Mine y x MINE 定义在有了雷的地方坐标值为 MINE for y 0 y 10 y for x 0 x 0 i if Mine y x 1 MINE if Mine y 1 x MINE if Mine y 1 x 1 MINE if Mine y 1 x 1 MINE y 3 x SX y SY if x 0 if Mine y x NULL Edge x y else TurnBack x y if Button MouseHide Prt x SX y SY 15 Locate 36 20 printf Mines d Total MouseShow Mark Total 0 x Mark Total 1 y if Total 10 ExitGame break case 2 Turn y x 0 MouseHide Prt x SX y SY 5 8 Locate 36 20 printf Mines d Total MouseShow break WaitKey MouseHide CursorShow BYTE MouseState 等待接受鼠标命令 union REGS regs regs x ax 3 int86 MOUSE 鼠标端口 return regs x bx void MouseShow 鼠标显示 union REGS regs regs x ax 1 int86 MOUSE void MouseHide 鼠标隐藏 union REGS regs regs x ax 2 int86 MOUSE BOOL InitMouse 取鼠标端口 union REGS regs regs x ax 0 int86 MOUSE return regs x ax void SetRange int start x int start y int end x int end y union REGS r r x ax 7 r x cx start x r x dx end x int86 0 x33 r x ax 8 r x cx start y r x dx end y int86 MOUSE void GetXY int x int y union REGS ireg oreg ireg x ax 3 int86 MOUSE x oreg x cx y oreg x dx void SetXY int x int y union REGS ireg ireg x ax 4 ireg x cx x ireg x dx y int86 MOUSE void WaitMouse int xx yy while MouseState GetXY if xx x yy y SetXY x y void Prt int x int y BYTE ch BYTE color 定义雷区地址入口 pokeb 0 xb800 y 160 x 2 ch pokeb 0 xb800 y 160 x 2 1 color BYTE Scr int x int y 返回雷区地址入口 return peekb 0 xb800 y 160 x 2 void CursorHide 光标隐藏 AH 3 geninterrupt 0 x10 CursorMode CX AH 1 CH 32 geninterrupt 0 x10 void CursorShow 光标显示 AH 1 CX CursorMode geninterrupt 0 x10 void WaitKey AH 0 geninterrupt 0 x16 void Edge int xx int yy if xx9 yy9 Turn yy xx return TurnBack xx yy if Mine yy xx NULL Edge xx 1 yy Edge xx 1 yy Edge xx yy 1 Edge xx yy 1 void TurnBack int xx int yy if Turn yy xx MouseHide Prt xx SX yy SY Mine yy xx 48 12 MouseShow Turn yy xx Turn yy xx 1 void Locate BYTE Col BYTE Line pokeb 0 x0 0 x450 Col pokeb 0 x0 0 x451 Line void FailExitGame 显示游戏失败 sound 1000 delay 500 nosound for y 0 y 10 y for x 0 x 10 x if Mine y x MINE Prt x SX y SY 14 128 MouseHide CursorShow printf nFail n getch exit 0 void ExitGame 显示游戏胜利 int i m 0 for i 0 i 10 i if Mine Mark i 1 Mark i 0 m if m 9 FailExitGame MouseHide CursorShow printf nOK Good n getch exit 0 开机 void star int gd DETECT gm initgraph Copy DrawSnow welcome1 welcome2 welcome3 control closegraph 关闭图形函数 void Copy setcolor 0 涂色 setfillstyle SOLID FILL 15 fillellipse 200 200 1 1 画椭圆 size imagesize 196 196 204 204 save1 malloc size save2 malloc size getimage 196 196 204 204 save1 getimage 96 96 104 104 save2 void Pr int s 392 262 262 262 330 392 392 392 392 392 330 330 294 294 330 294 262 440 39 2 392 262 262 262 330 392 392 392 392 392 330 330 294 294 330 294 262 440 392 定义声音函数数组 setcolor change 字体颜色变换 settextstyle 0 0 4 字体大小 outtextxy 150 200 Welcome to 在屏幕上打印字符 outtextxy 200 240 C Game sound s change 10 释放声音 void DrawSnow int i int sx 62 randomize for i 0 i 62 i sx i i 2 10 cleardevice 清屏 while kbhit Pr if snownum 100 snow snownum speed 2 random 5 i random 62 snow snownum x sx i snow snownum y 10 random 100 for i 0 i15 break delay 300 setfillstyle SOLID FILL 15 for i 0 i500 snow i y 10 random 200 change if change 140 change 10 nosound void welcome1 int a for a 0 a 450 a textbackground 16 setcolor 15 circle 315 240 a delay 100 setcolor 16 circle 315 240 a 10 void welcome2 float b int c for b 0 b 320 b b 0 5 setcolor 11 rectangle 0 240 b 240 rectangle 630 240 640 b 240 for c 0 c 240 c rectangle 0 240 640 240 c rectangle 0 240 640 240 c void welcome3 int x y 100 i j for x 60 x 65 x setcolor 4 定义要打印字体的颜色 setbkcolor 1 定义背景色 settextstyle 0 0 6 定义要打印字体的大小 outtextxy x y 扫 在 x y 位置打印汉字 delay 6000 延时 for x 190 x 195 x setcolor 4 setbkcolor 1 settextstyle 0 0 6 outtextxy x y 雷 delay 6000 for x 320 x 325 x setcolor 4 setbkcolor 1 settextstyle 0 0 6 outtextxy x y 游 delay 6000 for x 480 x 485 x setcolor 4 setbkcolor 1 settextstyle 0 0 6 outtextxy x y 戏 delay 6000 sleep 0 5 setcolor 4 settextstyle 0 0 2 outtextxy 130 205 制作组人员 范金龙 闫佳佳 outtextxy 230 250 倾 for i 0 i 10 i i 1 for j 0 j i 2 j j 1 setcolor 4 setbkcolor 14 circle 282 j 256 j i 画圆 circle 286 j 256 j i delay 20 outtextxy 315 250 打 outtextxy 350 250 造 outtextxy 200 280 1 star the game outtextxy 200 310 2 exit pattern outtextxy 550 450 V1 90 void control 从键盘接受命令函数 int key key getch switch key 等待接受命令 case 1 load break case 2 exit 0 default exit 0 void load float k setcolor 4 rectangle 205 365 392 381 outtextxy 220 350 loading for k 0 k 187 k k 0 2 rectangle 205 365 205 k 381 画矩形 delay 1000

    注意事项

    本文(C程序课程设计报告(扫雷游戏))为本站会员(仙人****88)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!