예제
<script>
/*
[문제]
철수는 지금 게임을 하고 있습니다.
게임 속 캐릭터는 동, 서, 남, 북 네 방향으로 이동할 수 있습니다.
캐릭터의 현재 위치는 x = 5, y = 5 입니다.
여기서 x는 좌우 방향(동/서), y는 상하 방향(남/북)을 의미합니다.
1부터 4 사이의 랜덤 숫자를 변수 a에 저장합니다.
변수 a는 이동할 방향을 의미하며,
a가 1이면 동쪽(x좌표 증가),
a가 2이면 서쪽(x좌표 감소),
a가 3이면 남쪽(y좌표 감소),
a가 4이면 북쪽(y좌표 증가) 입니다.
또한 1부터 10 사이의 랜덤 숫자를 변수 b에 저장합니다.
변수 b는 캐릭터의 이동 거리를 뜻합니다.
위 조건을 바탕으로 switch문을 사용하여 캐릭터가 이동한 위치를 출력하시오.
*/
/*
[출력예시]
a = 2
b = 3
=> 서쪽으로 3칸 이동하면, 현재 위치는 x = 2, y = 5
[출력예시]
a = 4
b = 7
=> 북쪽으로 7칸 이동하면, 현재 위치는 x = 5, y = 12
*/
let x = 5;
let y = 5;
let a = 0;
let b = 0;
</script>
HTML
복사
정답
<script>
/*
[문제]
철수는 지금 게임을 하고 있습니다.
게임 속 캐릭터는 동, 서, 남, 북 네 방향으로 이동할 수 있습니다.
캐릭터의 현재 위치는 x = 5, y = 5 입니다.
여기서 x는 좌우 방향(동/서), y는 상하 방향(남/북)을 의미합니다.
1부터 4 사이의 랜덤 숫자를 변수 a에 저장합니다.
변수 a는 이동할 방향을 의미하며,
a가 1이면 동쪽(x좌표 증가),
a가 2이면 서쪽(x좌표 감소),
a가 3이면 남쪽(y좌표 감소),
a가 4이면 북쪽(y좌표 증가) 입니다.
또한 1부터 10 사이의 랜덤 숫자를 변수 b에 저장합니다.
변수 b는 캐릭터의 이동 거리를 뜻합니다.
위 조건을 바탕으로 switch문을 사용하여 캐릭터가 이동한 위치를 출력하시오.
*/
/*
[출력예시]
a = 2
b = 3
=> 서쪽으로 3칸 이동하면, 현재 위치는 x = 2, y = 5
[출력예시]
a = 4
b = 7
=> 북쪽으로 7칸 이동하면, 현재 위치는 x = 5, y = 12
*/
let x = 5;
let y = 5;
let a = 0;
let b = 0;
a = Math.floor(Math.random() * 4) + 1;
b = Math.floor(Math.random() * 10) + 1;
document.write("a = ", a, "<br>");
document.write("b = ", b, "<br>");
switch(a){
case 1:
x = x + b;
break;
case 2:
x = x - b;
break;
case 3:
y = y - b;
break;
case 4:
y = y + b;
break;
}
document.write("x = ", x, "<br>");
document.write("y = ", y, "<br>");
</script>
HTML
복사