JAVA 프로그래밍

문제

캐릭터가 칼(/), 창(->), 방패([), 활(D) 중 아이템 하나를 획득하기 위해 한 칸 이동하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요 [참고] 옷 위치: 초기 \033[2;6f, 옷/ \033[1;6f, 옷], 옷-> \033[3;6f, \033[2;1f, 옷D \033[2;10f
      / 
  [   옷   D
      -> 
LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: left
      / 
 옷]       D
      -> 

      / 
  [   옷   D
      -> 
LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: UP
      옷/ 
  [        D
      -> 

      / 
  [   옷   D
      -> 
LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: DOWN
      / 
  [        D
      옷-> 

알고리즘

프로그램 시작 
   먼저, 캐릭터의 초기 위치를 출력
   이동 방향 입력 받기
   이동 결과 출력
프로그램 종료

프로그램 코드

	// 파일명 : ./Chapter19/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" );
			 
			// 이동 방향 입력 받기 
			System.out.print( "LEFT, RIGHT, UP, DOWN 중 하나를 입력하세요: " );
3			Direction move = Direction.valueOf( scan.next() );
		 
			// 이동 결과 출력 
4			System.out.print( " \033[2;6f  " );
5			switch( move ) {
6				case UP : case up :
					System.out.print( " \033[1;6f 옷/ " );
7					break;
8				case DOWN : case down :
					System.out.print( " \033[3;6f 옷-> " );
9					break;
10				case LEFT : case left :
					System.out.print( " \033[2;1f 옷] " );
11					break;
12				case RIGHT : case right :
					System.out.print( "\033[2J\033[4;15fSUCCESS! " );
13					break;
			}
		 
			scan.close();
		// 프로그램 종료 
14		}
	}

실행 순서

 
 					※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다