**学C++一个月做出来的小游戏,使用的图形库是Esayx,下面是源代码,有兴趣的朋友可以看一看。
其中改了挺多逻辑判断,也是老师安排的作业,比如人可以穿越陷阱、人可以把箱子从目的地推开之后复原陷阱,个人感觉还是有提升的,对于初学者来说能完整的运用到前面所学的一整套知识来弄出这个小游戏,相当于归纳前面所学的知识点并运用了一遍,算是对学习的一个总结吧。
#include<graphics.h>
#include<iostream>
#include<stdlib.h>
#include<string>
#include<conio.h>
using namespace std;
#define RATIO 58
#define WIDTH 700
#define HEIGHT 568
#define LINE 9
#define CLOUMN 12
#define START_Y 20
#define KEY_UP 'w'
#define KEY_DOWN 's'
#define KEY_LEFT 'a'
#define KEY_RIGHT 'd'
#define KEY_QUIT 27
struct _POS {
int x; int y; };
enum _PROPS {
WALL,//墙
FLOOR,//地板
DEX,//陷阱
MAN,//人
BOX,//箱子
HIT,//箱子命中陷阱
ALL//道具总数
};
enum _DIRECTION {
UP,
DOWN,
LEFT,
RIGHT
};
//游戏地图
int map[LINE][CLOUMN] = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{
0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{
0, 1, 4, 1, 0, 2, 1, 0, 2, 1, 0, 0},
{
0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0},
{
0, 1, 0, 2, 0, 1, 1, 4, 1, 1, 1, 0},
{
0, 1, 1, 1, 0, 3, 1, 1, 1, 4, 1, 0},
{
0, 1, 2, 1, 1, 4, 1, 1, 1, 1, 1