저는 루프로 연습하고 있습니다. 나는 단순한 전함으로 재미있게 만들 것이라고 생각했습니다. 왜 그런지 모르겠지만 doBattle 루프는 다른 것을 경고하지 않고 battleMenu 만 호출합니다. 나는 무엇을 놓치고 오해 하는가? 코드 개선에 대한 권장 사항은 언제나 환영합니다.루프 만 첫 번째 문장을 실행합니다.
doBattle(player, goblin_01);
function battleMenu(){
selection = prompt("\n Battle menu\n1: Attack\n2: Defend\n3: Abilities\n4: Status\n5: Enemy Status\n Enter a choice: ");
// Checks for valid input
while (selection > 5 || selection < 1){
selection = prompt("Invalid choice.\n Enter a choice(1-5)");
}
}
function doBattle(x,y){
do { battleMenu();
switch(selection){
case 1: // do stuff
break;
case 2: // do other stuff
break;
case 3: // alternative stuff
break;
case 4: // not stuff but things
break;
case 5: // something irrelevant to the topic
break;
} // End of Selection Switch
} while // condition that became false
}
편집 : 첫번째 이안에 의해, 영업에 논평 한 것처럼, 문제는 내가 문자열을 전달하지만, 정수를 테스트 한 것이 었습니다. 형식을 변환하는 것을 잊었으며 짝수를 문자열로 입력했습니다. 이 사건으로 인해 코드가 복잡해 졌기 때문에 그 코드가 보류 상태 인 것으로 추정됩니다. 하지만 잘하면 지금은 사용 중입니다.
입니다 수 있습니다. – user2672165
'selection'은 ** case **와 ** numbers **를 사용하는 동안 문자열을 보유합니다. 문자열을 사용하도록 스위치/대소 문자를 변경하거나'prompt' 리턴 값을 숫자로 변환하십시오 – Ian
'프롬프트'앞에 '+'를 쓰면 "수정"됩니다 : http://jsfiddle.net/3m9Qb/- 그래도 코드에 더 많은 작업이 있습니다. – Ian