2

X、Y、および Z が 3 に等しい場合、locationName は Sol に等しいはずですが、そうではありません。問題は変数名が更新されていないことにあると思いますが、それは別のものである可能性があります。

<!DOCTYPE html>
<html>
<head>
    <title>Jordan's Space Explorer </title>

</head>
<body>
  <button onclick="goNorth()">Go North</button>
  <button onclick="goSouth()">Go South</button>
  <button onclick="goEast()">Go East</button>
  <button onclick="goWest()">Go West</button>
  <button onclick="goUp()">Go Up</button>
  <button onclick="goDown()">Go Down</button>
  <button onclick="locationQuery()">Where am I?</button>
  <button onClick="quit"()>Quit</button>

</body>

<script> 

// Confirm user wants to play.
confirm("Do you want to play Jordan's Space Explorer?");

alert("The game is working.");

// Declare start location.
var locationY = 0;
var locationX = 0;
var locationZ = 0; 
var locationName = "in Space";


//Go directions
function goNorth(){
    locationY ++;
    console.log("You head North.");
}

function goSouth(){
    locationY --;
    console.log("You head South.");
}

function goEast(){
    locationX ++;
    console.log("You head East");
}   

function goWest(){
    locationX --;
    console.log("You head West");
}

function goUp(){
    locationZ ++;
    console.log("You go up.");
}

function goDown(){
    locationZ --;
    console.log("You go down.");
}
function locationQuery(){
    console.log("X" +locationX);
    console.log("Y" +locationY);
    console.log("Z" +locationZ);
    console.log("You are " +locationName);
}

// Encounters
if(locationX === 3 && locationY === 3 && locationZ === 3){
 locationName = "Sol";
 alert("Arrived at " + locationName);
}
if(locationX===0  && locationY===0  && locationZ===0){
    alert("It worked.");
}    




</script>

</html>

私はプログラミングが初めてで、助けていただければ幸いです。

4

2 に答える 2

1

// Encounters part問題は、初期化時に一度だけ実行することです。関数に入れる必要があります:

function encounters(){
 if(locationX === 3 && locationY === 3 && locationZ === 3){
  locationName = "Sol";
  alert("Arrived at " + locationName);
 }
 if(locationX===0  && locationY===0  && locationZ===0){
    alert("It worked.");
 }    
}

位置を変更するたびにその関数を呼び出します:

function goDown(){
    locationZ --;
    console.log("You go down.");
    encounters();
}
于 2013-12-18T12:12:42.523 に答える
0

で試してみてください、

function locationQuery(){
    console.log("X" +locationX);
    console.log("Y" +locationY);
    console.log("Z" +locationZ);
   // Encounters
 if(locationX === 3 && locationY === 3 && locationZ === 3){
  locationName = "Sol";
  alert("Arrived at " + locationName);
 }
  if(locationX===0  && locationY===0  && locationZ===0){
    alert("It worked.");
  }   
    console.log("You are " +locationName);

}

関数locationNameを呼び出して、指定された条件に対して更新するlocationQuery()

于 2013-12-18T12:19:29.770 に答える