opengl简易翻牌游戏


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  简易翻牌游戏all.h

     文件       5291  2014-04-23 21:41  简易翻牌游戏ase.h

     文件        491  2007-08-03 14:56  简易翻牌游戏lock.h

     文件       2342  2014-04-23 21:43  简易翻牌游戏locks.h

     文件        221  2007-08-03 14:56  简易翻牌游戏order.h

     文件    1920056  2011-06-06 21:12  简易翻牌游戏data est.bmp

     文件    1745920  2014-04-23 21:50  简易翻牌游戏Debuggl.bsc

     文件     135239  2014-04-23 21:50  简易翻牌游戏Debuggl.exe

     文件     255680  2014-04-23 21:50  简易翻牌游戏Debuggl.ilk

     文件     102464  2014-04-23 21:50  简易翻牌游戏Debuggl.obj

     文件    6090176  2014-04-23 21:43  简易翻牌游戏Debuggl.pch

     文件     476160  2014-04-23 21:50  简易翻牌游戏Debuggl.pdb

     文件          0  2014-04-23 21:50  简易翻牌游戏Debuggl.sbr

     文件     173056  2014-04-23 21:50  简易翻牌游戏Debugvc60.idb

     文件     151552  2014-04-23 21:50  简易翻牌游戏Debugvc60.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个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)