看下游戏界面:
不知道怎么介绍,直接上代码:
Model.h
#pragma once
#define FACE_X 20
#define FACE_Y 29
#define WALL 2
#define BOX 1
#define KONG 0
typedef struct Face
{
int data[FACE_Y][FACE_X + 10]; //1->方块,2->空格
int color[FACE_Y][FACE_X + 10]; //对应方块的颜色
}Face;
typedef struct DownDiamonds
{
int space[4][4];
}DownDia;
DownDia dia[7][4];
typedef struct Game
{
Face face;
int maxscore;
int score;
int speed;
}Game;
void GameInit(Game *pGame);
void Init_dia(); //初始化方块
int color(int c);
Model.c
#define _CRT_SECURE_NO_DEPRECATE 1
#include "Model.h"
#include "Windows.h"
#include "view.h"
void Init_dia()
{
for (int i = 0; i < 3; i++)
{
//0 1 0 0
dia[0][0].space[1][i] = 1; //1 1 1 0
dia[0][0].space[0][1] = 1; //0 0 0 0
//0 0 0 0
}
for (int i = 0; i < 3; i++)
{
//1 1 1 0
dia[1][0].space[0][i] = 1; //1 0 0 0
dia[1][0].space[1][0] = 1; //0 0 0 0
//0 0 0 0
}
for (int i = 0; i < 3; i++)
{
//1 1 1 0
dia[2][0].space[0][i] = 1; //0 0 1 0
dia[2][0].space[1][2] = 1; //0 0 0 0
//0 0 0 0
}
for (int i = 0; i < 2; i++)
{
//1 1 0 0
dia[3][0].space[0][i] = 1; //0 1 1 0
dia[3][0].space[1][i + 1] = 1; //0 0 0 0
//0 0 0 0
//0 1 1 0
dia[4][0].space[0][i + 1] = 1; //1 1 0 0
dia[4][0].space[1][i] = 1; //0 0 0 0
//0 0 0 0
//1 1 0 0
dia[5][0].space[0][i] = 1; //1 1 0 0
dia[5][0].space[1][i] = 1; //0 0 0 0
//0 0 0 0
}
for (int i = 0; i < 4; i++)
{
//1 1 1 1
dia[6][0].space[0][i] = 1; //0 0 0 0
//0 0 0 0
//0 0 0 0
}
int tmp[4][4];
for (int i = 0; i < 7; i++) //方块种类
{
for (int j = 0; j < 3; j++) //旋转次数
{
for (int k = 0; k < 4; k++)
{
for (int z = 0; z < 4; z++)
{
tmp[k][z] = dia[i][j].space[k][z];
}
}
for (int k = 0; k < 4; k++)
{
for (int z = 0; z < 4; z++)
{
dia[i][j + 1]