- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
钻石棋游戏操作步骤
钻石棋游戏是用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
您可能关注的文档
最近下载
- 项目的实施流程.pdf VIP
- 2024年6月8日浙江杭州市直遴选笔试真题及答案解析.doc VIP
- 新人教版初中数学九年级上册《第二十三章旋转:23.1图形的旋转》公开课教案_4.pdf
- invt英威腾chf100a变频器使用说明书.doc
- 《生物化学课程标准.doc VIP
- 2023年黑龙江大学法学专业《民法学》期末试卷A(有答案).docx VIP
- GB_T 20001.3-2015 标准编写规则 第3部分:分类标准(OCR).pdf VIP
- 开放式和针阀式热流道比较.ppt
- 义务教育版(2024)三年级全一册第6课《视频记录片段》课件.pptx VIP
- 重庆市XX住宅工程分户验收表格填写样例.docx
文档评论(0)