- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2003版华容道操作步骤何 张一淇 比翼横空
华容道游戏程序操作步骤
在将GL库压缩包拷贝到该文件夹内,解压缩。OpenGL,
启动Wizard [exe],目录选择
创建菜单:选择资源卡,双击Menu下的IDR_MAINFRAME,新建菜单“游戏选关”,在该菜单下创建子菜单“比翼横空”,
单机类视图,右击New Class,名称为cell,基类选择
右击cell,
Public:
void Setpos(GLfloat x,GLfloat y); //设置坐标
void Setchessname(GLint name); //设置棋子名字
void Setcellstate(GLint state); //设置棋子状态
int Getchessname(); //获得棋子名字
int Getcellstate(); //获得棋子状态
bool DrawChess(GLuint *texture); //画棋子 bool CopyCell(cell tcell); //拷贝棋子
bool clear(); //清除棋子
7、右击cell,添加成员变量,private:
GLfloat pos_x; //棋子x坐标
GLfloat pos_y; //棋子y坐标
GLint cellstate; //棋子状态 GLint chessname; //棋子名称
GLuint texid; //棋子纹理ID
8、选择FileView,.h,在//cell window下添加 #include GL/glut.h。 9、选择View,l.cpp,在/cell message handlers下添加如下代码:
{
chessname=tcell.Getchessname();
cellstate=tcell.Getcellstate();
tcell.clear();
return true;
}
bool cell::clear()//将位置和名字置为0
{
chessname=CN_EMPTY;
cellstate=CS_EMPTY;
return true;
}
void cell::Setpos(GLfloat x,GLfloat y) //赋值位置坐标
{
pos_x=x;
pos_y=y;
}
void cell::Setchessname(GLint name) //赋值棋子名字
{
chessname=name;
}
void cell::Setcellstate(GLint state) //赋值棋子部分
{
cellstate=state;
}
int cell::Getchessname()//获得棋子名字
{
return chessname;
}
int cell::Getcellstate()//获得位置
{
return cellstate;
}
bool cell::DrawChess(GLuint *texture) //画棋子,并为每个棋子的纹理标号。
{
glPushMatrix();//把当前的矩阵数据压栈(就是保存起来)
glTranslatef(pos_x,pos_y,0.0); //沿着矩阵中X和Y的位置移动
switch (chessname)
{
case CN_CAOCAO:
glBindTexture(GL_TEXTURE_2D, texture[0]) ; //建立一个绑定到目标纹理的有名称的纹理
break;
case CN_ZHANGFEI:
switch (cellstate)
{
case CS_LEFT:
case CS_RIGHT:
glBindTexture(GL_TEXTURE_2D, texture[6]);
break;
case CS_BOTTOM:
case CS_TOP:
glBindTexture(GL_TEXTURE_2D, texture[7]);
break;
}
break;
case CN_ZHAOYUN:
switch (cellstate)
{
case CS_LEFT:
case CS_RIGHT:
glBindTexture(GL_TEXTURE_2D, texture[8]);
break;
case CS_BOTTOM:
case CS_TOP:
glBindTexture(GL_TEXTURE_2D, texture[9]);
break;
}
break;
case CN_MACHAO:
switch (cellstate)
您可能关注的文档
- 8086汇编语言常见出错信息一览表.docx
- 06全国大学生英语竞赛A级初赛试题及答案.doc
- 初二状语从句知识梳理.doc
- 修改版三至六年级年级英语单词表.doc
- 大学高级英语第一册张汉熙版第四课原文加翻译Everyday Use for your grandmama.docx
- 英语测试学论文.doc
- gogo五册班单元测试一.doc
- 中职英语应用能力模拟四.doc
- 英语词汇错题整理.docx
- 如何与买家沟通物流状态.doc
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
文档评论(0)