2003版华容道操作步骤何 张一淇 比翼横空.doc

2003版华容道操作步骤何 张一淇 比翼横空.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档