项目需求:
实现一款推箱子游戏,效果如下图所示
,
具体规则:
1.
箱子只能推动而不能拉动;
2.
如果箱子前一格是地板或箱子目的地,则可以推动一个箱子往前走一格,如果箱子已经在
箱子目的地则不能再推动
(修改,可以推动);
3.推箱子的小人不能从箱子目的地上直接穿过
(修改:可以穿过);
4.
注意不要把箱子推到死角上,不然就无法再推动它了;
5.
所有箱子都成功推到箱子目的地,游戏结束,过关成功!
图形库
:
www.easyx.cn
模块划分:
box_main.h
#pragma once
#ifndef __BOX_MAIN_H__
#define __BOX_MAIN_H__
#define SCREEN_WIDTH 960 //画布宽度 列
#define SCREEN_HEIGHT 768 //画布高度 行
#define RATIO 61 //所有元素缩放比例
#define LINE 9 //行
#define COLUMN 12 //列
#define START_X 100 //舞台初始 X 坐标
#define START_Y 150 //舞台初始 Y 坐标
#define isValid(pos) pos.x >= 0 && pos.x < LINE && pos.y < COLUMN && pos.y >= 0
/***************************************************************************
* 道具类型(_PROPS): 枚举型,管理方便,每定义元素可自动生成序号值,自累加
* 输入: 可扩展性强,出现误操作,会报错
* 输出: 数组
****************