KarelMapProgram (KarelOOP2)

Retired DISLab
Swpark (토론 | 기여) 사용자의 2020년 10월 20일 (화) 23:12 버전
(비교) ← 이전 판 | 현재 판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기
package cp.java.week10;
 
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
 
import hufs.dislab.karel.IKarel;
import hufs.dislab.karel.IKarelProgram;
import hufs.dislab.karel.SimpleKarel;
 
@SuppressWarnings("serial")
public class KarelMapProgram extends IKarelProgram {
	Map<String, IKarel> map = new HashMap<String, IKarel>();
 
	@Override
	protected void onInit() {
		IKarel karel = (IKarel) getKarel();
		map.put("kim", karel);
 
		karel = new SimpleKarel();
		addIKarel(karel, 1, 3, EAST, 0);
		map.put("hong", karel);
 
		karel = new SimpleKarel();
		addIKarel(karel, 1, 5, EAST, 0);
		map.put("lee", karel);
 
		karel = new SimpleKarel();
		addIKarel(karel, 1, 7, EAST, 0);
		map.put("park", karel);
	}
 
	@Override
	protected void onStart() {
		Scanner scan = new Scanner(System.in);
		IKarel karel;
		String name, cmd;
 
		while (true) {
			System.out.print("  Karel: ");
			name = scan.nextLine();
			if (name != null && name.equals("exit"))
				break;
 
			System.out.print("Command: ");
			cmd = scan.nextLine();
 
			karel = map.get(name);
			if (karel == null)
				continue;
			if (cmd.equals("turn"))
				karel.turnLeft();
			else if (cmd.equals("move"))
				karel.move();
		}
	}
 
	public static void main(String[] args) {
		IKarelProgram.main(args, new SimpleKarel());
	}
}
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기