前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >方块处理(1) ---十天教会你俄罗斯方块

方块处理(1) ---十天教会你俄罗斯方块

作者头像
用户2965768
发布2018-08-30 16:24:05
4350
发布2018-08-30 16:24:05
举报
文章被收录于专栏:wymwym

一.显示方块

二.产生随机块

20行10列的二维数组数组元素初始化成0如果元素值为1,就画方块,否则不画

#define SIDE_LEN 30 #define G_ARR_ROW (RECT_LOWER_Y/SIDE_LEN) #define G_ARR_RANK (RECT_LOWER_X/SIDE_LEN) //全局变量 int g_arrBackGround[G_ARR_ROW][G_ARR_RANK] = {0};//产生背景数组 void OnPaint(HDC hDC) { //创建兼容性DC(内存DC)--纸的编号 HDC mDC = CreateCompatibleDC(hDC); //创建兼容性位图--纸本身 HBITMAP hBitmap = CreateCompatibleBitmap(hDC,WND_WIDTH,WND_HEIGHT); //将DC与位图关联 SelectObject(mDC, hBitmap); //画方块 PaintSquare(mDC); //从内存DC到窗口DC传递 BitBlt(hDC,0,0,RECT_LOWER_X,RECT_LOWER_Y,mDC,0,0,SRCCOPY); //释放位图 DeleteObject(hBitmap); //释放DC DeleteDC(mDC); } void PaintSquare(HDC mDC){ int i = 0; int j = 0; //画矩形框 Rectangle(mDC,RECT_UPPER_X,RECT_UPPER_Y,RECT_LOWER_X,RECT_LOWER_Y); g_arrBackGround[2][4] = 1;g_arrBackGround[3][3] = 1; g_arrBackGround[3][4] = 1;g_arrBackGround[3][5] = 1; //遍历二维数组 for(i=0;i<G_ARR_ROW;i++) { for(j=0;j<G_ARR_RANK;j++) { if(1==g_arrBackGround[i][j]) {Rectangle(mDC,j*SIDE_LEN,i*SIDE_LEN,j*SIDE_LEN+SIDE_LEN,i*SIDE_LEN+SIDE_LEN);} }

}}

2、产生随机块并显示

//全局变量

int g_arrSquare[2][4] = {0};//产生方块数组

七种情况

#include <time.h> int CreateRandomSquare(){ int nIndex = rand()%7;//7种组合 switch(nIndex) { case 0: g_arrSquare[0][0] = 1;g_arrSquare[0][1] = 1;g_arrSquare[0][2] = 0;g_arrSquare[0][3] = 0; g_arrSquare[1][0] = 0;g_arrSquare[1][1] = 1;g_arrSquare[1][2] = 1;g_arrSquare[1][3] = 0; break; case 1: …… break; case 2: …… break; case 3: …… break; case 4: …… break; case 5: …… break; case 6: ……break; default:break; } return nIndex;} void CopySquareToBack() { int i = 0; int j = 0; for(i=0;i<COMB_ROW;i++) { for(j=0;j<COMB_RANK;j++) { g_arrBackGround[i][j+3] = g_arrSquare[i][j];//起始出现位置在中间 }  }

}

效果图:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档