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

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

階段を置く@コードを学ぼう2

//階段を置く@コードを学ぼう2
world.place(Stair(), facing: south, atColumn: 3, row: 3)
world.place(Stair(), facing: south, atColumn: 3, row: 1)
world.place(Stair(), facing: east, atColumn: 5, row: 6)
world.place(Stair(), facing: north, atColumn: 2, row: 7)
world.place(Stair(), facing: west, atColumn: 1, row: 4)


//180度の方向転換
func turnAround() {
    turnLeft()
    turnLeft()
}

//2歩進んで左に向く
func move2TurnLeft() {
    move(distance: 2)
    turnLeft()
}

//スイッチを入れたあと、コーナーに戻る
func toggleSwitches() {
    toggleSwitch()
    while !isBlocked {
        moveForward()
        toggleSwitch()
    }
    turnAround()
    move2TurnLeft()
    move2TurnLeft()
    move(distance: 2)
}

//基点となる場所まで進み、右を向く
func goToSwitch() {
    move(distance: 2)
    turnRight()
}


move(distance: 4)
turnLeft()
moveForward()

for i in 1 ... 3 {
    goToSwitch()
    toggleSwitches()
}

youtu.be