【发布时间】:2019-04-28 15:38:37
【问题描述】:
课堂作业让我们重新创建“Hunt The Wumpus”。射箭后,我可以选择将 Wumpus 留在原处,或者将 Wumpus 移至我当前所在的房间,或与我当前所在房间相邻的三个房间中的任何一个。
adjacentRooms = new int[,]
{
{1, 4, 7}, {0, 2, 9}, {1, 3, 11}, {2, 4, 13}, {0, 3, 5},
{4, 6, 14}, {5, 7, 16}, {0, 6, 8}, {7, 9, 17}, {1, 8, 10},
{9, 11, 18}, {2, 10, 12}, {11, 13, 19}, {3, 12, 14}, {5, 13, 15},
{14, 16, 19}, {6, 15, 17}, {8, 16, 18}, {10, 17, 19}, {12, 15, 18}
这是我拥有的数组。例如,假设我在 0 号房间(索引 0),而 wumpus 在 15 号房间(索引 15)。我射了一箭,没射中。 Wumpus 现在必须移动,他的选择是房间 15、房间 0、房间 1、房间 4、房间 7。我一直在尝试随机。接下来尝试在这 5 个之间产生一个随机数,但没有任何运气。我假设随机。下一个可能不是要走的路。如果有人能给我一些提示或帮助我,我将非常感激!
【问题讨论】:
-
回答我这个。你看过
Random文档吗? -
选择一个随机数
[0..5),并将房间移动到可用房间列表中(本例中有5个)该数字的index:例如。next_room = rooms[random.Next(rooms.Count)]; -
让我考虑一下。我会尽快回复你。谢谢
-
不需要指定一组特定的随机数,只需一个范围即可。考虑一下:
numbers = new [] {15, 0, 1, 4, 7 }; number = numbers[random.Next(5)];。随机生成在 range 中选择一个数字并使用它映射到值 - 在这种情况下是通过数组索引。 -
@user2864740 我得到了代码工作。感谢您的帮助!
标签: c#