C++版本 魔塔

游戏截图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

绘制地图

void drawmap()
{
	int i, j;
	int x, y;
	for (i = 0;i < 13;i++)
	{
		for (j = 0;j < 13;j++)
		{
			x = 60 * j;
			y = 60 * i;
			putimage(x, y, &img[map[i][j]]);
		}
	}
	settextstyle(18, 0, "斜体");
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 80, "英雄名");
	settextcolor(RGB(rand() % 256, rand() % 256, rand() % 256));
	outtextxy(60 * 13 + 35, 100, role.name);
	if (m < 12)
	{
		for (i = m;i < 12;i++)
		{
			if (role.jy >= 人物等级升级经验要求[i])
			{
				role.lv = i;
				role.hp += 300;
				role.mp += 150;
				role.gj += 3 * i;
				role.fy += 2 * i;
				m = i + 1;
				break;
			}
		}
	}
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 30, "层数");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 50, inttowchar(level));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 160, "等级");
	settextcolor(WHITE);
	if (role.lv < 11)
		outtextxy(60 * 13 + 42, 180, inttowchar(role.lv));
	if (role.lv == 11)
	{
		outtextxy(60 * 13 + 42, 180, inttowchar(role.lv));
		outtextxy(60 * 13 + 42, 199, "已满级");
	}
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 215, "经验值");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 235, inttowchar(role.jy));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 342, "血量");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 40, 362, inttowchar(role.hp));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 405, "魔法值");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 425, inttowchar(role.mp));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 497, "攻击值");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 517, inttowchar(role.gj));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 547, "防御值");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 567, inttowchar(role.fy));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 669, "黄钥匙");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 689, inttowchar(role.ys_yellow));
	settextcolor(YELLOW);
	outtextxy(60 * 13 + 35, 723, "蓝钥匙");
	settextcolor(WHITE);
	outtextxy(60 * 13 + 42, 743, inttowchar(role.ys_blue));
}

保存进度

void SaveConfig()
{

	FILE* fp = fopen("./src/saveconfig.txt", "w");
	fprintf(fp, "主角名:");fprintf(fp, "%s", role.name);fprintf(fp, "\n");
	fprintf(fp, "层数:");fprintf(fp, "%d", level);fprintf(fp, "\n");
	fprintf(fp, "攻击:");fprintf(fp, "%d", role.gj);fprintf(fp, "\n");
	fprintf(fp, "防御:");fprintf(fp, "%d", role.fy);fprintf(fp, "\n");
	fprintf(fp, "等级:");fprintf(fp, "%d", role.lv);fprintf(fp, "\n");
	fprintf(fp, "黄钥匙数量:");fprintf(fp, "%d", role.ys_yellow);fprintf(fp, "\n");
	fprintf(fp, "蓝钥匙数量:");fprintf(fp, "%d", role.ys_blue);fprintf(fp, "\n");
	fprintf(fp, "蓝量:");fprintf(fp, "%d", role.mp);fprintf(fp, "\n");
	fprintf(fp, "血量:");fprintf(fp, "%d", role.hp);fprintf(fp, "\n");
	fprintf(fp, "经验:");fprintf(fp, "%d", role.jy);fprintf(fp, "\n");
	fclose(fp);
}

void SaveMap()
{
	int num;
	FILE* fp = fopen("./src/savemap.txt", "w");
	for (int i = 0;i < 13;++i)
	{
		for (int j = 0;j < 13;++j)
		{
			num = map[i][j];
			if (num < 10) fprintf(fp, "%d", num);
			while (num >= 10)
			{
				int s = num / 10;
				fprintf(fp, "%d", s);
				num = num % 10;
				if (num < 10) fprintf(fp, "%d", num);
			}
			fprintf(fp, ",");
		}
		fprintf(fp, "\n");
	}
	fclose(fp);
	SaveConfig();
	int id = MessageBox(hwnd, "保存成功", "游戏提示", MB_OK);


}

加载进度

void LoadConfig()
{
	FILE* fp = fopen("./src/saveconfig.txt", "r");
	char t[201];
	int x = 0, k = 0, num;
	memset(role.name, '\0', sizeof(role.name));
	while (fscanf(fp, "%s", t) != EOF)
	{
		++k;num = 0;int c = 0;
		for (int i = 0;t[i] != '\0';++i)
		{
			if ((t[i - 1] == ':' && k == 1) || (k == 1 && c > 0))
			{
				++c;
				role.name[x++] = t[i];
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 2) level = t[i] - '0';
			else if (t[i] >= '0' && t[i] <= '9' && k == 3)
			{
				num = num * 10 + t[i] - '0';
				role.gj = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 4)
			{
				num = num * 10 + t[i] - '0';
				role.fy = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 5)
			{
				num = num * 10 + t[i] - '0';
				role.lv = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 6)
			{
				num = num * 10 + t[i] - '0';
				role.ys_yellow = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 7)
			{
				num = num * 10 + t[i] - '0';
				role.ys_blue = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 8)
			{
				num = num * 10 + t[i] - '0';
				role.mp = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 9)
			{
				num = num * 10 + t[i] - '0';
				role.hp = num;
			}
			else if (t[i] >= '0' && t[i] <= '9' && k == 10)
			{
				num = num * 10 + t[i] - '0';
				role.jy = num;
			}
		}
	}
}
int idd;
void LoadSaveMap()
{
	char S[101];
	idd = MessageBox(hwnd, "载入存档成功", "提示", MB_OK);
	LoadConfig();
	sprintf(S, "./src/savemap.txt");
	readmap(S);
}

