思路:
1、再定义两个变量,用于存放玩家的坐标的备份(值)。
2、在地图模块中,把玩家的坐标赋给玩家的备份,对当前坐标进行备份。
3、因为在地图模块中,按下Enter键移动后,玩家的坐标会根据方向随之改变。所以先检测玩家是否撞墙(当玩家的值等于墙的值),把现在玩家的值赋值给之前备份的坐标,实现玩家坐标不在根据方向改变。
// 2021.2.24(作业).cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;
#define KEY_DOWN(vk_code) GetAsyncKeyState(vk_code)&0x8000?1:0
int _tmain(int argc, _TCHAR* argv[])
{
int nMenuState = 0;//用于控制箭头
int nGameState = 0;//用于控制界面
int nPlayerRow = 7;//定义玩家的行
int nPlayerCol = 10;//定义玩家的列
int nRowX = 0;
int nRowY = 0;
int arrMap[15][20] = {
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,