资源简介
俄罗斯方块(c++控制台代码)
代码片段和文件信息
#include
#include
#include
#define W 14 //游戏区域宽度
#define H 20 //游戏区域高度
#define W1 6 //右边状态栏宽度
#define BSIZE 25 //游戏方格边长
#define Y1 6 //放置照片底端的纵坐标
#define Y2 12 //分数显示栏顶端纵坐标
#define Y3 15 //等级显示栏顶端纵坐标
#define Y4 7 //帮助栏顶端纵坐标
#define Cur_x W/2-1 //游戏方块初始状态左上角横坐标
#define Cur_y 1 //初始状态左上角纵坐标
#define BgColor RGB(0xF50xF50xDC) //米色
#define FgColor RGB(255153204) //粉红
#define RED RGB(25500)
#define ORANGE RGB(255970)
#define YELLOW RGB(25515318)
#define GREEN RGB(3413934)
#define CYAN RGB(1284242)
#define LIGHT_BLUE RGB(65105225) //天蓝色
#define PURPLE RGB(2550255)
#define MS_NEWBLOCK WM_USER+1 // 消息ID,产生新的【方块】
int score=0level=0level_step=100; //分数等级以及每等级所需分数的定义及初始化
int top=H-1; //最顶端的纵坐标
int xy; //方块当前位置的横坐标及纵坐标
int cur_boxnumnext_boxnum; //cur_boxnum是当前方块编号,next_boxnum是下一个方块编号
struct BOARD
{
int var; //状态,1代表已被占用,0代表未被占用
int color; //颜色
}board[H][W]; //定义游戏主板,H行N列
struct BLOCK
{
int a[4][2]; //定义方块形状的数组,每行为方块左上角坐标
int color; //方块颜色
int next; //下一个方块的号码
};
struct BLOCK block[19]=
{ //初始化各个游戏方块
{11121323RED1}
{02122203RED2}
{01111213RED3}
{21021222RED0}
{11120313ORANGE5}
{01021222ORANGE6}
{11211213ORANGE7}
{02122223ORANGE4}
{11021222YELLOW9}
{11122213YELLOW10}
{02122213YELLOW11}
{11021213YELLOW8}
{11122223GREEN13}
{12220313GREEN12}
{21122213CYAN15}
{02121323CYAN14}
{10111213LIGHT_BLUE17}
{02122232LIGHT_BLUE16}
{11211222PURPLE18}
};
void Paint(HDC hdcHPEN hpen) //此函数用于初始化界面
{
int ij;
HPEN hpen1; //定义画笔,用于绘制分隔线
HBRUSH hbrush=CreateSolidBrush(BgColor); //定义画刷并赋初值,画刷颜色采用背景色
hpen1=CreatePen(PS_DASHDOTDOT3FgColor); //给画笔赋初值,颜色为前景色,线宽为3,双点划线
Selectobject(hdchpen1); //选择画笔
MoveToEx(hdcW*BSIZE0NULL); //将光标移动到(W*BSIZE0)处
LineTo(hdcW*BSIZEH*BSIZE); //从光标所在位置画线到(W*BSIZEH*BSIZE)处
Deleteobject(hpen1); //删除之前所选用的画笔
Selectobject(hdchpen); //重新选择画笔
Selectobject(hdchbrush); //选择画刷
for(i=1;i for(j=1;j Rectangle(hdcj*BSIZEi*BSIZE(j+1)*BSIZE(i+1)*BSIZE);
for(i=1;i<5;i++) //绘制右边状态栏游戏预览区域方格线
for(j=W+1;j Rectangle(hdcj*BSIZEi*BSIZE(j+1)*BSIZE(i+1)*BSIZE);
Rectangle(hdc(W+1)*BSIZEY2*BSIZE(W+W1-1)*BSIZE(Y2+2)*BSIZE); //绘制分数栏方格线
Rectangle(hdc(W+1)*BSIZEY3*BSIZE(W+W1-1)*BSIZE(Y3+2)*BSIZE); //绘制等级栏方格线
Rectangle(hdc(W+1)*BSIZEY4*BSIZE(W+W1-1)*BSIZE(Y4+4)*BSIZE); //绘制帮助栏方格线
TextOut(hdc(W+2)*BSIZE(Y2+0.2)*BSIZETEXT(“分 数“)8); //输出文字
TextOut(hdc(W+2)*BSIZE(Y3+0.2)*BSIZETEXT(“等 级“)8); //同上
Deleteobject(hpen); //删除画笔
Deleteobject(hbrush); //删除画刷
}
void ShowScore(HDC hdc) //显示分数的函数
{
TCHAR score_str[4]; //定义字符串用于保存分数值
wsprintf(score_strTEXT(“%3d“)score); //将数字score转换成字符串后保存到score_str之中
Tex
- 上一篇:基于ege图形的推箱子游戏
- 下一篇:走迷宫(自动生成迷宫版本!)
相关资源
- 俄罗斯方块.cpp
- opencv版俄罗斯方块源码
- 俄罗斯方块源码用VC开发
- C语言版俄罗斯方块基于EASYX库
- VC++ Win32俄罗斯方块游戏源码(新)
- C++图形系统实现俄罗斯方块小游戏
- c++ 俄罗斯方块( + 文档)
- 用C++使用SDL库编写的俄罗斯方块游戏
- VC++MFC小游戏开发教程+扫雷+五子棋+俄
- 一个控制台俄罗斯方块C++源代码及可
- 基于MFC的俄罗斯方块游戏
- 俄罗斯方块游戏exe程序和所有代码资
- 功能完善的俄罗斯方块程序(C语言编
- MFC俄罗斯方块源码
- 俄罗斯方块C语言实现,用到了C语言的
- 基于MFC的VC++俄罗斯方块程序源代码
- 自己用C语言写的俄罗斯方块游戏——
- STM32实现俄罗斯方块游戏C语言
- 手把手教你用vc6 c++ 做俄罗斯方块小游
- MFC 版俄罗斯方块
- 毕业设计-C++俄罗斯方块
- vc6.0的MFC实现简单的俄罗斯方块小游戏
- 俄罗斯方块(基于VC6.0单文档)
- MFC俄罗斯方块及源码
- 小程序 俄罗斯方块
- 最简单的C语言俄罗斯方块
- c语言实现俄罗斯方块
- VS2013写的简单小游戏俄罗斯方块
- 俄罗斯方块游戏设计C++课程设计报告
- 基于VC6.0 的MFC俄罗斯方块游戏设计含
评论
共有 条评论