- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是一名学生,正在开发一款 Chutes and Ladders 游戏。我正在使用方法来确定应该在游戏板上放置多少个滑槽和梯子。我在 main using 参数中为每个参数指定了 10 个,但我一直在 6 到 11 之间的任何地方放置。
这两种方法是否相互干扰?
或者我为随机放置设置 for 循环的方式有问题吗?
我是这个网站的新手,如果您需要更多说明,请告诉我,我不想将整个程序放在这里。谢谢。
//main
ChutesAndLadders cl = new ChutesAndLadders();
cl.setBoard(new String[100]);
cl.makeChutes(10);
cl.makeLadders(10);
//methods
public String [] board;
private int chutes, ladders;
public int position;
public Random rand = new Random();
//set board
public void setBoard(String [] n){
board = n;
for(int i = 0; i < board.length; i++)
board[i] = " ";
}
//set and place chutes
public void makeChutes(int n){
chutes = n;
for(int i = 0; i <= chutes; i++)
board[rand.nextInt(board.length)] = "C" + chutes;
}
//set and place ladders
public void makeLadders(int n){
ladders = n;
int lcell = 0;
for(int i = 0; i <= ladders; i++)
board[rand.nextInt(board.length)] = "L" + ladders;
最佳答案
首先,你写道:
for(int i = 0; i <= chutes; i++)
board[rand.nextInt(board.length)] = "C" + chutes;
循环中的赋值语句会运行chutes+1次。 (在你的情况下是 11 次。)[使用 i < chutes
相反。] 这在你的梯子代码中是一样的。这解释了为什么在代码运行完成后您可能有多达 11 个滑槽或梯子。
其次,您没有注意防止同一空间被多次分配滑槽或梯子。 rand.nextInt(board.length)
不能保证每次运行时都生成唯一值(否则它不会真的是随机的。)这解释了为什么当代码运行完毕后您可能看不到多达 11 个滑槽和梯子。
为了使这一点更清楚,在其中放置一个常量值:
for(int i = 0; i < chutes; i++)
board[11] = "C" + chutes;
并注意您最终得到一个滑槽(在第 11 格)——除非梯子代码用梯子覆盖了它。
希望对您有所帮助。
祝你好运!
关于java - Chutes and Ladders 游戏随机放置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591684/
我有问题,我需要在哪里用不同的逻辑来实现梯子问题。 在每一步中,玩家必须向单词添加一个字母从上一步中删除一个字母,然后重新排列字母以组成一个新单词。 羊角面包(-C) -> 纵火犯(-S) -> ar
题目地址: https://leetcode.com/problems/word-ladder/description/ 题目描述: Given two words (beginWord and
我遇到了一个问题,当我想用nodejs、express和mysql以“阶梯”形式进行查询并返回一个json时,它对我不起作用,我想要的结构是: select dev_id*,dev_name fr
你们都知道梯子和鸡蛋的问题,您需要在梯子和鸡蛋中找到最高的梯级,使掉落的鸡蛋不会破裂。 问题在 stackoverflow 上针对 100 个梯级和 2 个鸡蛋的情况进行了解释,但是当你有一个无限梯子
我是一名学生,正在开发一款 Chutes and Ladders 游戏。我正在使用方法来确定应该在游戏板上放置多少个滑槽和梯子。我在 main using 参数中为每个参数指定了 10 个,但我一直在
问题: Given two words (beginWord and endWord), and a dictionary's word list, find all shortest transfo
我正在尝试修改我为一个玩家在 Swift 中为一个简单的蛇梯游戏创建的代码。下面是一个成功运行的代码: let finalSquare = 25 var playersLocation: Int =
我在看 tweetylicious source from github研究 Mojolicious 框架: 但是我对下面的代码感到困惑 ladder sub ... .它在 Perl 中是什么意思?
我有一个像这样的 Pandas 数据框: color cost temp 0 blue 12.0 80.4 1 red 8.1 8
这是我应该做的: 你的 friend 想尝试做一个字梯!这是一个单词列表,其中每个单词与其前面的单词有一个字母的差异。这是一个例子: cat cot cog log 编写一个程序来帮助你的 frien
我正在尝试解决所有关于 codility 的类(class),但我未能解决以下问题:Ladder by codility 我在整个互联网上进行了搜索,但没有找到令我满意的答案,因为没有人回答为什么最大
预期是从输入列表 items 派生 3 个列表 itemIsBoth、aItems、bItems。如何将下面的代码转换为功能样式? (我知道这段代码在命令式风格中已经足够清晰了,但我想知道声明式风格是
我是一名优秀的程序员,十分优秀!