[英]Roll 3 die 50 times and store each in an array and display in html
I need to simulate rolling 3 die 50 times, storing each in an array, and displaying the results in a table. 我需要模拟滚动3个模具50次,将每个模具存储在一个数组中,并将结果显示在表格中。 I also need to display the results of each instance added together.
我还需要显示添加在一起的每个实例的结果。 Ex on roll 1 for each I got 3+4+2 = 9. I have some code, but it won't display.
每卷第1卷,我得到3 + 4 + 2 = 9.我有一些代码,但它不会显示。 I'm not sure what's wrong with it.
我不确定它有什么问题。
<!--
var array1 = new Array(50);
var array2 = new Array(50);
var array3 = new Array(50);
var array4 = new Array(50);
function roll()
{
var face = Math.floor( (Math.random() *6) + 1);
return face;
}
for( var i = 0; i < array.length; i++)
{
array1[i] = roll();
}
for( var i = 0; i < array.length; i++)
{
array2[i] = roll();
}
for( var i = 0; i < array.length; i++)
{
array3[i] = roll();
}
for( var i = 0; i < array.length; i++)
{
array4[i] = array1[i] + array2[i] + array3[i];
}
//Making table
document.write('<table border="1" cellspacing="1" cellpadding="5">')
//Loops through array object and writes values in appropriate table cells
for(var i = 0; i < 50; i++)
{
document.write('<tr>')
document.write('<td>' + i + '</td>');
document.write('<td>' + array1[i] + '</td>');
document.write('<td>' + array2[i] + '</td>');
document.write('<td>' + array3[i] + '</td>');
document.write('<td>' + array4[i] + '</td>');
document.write('</tr>')
}
document.write('</table>')
You have an error in for( var i = 0; i < array.length; i++)
each time. 每次都有
for( var i = 0; i < array.length; i++)
。 replace them with for( var i = 0; i < array1.length; i++)
, for( var i = 0; i < array2.length; i++)
, for( var i = 0; i < array3.length; i++)
and for( var i = 0; i < array4.length; i++)
替换
for( var i = 0; i < array1.length; i++)
, for( var i = 0; i < array2.length; i++)
, for( var i = 0; i < array3.length; i++)
和for( var i = 0; i < array4.length; i++)
Your array
is not defined in each of the for
statements. 您的
array
未在每个for
语句中定义。 Change them accordingly: 相应地更改它们:
for( var i = 0; i < array1.length; i++)
{
array1[i] = roll();
}
for( var i = 0; i < array2.length; i++)
{
array2[i] = roll();
}
for( var i = 0; i < array3.length; i++)
{
array3[i] = roll();
}
for( var i = 0; i < array4.length; i++)
{
array4[i] = array1[i] + array2[i] + array3[i];
}
Also, you're missing a bunch of semicolons in your code. 此外,您在代码中缺少一堆分号。 Here's a working JSFiddle of your implementation.
这是一个有效的JSFiddle实现。
Reading your browser's developer tool's console will have helped you notice the error in question. 阅读浏览器的开发人员工具控制台将帮助您注意到有问题的错误。
Here's another way to possibly implement it: JSFiddle 这是另一种可能实现它的方法: JSFiddle
I had fun with this, and made a more generalized version for many dice: JSFiddle 我玩得很开心,为许多骰子制作了一个更通用的版本: JSFiddle
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.