91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 23KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-08-16
  • 語言: 其他
  • 標(biāo)簽: OpenGL??游戲??代碼??

資源簡介

用OpenGL編寫的俄羅斯方塊,運行良好,界面也很不錯。

資源截圖

代碼片段和文件信息

#include?“main.h“
#include?

void?init?()
{
x0?=?200?y0?=?10;

curMatrix_n?=?rand?()?%?7;
for?(int?j?=?0;?j? {
grid?[j][20]?=?1;
grid?[j][21]?=?1;
grid?[j][22]?=?1;
}

glClearColor?(0.0?0.0?0.0?1.0);
glMatrixMode?(GL_PROJECTION);
gluOrtho2D?(x0-1?x0+viewWidth+1?y0-2?y0+viewHeight+1); //下邊界在下方兩像素處?右邊界在右方兩像素處
glViewport?(x0-1?y0-2?viewWidth+3?viewHeight+3);
}

//********************************************************************************************************************

void?drawSquare?(GLint?x?GLint?y) //畫小正方形
{
glBegin?(GL_QUADS);
glVertex2i?(x?y);
glVertex2i?(x+19?y);
glVertex2i?(x+19?y+19);
glVertex2i?(x?y+19);
glEnd();
}

void?drawCurMatrix?(int?x?int?y) //畫當(dāng)前方塊,參數(shù)為當(dāng)前方塊的最左下格?左下角坐標(biāo)
{
glPushMatrix?();
glColor3f?(0.0?0.6?0.0);
for?(int?k=0;?k<5;?k++)
for?(int?l=0;?l<6;?l++)
{
if?(curMatrix?[curMatrix_n][curMatrix_f][k][l]?==?1)
drawSquare?(x+20*(l-1)?y+20*(k-1));
}
glPopMatrix?();
}

void?drawMatrix?(int?x?int?y) //畫已累積的方塊,從左下角開始,參數(shù)為最左下格子?左下角坐標(biāo)
{
glPushMatrix?();
if?(isOver) //game?over時
glColor3f?(0.5?0.5?0.5);
else
glColor3f?(0.0?0.6?0.0);

for?(int?i=0;?i<20;?i++)
for?(int?j=0;?j<30;?j++)
{
static?int?tmp?=?1; //保證只執(zhí)行一次,得到方塊?初始化?時的左下角坐標(biāo)
if?(tmp==1?&&?i==initCurMatrix_i?&&?j==initCurMatrix_j)
{
initCurMatrix_x?=?x+20*i;
initCurMatrix_y?=?y+20*j;
tmp?=?0;
}

if?(grid?[j][i]?==?1)
drawSquare?(x+20*i?y+20*j);
}
glPopMatrix?();
}

void?draw1() //執(zhí)行畫?框線?已累積的方塊?當(dāng)前方塊
{
glPushMatrix?();
glColor3f?(0.5?0.5?0.5);
glBegin?(GL_LINE_LOOP);
glVertex2i?(x0-1?y0+viewHeight);
glVertex2i?(x0-1?y0-2);
glVertex2i?(x0+viewWidth+1?y0-2);
glVertex2i?(x0+viewWidth+1?y0+viewHeight);
glEnd?();
glPopMatrix?();

for?(int?i?=?0;?i<20;?i++)
{
if?(grid?[29][i]?==?1) //game?over判斷
{
isOver?=?1;
KillTimer?(hWnd?timer);
break;
}
}

drawMatrix?(x0?y0);

if?(!isOver)
{
if?(needNewMatrix) //保證執(zhí)行次數(shù),每次生成新方塊時
{
curMatrix_j?=?initCurMatrix_j;
curMatrix_i?=?initCurMatrix_i;

curMatrix_x?=?initCurMatrix_x;
curMatrix_y?=?initCurMatrix_y;
needNewMatrix?=?0;
}
drawCurMatrix?(curMatrix_x?curMatrix_y);
}
}

//********************************************************************************************************************

void?needCutlayer?()
{
for?(int?j?=?0;?j<30;?j++)
{
int?tmp?=?0;
for?(int?i?=?0;?i<20;?i++)
{
if?(grid?[j][i]?==?1)
tmp++;
}

if?(20?==?tmp)
{
for?(int?k?=?j;?k? for?(int?l?=?0;?l? grid?[k][l]?=?grid?[k+1][l];

j--;
}
}//for
}

bool?canMove?(int?direction)
{
switch?(direction)
{
case?DOWN:
for?(int?k=0;?k<5;?k++)
for?(int?l=0;?l<6;?l++)
{
if?(curMatrix?[curMatrix_n][curMatrix_f][k][l]?==?2?||?curMatrix?[curMatrix_n][curMatrix_f][k][l]?==?6?|

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????39424??2008-11-01?21:18??tetris.exe

?????文件???????6774??2008-11-01?21:13??main.cpp

?????文件???????4204??2008-11-01?21:17??main.h

?????文件??????13217??2008-11-01?21:12??7種方塊.xlsx

-----------?---------??----------?-----??----

????????????????63619????????????????????4


評論

共有 條評論