【发布时间】:2019-08-14 04:04:49
【问题描述】:
我正在制作 Rock Paper Scissors 游戏。我已经测试了某些部分,它们似乎是分开工作的,但不是一起工作的。
我不知道该尝试什么,但我尝试了不同的方法来生成数字。
constructor() {
super();
this.state = {
rockPaperScissorsComputer: ['rock','paper','scissors'],
random: null
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
const min = 1;
const max = 100;
const random = min + (Math.random() * (max - min));
this.setState({ random })
}
render() {
return (
<div>
<button value="Click me!" onClick={this.handleClick}>Click me</button>
<h1> {this.state.rockPaperScissorsComputer[this.state.random]} </h1>
</div>
);
}
每次单击按钮时它都应该显示rock/paper/scissors,但没有显示任何内容。
【问题讨论】:
-
您正在生成一个介于 0 和 100 之间的随机数,而您的
rockPaperScissors数组只有 3 个元素。您应该生成一个介于 0 - 2 之间的随机数,如下所示:Math.floor(Math.random() * 3) -
是的,有效。我应该看到的。谢谢!
-
我已经提交了一个答案,其中包含一些改进您的代码的其他建议
标签: javascript reactjs random