Karel-4号

859 ワード



機能の整理

  • 右へ1格進むときcount+1サイクル
  • 左から半分からcount値
  • まで

    コード#コード#

    import stanford.karel.*;
    
    public class MidpointFindingKarel extends SuperKarel {
    
    	// You fill in this part
    	// 몇 칸 이동했는지 알기 위해서 count 변수 설정
    	int count;
    	
    	public void run() {
    		// 0으로 초기화
    		count = 0;
    		
    		while(true) {
    			// 앞이 막혀 있으면 while문 빠져 나오기
    			if(frontIsBlocked()) {
    				turnAround();
    				break;
    			}
    			// 막혀 있지 않으면 움직이고 count를 +1 해준다.
    			move();
    			count++;
    		}
    		
    		// 그리고 지금까지 움직인 거리의 1/2 만큼 움직이면 딱 반을 오게 된다.
    		for(int i=0; i < count/2 ; i++) {
    			move();
    		}
    		
    		putBeeper();
    	}
    
    
    }

    に感銘を与える


    毎回moveは+1をして、帰ってくるときは半分だけ戻るだけです.難しくないです.