这是一个简单的推箱子游戏,只有一关,主要是锻炼代码的重用性和可拓展性,只是并没有封装成库,全部都到一个文件里面。
以下是全部代码:
#include <Windows.h>
#include
#include
#include <graphics.h>
#include <conio.h>
using namespace std;
#define LINE 9
#define COLUMN 12
#define CONSOLE_X 1000
#define CONSOLE_Y 700
#define PRINT_SIZE 61
#define INTE_X 150
#define INTE_Y 120
#define KET_UP ‘w’
#define KET_DOWN ‘s’
#define KET_LEFT ‘a’
#define KET_RIGHT ‘d’
#define KET_PUIT ‘q’
#define TIME 70
#define CONDI nove1.x>=0 && nove1.x<LINE
#define MAN_XY map[man.x][man.y]
#define NOVE1_XY map[nove1.x][nove1.y]
#define NOVE2_XY map[nove2.x][nove2.y]
typedef enum _PRINT PRINT;
typedef struct man_seat man_seat;
typedef enum _DIRECITON DIRECITON;
enum _PRINT{
WALL,//墙
FLOOR,//地板
DES,//箱子目的地
MAN,//人
BOX,//箱子
HIT,//箱子命中目标
MAN_DES,//人在目的地
BOX_DES,//箱子在目的地
ALL//总数
};
struct man_seat{
int x;
int y;
};
struct man_seat man;
IMAGE print[ALL];//图片总数
int map[LINE][COLUMN ] = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,