关于#访问冲突#的问题,如何解决?

0x00007FF60BACB903 处有未经处理的异常(在 期末大作业.exe 中): 0xC0000005: 读取位置 0x0000000200000006 时发生访问冲突。

#include<iostream>
#include<easyx.h>//图形界面头文件
#include<mmsystem.h>//多媒体头文件
#pragma comment(lib,"winmm.lib")//多媒体库文件

#define ROW 20
#define COL 37
#define SIZE 25 //字体大小
using namespace std;

int r = 17, c = 2, n = 1;//我的初始位置
//文字枚举编号
enum {
    空, 墙, 我, 门, 学, 会, 开, 是, 冒, 险, 的, 第, 一, 步, 们,
    始, 吧, 箱, 推, 障, 碍, 物, 无, 法, 试, 拖, 走, 小, 公, 举,
    床, 亚, 特, 兰, 蒂, 斯, 包, 电, 视, 桌, 要, 钱, 不, 命, 最, 
    新, 消, 息, :, 海, 平, 面, 正, 在, 下, 降, 里, 有, 本, C, 
    加, 大, 金, 戈, 波, 浪, 沙, 滩, 鱼, 鲨, 礁, 石, 水, 皮, 太,
    深, 了, 浅, 破, S, H, I, E, T,  R, L,
};
//用数组存放文字
const char* text[] = { 
    "  ", "墙", "我", "门", "学", "会", "开", "是", "冒", "险", "的", "第", "一", "步", "们",
    "始", "吧", "箱", "推", "障", "碍", "物", "无", "法", "试", "拖", "走", "小", "公", "举",
    "床", "亚", "特", "兰", "蒂", "斯", "包", "电", "视", "桌", "要", "钱", "不", "命", "最",
    "新", "消", "息", ":", "海", "平", "面", "正", "在", "下", "降", "里", "有", "本", "C",
    "加", "大", "金", "戈", "波", "浪", "沙", "滩", "鱼", "鲨", "礁", "石", "水", "皮", "太",
    "深", "了", "浅", "破", "S", "H","I", "E", "T", "R", "L", 

};
//地图
int map1[ROW][COL] = {
墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,礁,海,海,海,海,海,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,海,墙,空,空,空,空,C ,T ,R ,L ,:,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,浪,海,海,海,海,海,海,墙,空,空,空,S ,H ,I ,E ,T ,:,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,礁,海,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,石,海,空,空,鱼,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
门,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,浪,海,空,鱼,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,海,墙,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,滩,海,海,海,海,海,海,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,波,海,空,空,空,鲨,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,浪,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,空,空,空,空,海,空,鲨,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,包,电,视,箱,空,空,空,空,空,空,墙,空,空,空,沙,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,墙,墙,墙,门,墙,墙,墙,
墙,空,空,空,空,空,空,桌,桌,桌,空,墙,空,空,空,滩,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,墙,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,桌,桌,桌,空,墙,空,空,空,空,海,空,鲨,空,鲨,空,海,墙,空,空,空,空,空,空,墙,空,空,空,空,空,墙,
墙,床,我,空,空,空,空,桌,桌,桌,空,墙,空,空,空,沙,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,墙,空,小,公,举,床,墙,
墙,床,床,床,空,空,空,空,空,空,空,空,空,空,空,滩,海,海,海,海,海,海,海,墙,空,空,空,空,空,空,墙,空,床,床,床,床,墙,
墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,

};

