大宮盆栽デイズ - Omiya Bonsai Days -

冗談めかす埼玉のファインマン

決まった数だけ集める@コードを学ぼう2

//決まった数だけ集める@コードを学ぼう2
let totalGems = randomNumberOfGems
var g = 0

//関数rGo(), r=Right
//行き止まり、かつ、左に壁がある場合
//右に向いて前進
func rGo() {
    if isBlockedLeft && isBlocked {
        turnRight()
    }
    moveForward()
}

func lGo() {
    if isBlockedRight && isBlocked {
        turnLeft()
    }
    moveForward()
}

while g != totalGems {
    for i in 1 ... 5 {
        rGo()
        if isOnGem {
            collectGem()
            g += 1
        }
    }
    
    for i in 1 ... 5 {
        lGo()
        if isOnGem {
            collectGem()
            g += 1
        }
    }
}