美文网首页
c#声明一个二维数组,存放游戏玩家可以行走的四个方向(前后左右)

c#声明一个二维数组,存放游戏玩家可以行走的四个方向(前后左右)

作者: Class_Lee | 来源:发表于2018-01-08 13:09 被阅读0次

    string[,] mapArray = new string[5, 5];

    //  数组初始化

    for (int i = 0; i < mapArray.GetLength (0); i++) {

    for (int j = 0; j < mapArray.GetLength (1); j++) {

    mapArray [i, j] = "*";

    }

    }

    // 初始化玩家位置

    mapArray [mapArray.GetLength (0) - 1, 0] = "#";

    //记录当前位置

    int x = 0;   // 列

    int y = mapArray.GetLength (0) - 1;   // 行

    while (true) {

    // 打印

    for (int i = 0; i < mapArray.GetLength (0); i++) {

    for (int j = 0; j < mapArray.GetLength (1); j++) {

    Console.Write (mapArray [i, j] + " ");

    }

    Console.WriteLine ();

    }

    Console.WriteLine ("请输入移动方向(wasd):");

    string dir = Console.ReadLine ();

    switch (dir) {

    case "w":

    if (y - 1 >= 0) {

    mapArray [y, x] = "*";

    mapArray [y - 1, x] = "#";

    // 重新记录当前位置

    y--;

    } else {

    Console.WriteLine ("你想上天啊!小伙子!");

    }

    break;

    case "s":

    if (y + 1 < mapArray.GetLength (0)) {

    mapArray [y, x] = "*";

    mapArray [y + 1, x] = "#";

    y++;

    } else {

    Console.WriteLine ("你想下地狱啊!");

    }

    break;

    case "d":

    if (x + 1 < mapArray.GetLength (1)) {

    mapArray [y, x] = "*";

    mapArray [y, ++x] = "#";

    } else {

    Console.WriteLine ("这是d的尽头了!");

    }

    break;

    case "a":

    if (x - 1 >= 0) {

    mapArray [y, x] = "*";

    mapArray [y, --x] = "#";

    } else {

    Console.WriteLine ("小伙子,到头了!傻逼");

    }

    break;

    default:

    break;

    }

    }

    相关文章

      网友评论

          本文标题:c#声明一个二维数组,存放游戏玩家可以行走的四个方向(前后左右)

          本文链接:https://www.haomeiwen.com/subject/giqbnxtx.html