KarelListProgram (KarelOOP2)

Retired DISLab
이동: 둘러보기, 찾기
package cp.java.week10;
 
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
 
import hufs.dislab.karel.IKarel;
import hufs.dislab.karel.IKarelProgram;
import hufs.dislab.karel.SimpleKarel;
 
@SuppressWarnings("serial")
public class KarelListProgram extends IKarelProgram {
	List<IKarel> list = new LinkedList<IKarel>();
	// list = new Vector<IKarel>();
	// list = new ArrayList<IKarel>();
 
	@Override
	protected void onInit() {
		int width = getWorldWidth();
		int height = getWorldHeight();
 
		IKarel karel = getIKarel();
		list.add(karel);
 
		karel = new SimpleKarel("K2", 1, height, EAST);
		addIKarel(karel);
		list.add(karel);
 
		karel = new SimpleKarel("K3", width, height, WEST);
		addIKarel(karel);
		list.add(karel);
 
		karel = new SimpleKarel("K4", width, 1, WEST);
		addIKarel(karel);
		list.add(karel);
		list.add(karel);
	}
 
	@Override
	protected void onStart() {
		for (int i = 0; i < list.size(); i++) {
			IKarel karel = list.get(i);
			karel.move();
		}
 
		Iterator<IKarel> it = list.iterator();
		while (it.hasNext()) {
			IKarel karel = it.next();
			karel.turnAround();
		}
 
		ListIterator<IKarel> it2 = list.listIterator();
		while (it2.hasNext()) {
			IKarel karel = it2.next();
			karel.move();
		}
 
		while (it2.hasPrevious()) {
			IKarel karel = it2.previous();
			karel.turnAround();
		}
	}
 
	public static void main(String[] args) {
		IKarelProgram.main(args, new SimpleKarel("K1"));
	}
}
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기