4 Star 0 Fork 0

B16041616/B16041616李浩铭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
datastruct.cpp 5.43 KB
一键复制 编辑 原始数据 按行查看 历史
B16041616 提交于 2017-12-27 21:15 . B16041616 李浩铭 数据结构
// datastruct.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<Windows.h>
#define IDS_APP_TITLE 103
#define IDR_MAINFRAME 128
#define IDD_TETRIS_DIALOG 102
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104
#define IDM_EXIT 105
#define IDM_START 116
#define IDM_END 117
#define IDM_DIFF 106
#define ID_dif1 111
#define ID_dif2 112
#define ID_dif3 113
#define ID_LAYOUT1 114
#define ID_LAYOUT2 115
#define IDI_TETRIS 107
#define IDI_SMALL 108
#define IDC_TETRIS 109
#define IDC_MYICON 2
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
// 新对象的下一组默认值
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 130
#define _APS_NEXT_RESOURCE_VALUE 129
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 110
#endif
#endif
//函数声明
void checkComplite(); //查看一行是否能消去 采用从上往下的消法,消去一行后把上面的每行都往下移,但是我感觉效率有点低,以后看能不能有点改进
void drawBlocked(HDC hdc); //绘制当前已经存在砖块的区域
void DrawBackGround(HDC hdc); //绘制背景
void outPutBoxInt(int num); //自定义的弹窗函数 用于调试
void outPutBoxString(TCHAR str[1024]);
void setRandomT(); //随机生成一个方块用作下一次掉落
void init_game(); //初始化
void fillBlock(); //到达底部后填充矩阵
void RotateTeris(BOOL bTeris[4][4]); //旋转矩阵
void DrawTeris(HDC mdc); //绘制正在下落的方块
void drawNext(HDC hdc); //绘制下一个将要掉落的方块
void drawScore(HDC hdc); //绘制分数
void drawCompleteParticle(int line);
int RandomInt(int _min, int _max); //获取一个随机int
int CheckValide(int curPosX, int curPosY, BOOL bCurTeris[4][4]); //给定一个矩阵,查看是否合法
int selectDiffculty(HWND hWnd, int dif);
int selectLayOut(HWND hWnd, int layout);
//常量声明
const int BORDER_X = 10;
const int BORDER_Y = 10;
const int SCREEN_LEFT_X = 300 + BORDER_X;
const int SCREEN_Y = 600 + BORDER_Y;
const int SCREEN_RIGHT_X = 180 + BORDER_X * 2;
const int SCREEN_X = SCREEN_LEFT_X + SCREEN_RIGHT_X;
const BOOL state_teris[][4][4] =
{
{ { 1,1,1,1 },{ 0,0,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } },
{ { 0,1,1,0 },{ 0,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } },
{ { 0,1,1,1 },{ 0,0,0,1 },{ 0,0,0,0 },{ 0,0,0,0 } },
{ { 0,1,1,0 },{ 0,0,1,1 },{ 0,0,0,0 },{ 0,0,0,0 } },
{ { 0,1,0,0 },{ 1,1,1,0 },{ 0,0,0,0 },{ 0,0,0,0 } },
{ { 0,1,1,1 },{ 0,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } },
{ { 0,1,1,0 },{ 1,1,0,0 },{ 0,0,0,0 },{ 0,0,0,0 } }
};
//全局变量声明
bool g_hasBlocked[50][50];
RECT rc_left, rc_right, rc_right_top, rc_right_bottom, rc_main;
int g_speed = 300;
int t_speed = 300;
BOOL bCurTeris[4][4];
BOOL bNextCurTeris[4][4];
int curPosX, curPosY;
int rd_seed = 1995421;
int tPre = 0, tCur;
int GAME_STATE = 0;
int GAME_SCORE = 0;
int GAME_DIFF = 1;
int NUM_X = 10;
int NUM_Y = 20;
int BLOCK_SIZE = 30;
int main()
{
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C/C++
1
https://gitee.com/B16041616/B16041616LiHaoMing.git
git@gitee.com:B16041616/B16041616LiHaoMing.git
B16041616
B16041616LiHaoMing
B16041616李浩铭
master

搜索帮助