c# - 反向检查列表时数组索引超出范围
问题描述
所以在我之前的问题得到解决后,我去添加更多代码,我一直在尝试查看这里和其他地方,我找不到任何可以解释我的问题的东西,所以有没有办法制作这个代码
for (int j = 0; j < 4; j++) {
worldX = 0;
worldY = 0;
while (worldY != WorldHeight) {
while (worldX != WorldWidth) {
if (worldY > 0) {
if (worldX > 0) {
if (world[worldX-1, worldY-1] == 1 && genran.Next(genran.Next(genran.Next(-7,-1),genran.Next(0,2)),genran.Next(genran.Next(5,8),genran.Next(9,16))) > 6) { world[worldX, worldY] = 1;}
} if ((worldX + 1) < WorldWidth) {
if (world[worldX+1, worldY-1] == 1 && genran.Next(genran.Next(genran.Next(-7,-1),genran.Next(0,2)),genran.Next(genran.Next(5,8),genran.Next(9,16))) > 6) { world[worldX, worldY] = 1;}
}
}
worldX++;
}
worldX = 0;
worldY++;
}
}
变成这样的东西
for (int j = 0; j < 4; j++) {
worldX = WorldWidth;
worldY = WorldHeight;
while (worldY >= 0) {
while (worldX >= 0) {
if (worldY > 0) {
if (worldX > 0) {
if (world[worldX-1, worldY-1] == 1 && genran.Next(genran.Next(genran.Next(-7,-1),genran.Next(0,2)),genran.Next(genran.Next(5,8),genran.Next(9,16))) > 6) { world[worldX, worldY] = 1;}
} if ((worldX - 1) > 0) {
if (world[worldX+1, worldY-1] == 1 && genran.Next(genran.Next(genran.Next(-7,-1),genran.Next(0,2)),genran.Next(genran.Next(5,8),genran.Next(9,16))) > 6) { world[worldX, worldY] = 1;}
}
}
worldX--;
}
worldX = WorldWidth;
worldY--;
}
}
所以我不想从左上角开始,而是从右下角开始,然后从那里倒退
PS。我对其中的一些还是陌生的。
解决方案
推荐阅读
- angular - 如何使用角度按位检索各自的值
- python - 如何使用 Beautiful Soup 在 Python 中获取 span 标签内的文本
- arrays - 将数字数组拆分为具有接近值的几个部分
- vue.js - Getters 不工作,状态值不能在 Vuex 中改变
- xamarin - Xamarin Android System.TypeLoadException 后清除 Azure DevOps 应用程序构建上的存储
- java - 如何在 Android 和 AWS Lambda 之间共享请求/响应类
- php - 将简码添加到 WP (functions.php)
- javascript - 如何从 cloud-firestore 的集合中接收所有文档对象?
- c# - 将结构列表与类列表作为参数传递
- regex - 使用 map 和 grep 查找带下划线的文件名