网站大量收购独家精品文档,联系QQ:2885784924

C语言魔方游戏.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言魔方游戏

            C语言魔方游戏 用C语言,在Win-TC编译环境下编写一个魔方游戏程序。游戏程序包括下面几方面内容:鼠标调用模块程序、魔方功能实现模块程序、主程序模块。 鼠标调用模块程序 任何游戏都少不了人机互动,因Win-TC (内核Turbo C 2.0)不支持鼠标器的操作,所以编写鼠标驱动程序。鼠标器驱动程序用INT 33H中断作为鼠标器操作中断,通过不同的鼠标操作将产生不同的中断。驱动程序按中断时的入口参数调用相应的功能来完成中断服务。        INT 33H中断调用功能号和对应功能 功能号      功能  功能号       功能   0 鼠标复位及取状态   7 设置水平位置最大值   1 显示鼠标光标   8  设置垂直位置最大值   2 不显示鼠标光标   9 设置图形光标   3 取按钮状态和鼠标位置   10 设置文本光标   4 设置鼠标光标位置   11 取鼠标移动的方向和距离   5 取按钮压下状态   12 设中断程序掩码和地址   6 取按钮松开状态   13 打开光标模拟          程序通过int int86(int intr_num,union REGS *integs,union REGS *outregs)函数来完成INT 33H 中断调用功能。 魔方功能实现模块程序 魔方功能实现模块程序是整个魔方游戏的核心部分,主要分三部分内容: 魔方体数据的建立,描绘魔方体的外形、尺寸大小。 判断魔方体的可见面,正确显示三维空间魔方形体。 操作控制键,实现魔方的各层面旋转或方位转向以及各面颜色分布情况。 Esc键 ―― 退出游戏 观察魔方方位控制键:X,x,键(绕x轴旋转),Z,z,键(绕z轴旋转) 各层面操作热键: 绕z轴 ―― s键(上边),d键(中间),f键(下边) 绕x轴 ―― j键(右边),k键(中间),l键(左边) 绕y轴 ―― u键(前面),i键(中间),o键(后面) 主程序模块 主程序模块,设计游戏界面,安装按钮以便鼠标输入操作;设计处理函数void Process(),处理 客户的鼠标或键盘输入工作,是整个游戏流程的中枢。 本魔方程序采用工程形式完成,共有四个文件: MyGraph.h MFOBJ.h Mouse.h MFGame.c MyGraph.h文件存放整个游戏程序用到的库文件,MFOBJ.h文件是魔方功能实现模块程序, Mouse.h文件是鼠标调用模块程序,MFGame.c文件是主程序。下面是整个程序清单: MyGraph.h文件内容 #include graphics.h #include stdio.h #include dos.h #include bios.h #include math.h #define VK_ESC 0x001b MFOBJ.h文件内容 #ifndef MFOBJ_h_ #define MFOBJ_h_ /*定义魔方大小数据之半*/ #define MSIZE 55.0 /*定义魔方分隔线数据*/ #define LINEW 19.0 /*定义九分面大小调整数据*/ #define DML 2.0 #define FMAX (MSIZE-DML) #define FMID (LINEW+DML) #define FMIN (LINEW-DML) /*圆周率*/ #define PI 3.1415926 /*定义视线向量角度*/ #define EHX 30 #define EHZ 30 /*定义坐标系原点数据*/ #define SCREENX 320 #define SCREENY 155 /*魔方立方体八顶点数据*/ float POINTS[8][3]={MSIZE,MSIZE,-MSIZE, MSIZE,MSIZE,MSIZE, MSIZE,-MSIZE,MSIZE, MSIZE,-MSIZE,-MSIZE, -MSIZE,-MSIZE,-MSIZE, -MSIZE,MSIZE,-MSIZE, -MSIZE,MSIZE,MSIZE, -MSIZE,-MSIZE,MSIZE, }; /*魔方体顶点数据表*/ int FACE[6][5]={0,1,2,3,0, /*ri

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档