• 大小: 2.84MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-16
  • 语言: 其他
  • 标签: 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  简易翻牌游戏\ball.h

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

     文件        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个文件信息

评论

共有 条评论