文档详情

钻石棋操作步骤.doc

发布:2016-12-17约字共25页下载文档
文本预览下载声明
钻石棋游戏操作步骤 钻石棋游戏是用OpenGL来编写的,在编程之前需要搭建环境,环境搭建方法见《Opengl环境搭建.doc》,环境搭建好之后,就可以开始编程了。以下是操作过程: 一、在D盘新建文件夹命名Game,打开VS2005,选择“文件”——》“新建”——“项目”,新建一个win32控制台应用程序,工程名:JumpBall,如下图: 点击“确定”后,进入如下页面, 点“下一步”,选择“空项目”,点击“完成”,工程建毕。如下图 二、工程建好后,进入VS编程首页,点击左边工作空间的“类视图”标签,进入类视图工作空间,如下图: 钻石棋游戏一共有三个类,分别为Button类(按钮类),Cell类(棋盘格类),Chess类(棋子类),类的添加方法如下:右击工程名JumpBall——》添加——》类,出现如下界面: 在左边“类别”栏中选择C++,“模板”栏中选择C++类,然后点“添加”,进入如下界面: 输入类名(.h文件和.cpp文件会自动添加),选择访问属性为public,然后单击“完成”,类的添加完毕,然后再右边编辑区输入如下代码,Button类添加完毕。 Chess类和Cell类的添加方法同上,各个类的代码如下: Button类: #pragma once #include 3ds.h #include glut.h class Button { public: Button(void); ~Button(void); char * textureFile; bool isValid; bool LoadTexFile(); void drawModel(); bool isClicked; void setPos(float i,float j); GLuint texid; private: data3ds_t model; float pos_x,pos_y; }; Cell类: #pragma once #include Chess.h class Cell { public: Cell(void); ~Cell(void); private: float length; float x,y; int chessType; int i_index,j_index; public: void DrawCell(); void SetPosition(float xx,float yy); void SetIndex(float ii,float jj); void SetValue(int vv); void DrawChesses(); int value; int drawMode; }; Chess类: #pragma once #include 3ds.h #include def.h class Chess { public: Chess(void); ~Chess(void); bool LoadFrom3ds(); void drawModel(); //static float angle_y; char * filename; bool selected; private: data3ds_t model; }; 建好类后,会在工作空间的“解决方案资源管理器”标签中自动生成相应的.cpp文件,双击Button.cpp文件,在编辑区添加如下代码: #include Button.h #include Chess.h #define TEXSIZE_W 128 #define TEXSIZE_L 64 GLubyte image1[TEXSIZE_W][TEXSIZE_L][3]; Button::Button(void) { } Button::~Button(void) { } bool Button::LoadTexFile()//加载棋盘纹理 { FILE *myf; if(!(myf=fopen(textureFile,rb))) { return false; } else { fseek(myf,54,SEEK_SET); } fread(image1,sizeof(unsigned char),TEXSIZE_W*TEXSIZE_L*3,myf); glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, texid); glTexImage2D(GL_TEXTURE_2D,0,3,TEXSIZE_W,TEXSIZE_L,0, GL_BGR_EXT,GL_UNSIGNED_B
显示全部
相似文档