当前位置 博文首页 > 吴斌的博客:推箱子小游戏

    吴斌的博客:推箱子小游戏

    作者:[db:作者] 时间:2021-06-28 09:13

    利用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) <<
    
    上一篇:没有了
    下一篇:没有了