欢迎来到天天文库
浏览记录
ID:42154924
大小:1.09 MB
页数:45页
时间:2019-09-09
《魔方游戏vc程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《VC++程序设计》课程大作业题目名称:魔方游戏学院名称:计算机科学与信息工程学院专业班级:11计科嵌入学号姓名:2013年6月一、组员分工3二、选题意义3三、需求分析四、总体设计3五、详细设计4六、具体实现1318七、系统测试17总结九、参考文献19十、源程序20一、组员分工赵红艳,负责报告的项目汇总并承担一部分的项目书籍搜索;张忆蔼,在了解项目的实质性内容后,编写项目理解的报告撰写;韩银奇,搜索有关项目上的涉及材料,并编写模块分化方面的报告。二、选题的意义魔方被列为20世纪最有影响的100项发明之一,这并不是魔方爱好者们所
2、为,而是社会学家根据魔方对人类的影响和作用,将魔方列入上个世纪对人类影响较大的100项发明之列。魔方的迷人内涵是魔方的科学隐喻,这是人们将永远要用到的。由于魔方复位非常之难,所以魔方首先引起数学家们的兴趣。随后有物理学家涉足魔方领域,现在,魔方成为人工智能领域首选的研究对彖。魔方游戏作为人们熟悉的一种益智游戏,变化比较复杂。通过对魔方游戏的建模,用合适的数据结构表示出来,研究出魔方被打乱后的电脑自动求解算法,并用OpenGL开发一个3D演示平台,使人们可以在计算机上玩魔方游戏,并在任意人工求解遇到困难时,可以由计算机演示自动求
3、解步骤。三、需求分析魔方共有26块,其中6块位于每一面的中心位置,当魔方转动时它们是不动的;有8块位于顶角位置,各有三个不同颜色的小面;剩余12块各有二个不同颜色的小面。制作魔方首先要建立其三维模型,六个面要有六种颜色。打开一个魔方,其自动生成一个打乱顺序的魔方。魔方需要解决的主要问题是魔方的旋转,要可以选择x、y、z轴上的任意一层,然后将其按顺时针或逆时针旋转。同时,还要可以整体旋转。三维魔方游戏是利用OpcnGL对魔方进行建模并贴图,然后利用鼠标或者键盘对魔方进行按行或者按列旋转。如果玩家能够将同色魔方块全部调整到同一面上
4、,则游戏结束。四、总体设计游戏设计流程如下:(1)建立魔方的三维模型。(2)初始化时随机生成一个打乱顺序的魔方,并显示。(3)用户可以选择通过键盘某一行或者某一列进行旋转。每次旋转结束后,判断魔一、组员分工赵红艳,负责报告的项目汇总并承担一部分的项目书籍搜索;张忆蔼,在了解项目的实质性内容后,编写项目理解的报告撰写;韩银奇,搜索有关项目上的涉及材料,并编写模块分化方面的报告。二、选题的意义魔方被列为20世纪最有影响的100项发明之一,这并不是魔方爱好者们所为,而是社会学家根据魔方对人类的影响和作用,将魔方列入上个世纪对人类影响
5、较大的100项发明之列。魔方的迷人内涵是魔方的科学隐喻,这是人们将永远要用到的。由于魔方复位非常之难,所以魔方首先引起数学家们的兴趣。随后有物理学家涉足魔方领域,现在,魔方成为人工智能领域首选的研究对彖。魔方游戏作为人们熟悉的一种益智游戏,变化比较复杂。通过对魔方游戏的建模,用合适的数据结构表示出来,研究出魔方被打乱后的电脑自动求解算法,并用OpenGL开发一个3D演示平台,使人们可以在计算机上玩魔方游戏,并在任意人工求解遇到困难时,可以由计算机演示自动求解步骤。三、需求分析魔方共有26块,其中6块位于每一面的中心位置,当魔方
6、转动时它们是不动的;有8块位于顶角位置,各有三个不同颜色的小面;剩余12块各有二个不同颜色的小面。制作魔方首先要建立其三维模型,六个面要有六种颜色。打开一个魔方,其自动生成一个打乱顺序的魔方。魔方需要解决的主要问题是魔方的旋转,要可以选择x、y、z轴上的任意一层,然后将其按顺时针或逆时针旋转。同时,还要可以整体旋转。三维魔方游戏是利用OpcnGL对魔方进行建模并贴图,然后利用鼠标或者键盘对魔方进行按行或者按列旋转。如果玩家能够将同色魔方块全部调整到同一面上,则游戏结束。四、总体设计游戏设计流程如下:(1)建立魔方的三维模型。(
7、2)初始化时随机生成一个打乱顺序的魔方,并显示。(3)用户可以选择通过键盘某一行或者某一列进行旋转。每次旋转结束后,判断魔方的当前状态是否符合游戏结束的条件,如果符合,则提示用户游戏结束。否则,游戏继续进行。游戏另外附加的功能还包括:(1)保存当前魔方状态。(2)从数据文件中加载一个魔方。(3)缩放魔方大小。(4)查看正确答案。K/五、详细设计1.魔方的三维模型建立魔方的数据主要体现在魔法表面各个正方形的颜色排列上,只要表达了这些颜色数据,也就表达了魔方状态。按照OpenGL默认的三维坐标进行建模。魔方儿何中心位于坐标原点。为
8、了便于计算和处理,给每个面进行编号。编号如下:0:上平面1:前平面2:右平面3:后平面4:左平面5:下平面同时建立面之间的位置相对关系。用数组"intcompensation[6]={5,3,4,1,2,0};”来表示这种关系。为了进行魔方游戏,需要用一种结构表示和记录当前魔
此文档下载收益归作者所有