2014-12-10 4 views
-4
function look() { 
var desc = ""; 
    switch(currentLoc) { 
     case 0 = name.Starting Room; 
      break; 
     case 1 = name.Forest; 
      break; 
     case 2 = name.Seagulls; 
      break; 
     case 3 = name.Ocean; 
      break; 
     case 4 = name.Resort;  
      break; 
     case 5 = name.Rock; 
      break; 
     case 6 = name.Wise Turtle; 
      break; 
     case 7 = name.Palm Tree; 
      break; 
     case 8 = name.Iglo; 
      break; 
     case 9 = name.sandBurrow; 
      break; 
     case 10 = name.End; 
      break; 
    default: desc = "You cannot go that way"; 
} 
disable_btns(); 

}내가 뭘 잘못 했니? catch되지 않은 오류 ReferenceError : 할당

이 내 프로젝트입니다 잘못된 왼쪽. 이 문제를 해결하는 방법을 모릅니다. 전체 코드를보고 싶다면 매트릭스에 추가하고 내 게임의 위치 형식을 변경 할 때까지이 코드가 작동하는 데 사용되는 원인이 될 수 있습니다. 그렇기 때문에 그 코드와 관련이 있습니다. 그러나 무엇을 알지 못합니다. 시간이 있다면 여기 https://github.com/rileyjgr/Games 전체 코드를 살펴보십시오. 도움에 감사드립니다>. < 내가 뭘 잤는지 몰라.

+3

코드 구문이 근본적으로 잘못되었습니다. 나는 당신이 [switch] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch)에 대한 참조를 읽을 것을 제안한다. – Phil

+1

그것은'switch'를 사용하는 방법이 아니다. – putvande

+0

이것은 내가 교수님에게 가르친 방법입니다 ... –

답변

1

= 대신 각 case 다음에 :이어야합니다.

나는 당신이 의미 추측하고있어 :

case 2: desc = name.Seagulls; 

그러나, 당신이 더 나은 배열을 사용하여 제공 될 수 있음을 보인다.

var data = [ 
    name.StartingRoom, 
    name.Forest, 
    name.Seagul, 
    name.Resort 
]; 

다음

var desc = data[currentLoc]; 
+0

Omg ... im so dumb –

+0

그래,하지만 그 배열을 사용한다면. 어떻게 행렬을 식별 할 수있어서 행렬이 그것을 뒤따를 수 있습니까? –

+0

필자가 아는 것은 값에 매핑 된 숫자 인덱스가 있다는 것입니다. 'name '이 나타내는 것은 무엇이든간에 각 값에 대한 개별 속성 대신 값의 배열을 가질 수 있습니다. 그래서 당신은'name.values ​​[currentLoc]'을 할 것입니다. –

0

나는 이것이 당신의 구조는 아마 당신이 name 개체가 가정, 어떻게 보일지 생각합니다. name 개체 속성 중 하나를 반환하려면 switchArg이 0-10과 일치해야합니다.

var name = {'Starting Room':'home', Forest:'trees', Seagulls:'birds', Ocean:'Pacific', Resort:'town', Rock:'and Roll', 'Wise Turtle':'slow', 'Palm Tree':'coconut', Iglo:'ice', sandBurrow:'What', End:'of Days'}; 
function returnFromSwitch(switchArg){ 
    switch(switchArg) { 
    case 0: 
     return name['Starting Room']; 
    case 1: 
     return name.Forest; 
    case 2: 
     return name.Seagulls; 
    case 3: 
     return name.Ocean; 
    case 4: 
     return name.Resort;  
    case 5: 
     return name.Rock; 
    case 6: 
     return name['Wise Turtle']; 
    case 7: 
     return name['Palm Tree']; 
    case 8: 
     return name.Iglo; 
    case 9: 
     return name.sandBurrow; 
    case 10: 
     return name.End; 
    default: 
     return 'Keep on Learning.'; 
    } 
} 
console.log(returnFromSwitch(5)); // 'and Roll' 

주, 당신은 내가 의도적으로 탈락이 기능에 disable_btns()를 사용한 경우 것으로, 그것은 함수가 값을 반환하기 전에 실행해야합니다. 기능 내부에서 스위치를 사용할 때는 break을 사용할 필요가 없습니다. 그 결과가 유일한 경우 return 값일 수 있습니다.