地图数据变化监控

char userkey;
void keydown()
{
	//char userkey;
	i = 0, j = 0;
	for (i = 0;i < 13;i++)  //找人的坐标
	{
		for (j = 0;j < 13;j++)
		{
			if (map[i][j] == 15)
				break;
		}
		if (map[i][j] == 15)
			break;
	}
	//userkey = _getch();  //不可见输入的按键;
	switch (userkey)
	{
		//************************************************左
	case 'A':
	case 'a':
	case 75:
		if (map[i][j - 1] == 1) //空地可以走
		{
			map[i][j] = 1;
			map[i][j - 1] = 15;
		}
		else if (map[i][j - 1] == 4)
		{
			int mid = MessageBox(hwnd, "获得黄钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i][j - 1] = 15;
			map[i][j] = 1;
			role.ys_yellow++;
		}
		else if (map[i][j - 1] == 5)
		{
			int mid = MessageBox(hwnd, "获得蓝钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i][j - 1] = 15;
			map[i][j] = 1;
			role.ys_blue++;
		}
		else if (map[i][j - 1] == 13)  //******************红宝石
		{
			int mid = MessageBox(hwnd, "获得红宝石!,攻击上升4点", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.gj += 4;
			map[i][j - 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j - 1] == 2 && role.ys_yellow > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_yellow--;
			map[i][j - 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j - 1] == 3 && role.ys_blue > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_blue--;
			map[i][j - 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j - 1] == 6)     //******************红血瓶
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 220;
			map[i][j - 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j - 1] == 7)
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 100;
			role.mp += 100;
			map[i][j - 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j - 1] == 16)
		{
			map[i][j - 1] = 15;
			map[i][j] = 1;
			cleardevice();
			++level;
			pd = 0;
			return;
		}
		else if (map[i][j - 1] == 8)
		{
			int ID = MessageBox(hwnd, "遇到绿史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(lslm) == true)
				{
					map[i][j - 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j - 1] == 9)
		{
			int ID = MessageBox(hwnd, "遇到红史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(hslm) == true)
				{
					map[i][j - 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j - 1] == 10)
		{
			int ID = MessageBox(hwnd, "遇到蝙蝠怪,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(bfg) == true)
				{
					map[i][j - 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j - 1] == 18)
		{
			int ID = MessageBox(hwnd, "遇到大法师,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(dfs) == true)
				{
					map[i][j - 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j - 1] == 11)
		{
			int ID = MessageBox(hwnd, "遇到骷髅兵,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(klb) == true)
				{
					map[i][j - 1] = 15;
					map[i][j] = 1;
				}
				else
				{

					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		break;
		//************************************************右
	case 'D':
	case 'd':
	case 77:
		if (map[i][j + 1] == 1) //空地可以走
		{
			map[i][j] = 1;
			map[i][j + 1] = 15;
		}
		else if (map[i][j + 1] == 4)
		{
			int mid = MessageBox(hwnd, "获得黄钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i][j + 1] = 15;
			map[i][j] = 1;
			role.ys_yellow++;
		}
		else if (map[i][j + 1] == 5)
		{
			int mid = MessageBox(hwnd, "获得蓝钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i][j + 1] = 15;
			map[i][j] = 1;
			role.ys_blue++;
		}
		else if (map[i][j + 1] == 13)  //******************红宝石
		{
			int mid = MessageBox(hwnd, "获得红宝石!,攻击上升4点", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.gj += 4;
			map[i][j + 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j + 1] == 2 && role.ys_yellow > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_yellow--;
			map[i][j + 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j + 1] == 3 && role.ys_blue > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_blue--;
			map[i][j + 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j + 1] == 6)     //******************红血瓶
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 220;
			map[i][j + 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j + 1] == 7)
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 100;
			role.mp += 100;
			map[i][j + 1] = 15;
			map[i][j] = 1;
		}
		else if (map[i][j + 1] == 8)
		{
			int ID = MessageBox(hwnd, "遇到绿史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(lslm) == true)
				{
					map[i][j + 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j + 1] == 9)
		{
			int ID = MessageBox(hwnd, "遇到红史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(hslm) == true)
				{
					map[i][j + 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j + 1] == 10)
		{
			int ID = MessageBox(hwnd, "遇到蝙蝠怪,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(bfg) == true)
				{
					map[i][j + 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j + 1] == 18)
		{
			int ID = MessageBox(hwnd, "遇到大法师,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(dfs) == true)
				{
					map[i][j + 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i][j + 1] == 11)
		{
			int ID = MessageBox(hwnd, "遇到骷髅兵,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(klb) == true)
				{
					map[i][j + 1] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		break;
		//************************************************上
	case 'W':
	case 'w':
	case 72:
		if (map[i - 1][j] == 1) //空地可以走
		{
			map[i][j] = 1;
			map[i - 1][j] = 15;
		}
		else if (map[i - 1][j] == 4)
		{
			int mid = MessageBox(hwnd, "获得黄钥匙!", "提示", NULL);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i - 1][j] = 15;
			map[i][j] = 1;
			role.ys_yellow++;
		}
		else if (map[i - 1][j] == 5)
		{
			int mid = MessageBox(hwnd, "获得蓝钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i - 1][j] = 15;
			map[i][j] = 1;
			role.ys_blue++;
		}
		else if (map[i - 1][j] == 13)  //******************红宝石
		{
			int mid = MessageBox(hwnd, "获得红宝石!,攻击上升4点", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.gj += 4;
			map[i - 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i - 1][j] == 2 && role.ys_yellow > 0)
		{
			mciSendString("play ./src/open.mp3 ", 0, 0, 0);
			//mciSendString("close open.mp3", 0, 0, 0);
			role.ys_yellow--;
			map[i - 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i - 1][j] == 3 && role.ys_blue > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_blue--;
			map[i - 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i - 1][j] == 6)     //******************红血瓶
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 220;
			map[i - 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i - 1][j] == 7)
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 100;
			role.mp += 100;
			map[i - 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i - 1][j] == 8)
		{
			int ID = MessageBox(hwnd, "遇到绿史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(lslm) == true)
				{
					map[i - 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i - 1][j] == 9)
		{
			int ID = MessageBox(hwnd, "遇到红史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(hslm) == true)
				{
					map[i - 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i - 1][j] == 10)
		{
			int ID = MessageBox(hwnd, "遇到蝙蝠怪,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(bfg) == true)
				{
					map[i - 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i - 1][j] == 18)
		{
			int ID = MessageBox(hwnd, "遇到大法师,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(dfs) == true)
				{
					map[i - 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i - 1][j] == 11)
		{
			int ID = MessageBox(hwnd, "遇到骷髅兵,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(klb) == true)
				{
					map[i - 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		break;
		//************************************************下
	case 'S':
	case 's':
	case 80:
		if (map[i + 1][j] == 1) //空地可以走
		{
			map[i][j] = 1;
			map[i + 1][j] = 15;
		}
		else if (map[i + 1][j] == 4)
		{
			int mid = MessageBox(hwnd, "获得黄钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i + 1][j] = 15;
			map[i][j] = 1;
			role.ys_yellow++;
		}
		else if (map[i + 1][j] == 5)
		{
			int mid = MessageBox(hwnd, "获得蓝钥匙!", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			map[i + 1][j] = 15;
			map[i][j] = 1;
			role.ys_blue++;
		}
		else if (map[i + 1][j] == 13)  //******************红宝石
		{
			int mid = MessageBox(hwnd, "获得红宝石!,攻击上升4点", "提示", MB_OK);
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.gj += 4;
			map[i + 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i + 1][j] == 2 && role.ys_yellow > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_yellow--;
			map[i + 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i + 1][j] == 3 && role.ys_blue > 0)
		{
			mciSendString("play ./src/open.mp3", 0, 0, 0);
			role.ys_blue--;
			map[i + 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i + 1][j] == 6)     //******************红血瓶
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 200;
			map[i + 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i + 1][j] == 7)
		{
			mciSendString("play ./src/eat.mp3", 0, 0, 0);
			role.hp += 100;
			role.mp += 100;
			map[i + 1][j] = 15;
			map[i][j] = 1;
		}
		else if (map[i + 1][j] == 8)
		{
			int ID = MessageBox(hwnd, "遇到绿史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(lslm) == true)
				{
					map[i + 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i + 1][j] == 9)
		{
			int ID = MessageBox(hwnd, "遇到红史莱姆,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(hslm) == true)
				{
					map[i + 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i + 1][j] == 10)
		{
			int ID = MessageBox(hwnd, "遇到蝙蝠怪,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(bfg) == true)
				{
					map[i + 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i + 1][j] == 18)
		{
			int ID = MessageBox(hwnd, "遇到大法师,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(dfs) == true)
				{
					map[i + 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		else if (map[i + 1][j] == 11)
		{
			int ID = MessageBox(hwnd, "遇到骷髅兵,是否攻击", "提示", MB_YESNO);
			if (ID == IDYES)
			{
				mciSendString("play ./src/attack.mp3", 0, 0, 0);
				if (bloodpk(klb) == true)
				{
					map[i + 1][j] = 15;
					map[i][j] = 1;
				}
				else
				{
					int beginid = MessageBox(hwnd, "英雄,你已经阵亡了,你是否复活", "提示", MB_YESNO);
				}
			}
			else
				int mid = MessageBox(hwnd, "菜鸡,此路不通!!!", "提示", MB_OK);
		}
		break;
	case 'Q':
	case 'q':
		SaveMap();
		break;
	case 'T':
		LoadSaveMap();
		break;
	case 'E':
		EXIT();
		break;
	}

}

太多了,不贴了。
写的匆忙,就没怎么封装代码,无所谓了✧*。٩()و✧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌晨小街

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值