문제
캐릭터가 칼(/), 창(->), 방패([), 활(D) 중 아이템 하나를 획득하기 위해 한 칸 이동하는 문제입니다 이를 해결하는 프로그램을 작성하세요 [참고] 옷 위치: 초기 \033[2;6f, 옷/ \033[1;6f, 옷], 옷-> \033[3;6f, \033[2;1f, 옷D \033[2;10f
/
[ 옷 D
->
LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: LEFT
옷] 방패 획득
/
[ 옷 D
->
LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: UP
옷/ 칼 획득
/
[ 옷 D
->
LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: DOWN
옷-> 창 획득
알고리즘 설계
프로그램 시작
먼저, 캐릭터의 초기 위치를 출력
이동 방향 입력 받기
이동 결과 출력
프로그램 종료
// 파일명 : ./Chapter20/DirectionType.java
import java.util.Scanner;
public class DirectionType
{
// 열거형으로 방향키 목록 정의
enum Direction { LEFT, left, RIGHT, right, UP, up, DOWN, down };
// 프로그램 시작
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\n" );
// 이동 방향 입력 받기
System.out.print( "LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: " );
3 Direction move = Direction.valueOf( scan.next() );
// 이동 결과 출력
4 switch( move ) {
5 case UP : case up :
System.out.print( "\n 옷/ 칼 획득 " );
6 break;
7 case DOWN : case down :
System.out.print( "\n 옷-> 창 획득" );
8 break;
9 case LEFT : case left :
System.out.print( "\n 옷] 방패 획득" );
10 break;
11 case RIGHT : case right :
System.out.print( "\n 옷D 활 획득" );
12 break;
}
scan.close();
// 프로그램 종료
13 }
}
실행 순서 확인