资源简介
opengl 简单记忆翻牌游戏 四乘四
代码片段和文件信息
#include “afx.h“
#include
#include
#include
#include
#include
#include
#include
#include “base.h“
#include “ball.h“
#include “block.h“
#include “blocks.h“
#include “border.h“
#include “stick.h“
using namespace std;
// 边框参数设置
float Border_Left=-0.8 Border_Right=0.8;
float Border_Bottom=-0.8 Border_Top=0.8;
vector selected; //选中的砖的下标号
int num=0;//选中的块的次数,初始为0;
// 砖块参数设置
int Block_Row=4Block_Col=4; // 行数、列数
float Blocks_Area_Scale=1; // 砖块区占整个游戏区域的比例
// 边框对象
BORDER Border(Border_LeftBorder_RightBorder_TopBorder_Bottom);
// 砖块群对象
BLOCKS Blocks(BorderBlocks_Area_ScaleBlock_RowBlock_Col);
void myDisplay(void);
void myMouse(int buttonint stateint xint y);
void ToString(unsigned int vchar s[]);
int main(int argc char* argv[])
{
selected.clear();
glutInit(&argc argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutInitWindowSize(800 800);
glutInitWindowPosition(100 100);
glutCreateWindow(“记忆翻牌游戏“);
glutDisplayFunc(myDisplay);
glutMouseFunc(myMouse);
glutMainLoop();
return 0;
}
void myDisplay(void)
{ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Blocks.Draw();
glutSwapBuffers();
}
void myMouse(int buttonint stateint xint y)
{
if(state==GLUT_DOWN&&button==GLUT_LEFT_BUTTON)
{
glutPostRedisplay();
cout<<1< GLint viewport[4];
GLdouble modelview[16];
GLdouble projection[16];
GLfloat winx winy winz;
GLdouble posx posy posz;
glGetIntegerv(GL_VIEWPORT viewport);
glGetDoublev(GL_MODELVIEW_MATRIX modelview);
glGetDoublev(GL_PROJECTION_MATRIX projection);
winx = x;
winy = viewport[3] - y;
glReadPixels(x int(winy) 11 GL_DEPTH_COMPONENT GL_FLOAT &winz );
gluUnProject( winx winy winz modelview projectionviewport &posx &posy &posz);
int pindex=Blocks.getpblock(posxposy); //获得单击所得的base的下标号
if(pindex==-1) return; //没选中块则返回
if(!Blocks.Exist(pindex))
{
return;
} //如果选中的块是已经被消除了也返回
num++;
if(num==1)
{
selected.push_back(pindex);
Blocks.setsel(pindex); //如果只选中了一个块,则将当前选中的base的颜色显示出来
}
if(num==2) //已经选中了两个
{
int index1=selected.at(0);
if(index1==pindex) //如果两次选中的是同一个块,则恢复该块的selected为false
{
Blocks.setunsel(index1);
selected.clear();
num=0;
}
else
{
if(Blocks.colorsame(index1pindex)) //两个颜色相同
{
Blocks.setbaseEx(index1);
Blocks.setbaseEx(pindex);
num=0;
selected.clear();
}
else
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 905 2014-04-12 22:42 简易翻牌游戏\ball.h
文件 5291 2014-04-23 21:41 简易翻牌游戏\ba
文件 491 2007-08-03 14:56 简易翻牌游戏\block.h
文件 2342 2014-04-23 21:43 简易翻牌游戏\blocks.h
文件 221 2007-08-03 14:56 简易翻牌游戏\border.h
文件 1920056 2011-06-06 21:12 简易翻牌游戏\data\test.bmp
文件 1745920 2014-04-23 21:50 简易翻牌游戏\Debug\gl.bsc
文件 135239 2014-04-23 21:50 简易翻牌游戏\Debug\gl.exe
文件 255680 2014-04-23 21:50 简易翻牌游戏\Debug\gl.ilk
文件 102464 2014-04-23 21:50 简易翻牌游戏\Debug\gl.obj
文件 6090176 2014-04-23 21:43 简易翻牌游戏\Debug\gl.pch
文件 476160 2014-04-23 21:50 简易翻牌游戏\Debug\gl.pdb
文件 0 2014-04-23 21:50 简易翻牌游戏\Debug\gl.sbr
文件 173056 2014-04-23 21:50 简易翻牌游戏\Debug\vc60.idb
文件 151552 2014-04-23 21:50 简易翻牌游戏\Debug\vc60.pdb
文件 3482 2014-04-23 21:49 简易翻牌游戏\gl.cpp
文件 3428 2014-04-23 21:49 简易翻牌游戏\gl.dsp
文件 529 2007-08-02 14:24 简易翻牌游戏\gl.dsw
文件 91136 2014-04-23 21:50 简易翻牌游戏\gl.ncb
文件 49664 2014-04-23 21:50 简易翻牌游戏\gl.opt
文件 998 2014-04-23 21:50 简易翻牌游戏\gl.plg
文件 869 2014-04-09 23:21 简易翻牌游戏\gl.sln
..A..H. 9216 2014-04-09 23:21 简易翻牌游戏\gl.suo
文件 5159 2014-04-09 23:21 简易翻牌游戏\gl.vcproj
文件 1427 2014-04-09 23:21 简易翻牌游戏\gl.vcproj.5SLWJHCZF6ZKCKP.Administrator.user
文件 1392 2007-08-03 14:48 简易翻牌游戏\stick.h
目录 0 2014-04-23 12:37 简易翻牌游戏\data
目录 0 2014-04-23 21:50 简易翻牌游戏\Debug
目录 0 2014-04-23 21:50 简易翻牌游戏
----------- --------- ---------- ----- ----
............此处省略2个文件信息
- 上一篇:校园新闻发布管理系统
- 下一篇:HFSS中文教程_微波仿真论坛
相关资源
- Qt Openglwidget 显示图片纹理贴图
- OpenGL实现三维物体旋转,缩放
- MD5GPU.rar
- OpenGL立方体在世界坐标系中缩放_旋转
- OpenGL ES 2.0 编程指南 中文版.pdf
- openGL实现三维点云显示
- opengl写的趣味3D骰子
- 计算机图形学实验 opengl实现太阳系运
- opengl实现地球围绕太阳转动
- opnegl 太阳 月亮 地球 天体旋转
- glut库glew库glfw库glaux库
- OpenGL小车三维模型源码.zip
- 虚拟环境漫游系统
- 基于OpenGL实现俄罗斯方块
- OpenGL简单场景编程
- glui for opengl(glui.h glui32.lib)
- myRay_Tracer.zip
- opengl画三角形
- opengl绘制树
- qt opengl(after ver2.1) 渲染 nv12
- 3D Helicopter
- 计算机图形大作业opengl-物联网.rar
- OpenGL安装包.zip
- OpenGl读取obj格式文件
- OpenGL Shading Language (3rd Edition)
- VC实现OpenGL三维绘图
- OpenGL_Nehe(NeHe中文教程)pdf+源码
- OpenGL配置文件
- OpenGL安装包
- OPENGL读取obj模型_visual stdio2015
评论
共有 条评论