int map2[ROW][COL] = {
墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,礁,海,海,海,海,海,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,海,墙,空,空,空,空,C ,T ,R ,L ,:,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,浪,海,海,海,海,海,海,墙,空,空,空,S ,H ,I ,E ,T ,:,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,礁,海,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,石,海,空,空,鱼,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,墙,墙,墙,空,空,空,空,空,空,空,空,海,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,浪,海,空,鱼,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,海,墙,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,滩,海,海,海,海,海,海,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,空,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,波,海,空,空,空,鲨,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,空,空,空,空,空,空,空,空,浪,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,空,空,空,空,海,空,鲨,空,空,空,海,墙,空,空,空,空,空,空,空,空,空,空,空,空,墙,
墙,包,电,视,箱,空,空,空,空,空,空,墙,空,空,空,沙,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,墙,墙,墙,门,墙,墙,墙,
墙,空,空,空,空,空,空,桌,桌,桌,空,墙,空,空,空,滩,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,墙,空,空,空,空,空,墙,
墙,空,空,空,空,空,空,桌,桌,桌,空,墙,空,空,空,空,海,空,鲨,空,鲨,空,海,墙,空,空,空,空,空,空,墙,空,空,空,空,空,墙,
墙,床,我,空,空,空,空,桌,桌,桌,空,墙,空,空,空,沙,海,空,空,空,空,空,海,墙,空,空,空,空,空,空,墙,空,小,公,举,床,墙,
墙,床,床,床,空,空,空,空,空,空,空,空,空,空,空,滩,海,海,海,海,海,海,海,墙,空,空,空,空,空,空,墙,空,床,床,床,床,墙,
墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,墙,

};
//输出二维数组
void GameDraw1() {
    BeginBatchDraw();//双缓冲防止画面闪烁卡顿
    cleardevice();//刷新界面
    for (int i = 0;i < ROW;i++)
        for (int j = 0;j < COL;j++)
            outtextxy(j * SIZE, i * SIZE, text[map1[i][j]]);
    EndBatchDraw();
}

void GameDraw2() {
    BeginBatchDraw();//双缓冲防止画面闪烁卡顿
    cleardevice();//刷新界面
    for (int i = 0;i < ROW;i++)
        for (int j = 0;j < COL;j++)
            outtextxy(j * SIZE, i * SIZE, text[map2[i][j]]);//问题显示在这一行
    EndBatchDraw();
}

void Move1(int a, int b) {
    //开门
    if (map1[r + a][c + b]== 门) {
        n = 0;
        //GameDraw2();
        //mciSendString("play door from  0",0,0,0);//开门音乐
    }
    //前面是空地时
    else if (map1[r + a][c + b] == 空) {
        map1[r + a][c + b] += 我;
        map1[r][c] -= 我;
        r += a;
        c += b;
    }
    //查看包(看电视开箱子同理)
    if (map1[r - 1][c] == 包) {
        map1[4][3] = 海, map1[4][4] = 门, map1[4][5] = 墙;
    }
}
void Move2(int a, int b) {
    //开门
    if (map2[r + a][c + b] == 门) {
        n = 0;
        //GameDraw2();
        //mciSendString("play door from  0",0,0,0);//开门音乐
    }
    //前面是空地时
    else if (map2[r + a][c + b] == 空) {
        map2[r + a][c + b] += 我;
        map2[r][c] -= 我;
        r += a;
        c += b;
    }
    //查看包(看电视开箱子同理)
    if (map2[r - 1][c] == 包) {
        map2[4][3] = 海, map2[4][4] = 门, map2[4][5] = 墙;
    }
}

int Gameplay1() {
    ExMessage m = { 0 };//窗口消息
    m = getmessage(EX_KEY);//只获取键盘的消息
    switch (m.message) 
    {
            case WM_KEYDOWN:   //按下键盘
                switch (m.vkcode)
                {
                case 'W':Move1(-1, 0);break;
                case 'S':Move1(1, 0);break;
                case 'A':Move1(0, -1);break;
                case 'D':Move1(0, 1);break;
                }
                break;
    }
    return 0;
}
int Gameplay2() {
    ExMessage m = { 0 };//窗口消息
    m = getmessage(EX_KEY);//只获取键盘的消息
    switch (m.message)
    {
    case WM_KEYDOWN:   //按下键盘
        switch (m.vkcode)
        {
        case 'W':Move2(-1, 0);break;
        case 'S':Move2(1, 0);break;
        case 'A':Move2(0, -1);break;
        case 'D':Move2(0, 1);break;
        }
        break;
    }
    return 0;
}
int main() {
    //mciSendString("open 文件名.mp3 alias bgm", 0, 0, 0);
    //mciSendString("open 文件名.mp3 alias door", 0, 0, 0);
    //mciSendString("setaudio bgm volume to 150", 0, 0, 0);
    //mciSendString("setaudio door volume to 150", 0, 0, 0);
    //mciSendString("play bgm repeat", 0, 0, 0);

    initgraph(COL * SIZE, ROW * SIZE);
    settextstyle(SIZE, 0, "微软雅黑");

    while ( n==1) {
        GameDraw1();
        Gameplay1();    
    }
    n = 1;
    while (n == 1) {
        GameDraw2();
        Gameplay2();
    }
    return 0;
}