利用vs 2019和easyx图形库完成推箱子小游戏
需要的工具:
win 10
vs 2019
easyx
#include<graphics.h>
#include<iostream>
#include<conio.h>
#include<iomanip>
#include<windows.h>
#define Interval 100
using namespace std;
int map[3][8][8] =
{
{
{0,0,1,1,1,0,0,0},
{0,0,1,4,1,0,0,0},
{0,0,1,0,1,0,0,0},
{0,1,1,3,1,1,1,1},
{0,1,4,3,0,3,4,1},
{0,1,1,1,3,1,1,1},
{0,0,0,1,4,1,0,0},
{0,0,0,1,1,1,0,0}
},
{
{ 1,1,1,1,1,1,1,1.},
{ 1,0,4,0,0,0,0,1.},
{ 1,0,3,0,0,0,0,1.},
{ 1,0,3,0,0,0,4,1.},
{ 1,0,0,0,0,0,0,1.},
{ 1,0,0,0,3,0,0,1.},
{ 1,4,0,3,0,0,4,1.},
{ 1,1,1,1,1,1,1,1.},
},
{
{ 0,0,0,0,0,0,0,0.},
{ 0,1,1,1,1,1,1,0.},
{ 0,1,4,1,1,1,1,0.},
{ 0,1,0,0,3,0,1,0.},
{ 0,1,0,1,0,0,1,0.},
{ 0,1,0,0,0,0,1,0.},
{ 0,1,1,1,1,1,1,0.},
{ 0,0,0,0,0,0,0,0.},
}
};
int Pmap[3][8][8];
IMAGE image[6];
int x = 4, y = 4, num = 0, n = 0, choose = 0;
void Menu()
{
cout << "恭喜你,通过了本关卡" << endl;
cout << "请输入您的选择" << endl;
cout << "1.开始下一关" << endl;
cout << "2.退出游戏" << endl;
cout << "3.重玩本关卡" << endl;
}
void Setimage()
{
loadimage(&image[0], "nbsp.png", 100, 100);
loadimage(&image[1], "wall.png", 100, 100);
loadimage(&image[2], "user.png", 100, 100);
loadimage(&image[3], "boxs.png", 100, 100);
loadimage(&image[4], "goal.png", 100, 100);
loadimage(&image[5], "wins.png", 100, 100);
}
void GetsourceMap()
{
for (size_t i = 0; i < 3; i++)
{
for (size_t j = 0; j < 8; j++)
{
for (size_t k = 0; k < 8; k++)
{
Pmap[i][j][k] = map[i][j][k];
}
}
}
}
void Drawmap()
{
map[n][x][y] = 2;
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
switch (map[n][i][j])
{
case 0: //空白
cout << setw(2) << " ";
break;
case 1: //墙壁
cout << setw(2) << "*";
break;
case 2: //人物
cout << setw(2) <<