私はJavaScriptが初めてです。JavaScript の学習 (o'reilly) を通じて作業を進めてきましたが、初めての JavaScript を作成しようとしています。
私は自分が興味を持っていることに取り組むのが最善だと思っていましたが、それはかなり複雑であることが判明しました。
私は基本的に、ジーンスティーラーが彼とスペースマリーンの間に12歩あるスペースハルク(ボードゲーム)の状況を(最終的に)シミュレートしようとしています. 最初のステップでは、いずれかのダイスで 6 でジーンスティーラーを殺し、その後は 5 または 6 で殺します。サイコロの目が同じ場合、銃が詰まります。
ここで最初のステップをエミュレートしようとしています。問題はjamCheckにあると思います。
基本的に、これは != に変更しても常に true として出力され、常に銃が詰まっていることを示します。
変数を別のローカル変数に渡す必要があるかどうか疑問に思いましたが、これを行わなくても killCheck で機能します。(間違っているかもしれませんが、私はそれを試しました)
ここで本当に単純な問題が発生する可能性は十分にあります。
あなたが助けてくれることを願っています、または私を正しい方向に向けてください.
どうもありがとう!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>SH</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
//<![CDATA[
function diceRoll1() {
iValue = Math.random(); // random number between 0 and 1
iValue *= 6; // multiply by 6 to move the decimal
iValue = Math.floor(iValue)+1; // round to nearest integer. +1 to 1-6.
var roll1 = iValue;
document.getElementById('result1').innerHTML = 'Dice roll 1 : ' + roll1;
killCheck (roll1);
jamCheck (roll1);
return;
}
function diceRoll2() {
iValue = Math.random(); // random number between 0 and 1
iValue *= 6; // multiply by 6 to move the decimal
iValue = Math.floor(iValue)+1; // round to nearest integer. +1 to 1-6.
var roll2 = iValue;
document.getElementById('result2').innerHTML = 'Dice roll 2 : ' + roll2;
killCheck (roll2);
jamCheck (roll2);
return;
}
function killCheck(roll1,roll2){
if (roll1==6 || roll2==6)
{
document.getElementById('kill').innerHTML = 'GS KILLED';
}
return;
}
function jamCheck(roll1,roll2){
if (roll1 == roll2)
{
document.getElementById('jam').innerHTML = 'GUN JAMMED';
}
return;
}
//]]>
</script>
</head>
<body onload="diceRoll1();diceRoll2();killCheck();jamCheck();">
<p id="result1">Dice roll 1</p>
<p id="result2">Dice roll 2</p>
<p id="kill">GS ALIVE</p>
<p id="jam">GUN FINE</p>
</body>
</html>
編集:私は最終的に友人から多くの助けを借りてそこにたどり着きました。現在のコードは次のとおりです。
...
function getDiceValue() {
var diceValue = Math.random();
diceValue *= 6;
diceValue = Math.floor(diceValue) + 1;
return diceValue;
}
function killCheck(roll1, roll2) {
if (roll1 === 6 || roll2 === 6) {
document.getElementById('kill').innerHTML = 'GS KILLED';
}
return;
}
function jamCheck(roll1, roll2){
if (roll1 === roll2) {
document.getElementById('jam').innerHTML = 'GUN JAMMED';
}
return;
}
function rollDice() {
var roll1 = getDiceValue(),
roll2 = getDiceValue();
document.getElementById('result1').innerHTML = 'Dice roll 1 : ' + roll1;
document.getElementById('result2').innerHTML = 'Dice roll 2 : ' + roll2;
killCheck (roll1, roll2);
jamCheck (roll1, roll2);
}
//]]>
...
<body onload="rollDice();">