캐릭터가 칼(/), 창(->), 방패([), 활(D) 중 아이템 하나를 획득하기 위해 한 칸 이동하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 [참고] 옷 위치: 초기 \033[2;6f, 옷/ \033[1;6f, 옷], 옷-> \033[3;6f, 옷] \033[2;1f, 옷D \033[2;10f
/ [ 옷 D -> WASD와 [Enter]를 입력하세요: a / 옷] D ->
/ [ 옷 D -> WASD와 [Enter]를 입력하세요: W 옷/ [ D ->
/ [ 옷 D -> WASD와 [Enter]를 입력하세요: s / [ D 옷->
프로그램 시작
먼저, 캐릭터의 초기 위치를 출력
이동 방향 입력 받기
WASD 입력에 따른 이동 결과 출력
W는 위로 이동
A는 왼쪽으로 이동
S는 아래로 이동
D는 오른쪽으로 이동
프로그램 종료
// 파일명 : ./Chapter05/WeaponItem.java
import java.util.Scanner;
public class WeaponItem
{
// 프로그램 시작
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
// 먼저, 캐릭터의 초기 위치를 출력
System.out.println( " / " );
System.out.println( " [ 옷 D" );
2 System.out.println( " -> \n" );
// 이동 방향 입력 받기
System.out.print( "방향키(WASD)와 [Enter]를 입력하세요: " );
3 char direction= scan.next().charAt(0);
// WASD 입력에 따른 이동 결과 출력
4 System.out.print( " \033[2;6f " );
5 switch( direction ) {
// W는 위로 이동
6 case 'w': case 'W':
7 System.out.print( " \033[1;6f 옷/ \033[7;15f" );
8 break;
// A는 왼쪽으로 이동
9 case 'a': case 'A':
10 System.out.print( " \033[2;1f 옷] \033[7;15f" );
11 break;
// S는 아래로 이동
12 case 's': case 'S':
13 System.out.print( " \033[3;6f 옷-> \033[7;15f" );
14 break;
// D는 오른쪽으로 이동
15 case 'd': case 'D':
16 System.out.print( " \033[2J \033[4;15fSUCCESS! \033[7;15f" );
}
scan.close();
// 프로그램 종료
17 }
}
※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다