playgrounds
//値を増やす@コードを学ぼう2 var gemCounter = 0 while !isBlocked { while !isBlocked { if isOnGem { collectGem() gemCounter += 1 } moveForward() } turnRight() }
//値を増やす@コードを学ぼう2 var gemCounter = 0 for i in 1 ... 5 { moveForward() collectGem() gemCounter += 1 }
//記録する@コードを学ぼう2 var gemCounter = 0 moveForward() moveForward() collectGem() gemCounter = 1
//右に行くか、左に行くか@コードを学ぼう1 func aaa() { if !isBlocked { } else if isBlocked && isBlockedLeft { turnRight() } else if isBlocked && isBlockedRight { turnLeft() } else { turnLeft() } } while !isOnOpenSwitch { aaa() if isOnGem {…
//どっちの手を使う?@コードを学ぼう1 func walk() { if !isOnClosedSwitch { moveForward() } else if isOnClosedSwitch && !isBlocked { toggleSwitch() turnRight() moveForward() } else if isOnClosedSwitch && isBlocked { toggleSwitch() turnLeft()…
//迷路を解く@コードを学ぼう1 func navigateAroundWall() { if isBlockedRight && !isBlocked { moveForward() } else if isBlockedRight && isBlocked { turnLeft() moveForward() } else if isBlocked { turnRight() moveForward() } else { turnRight()…
//アルゴリズムを直す@コードを学ぼう1 func navigateAroundWall() { if isBlockedRight && !isBlocked { moveForward() } else if isBlockedRight && isBlocked { turnLeft() moveForward() } else if isBlocked { turnRight() moveForward() } else { tur…
//右手法@コードを学ぼう1 func navigateAroundWall() { if isBlockedRight { moveForward() } else { turnRight() moveForward() } } while !isOnClosedSwitch { navigateAroundWall() if isOnGem { collectGem() turnLeft() turnLeft() } } toggleSwitch()
//どんな方法でも@コードを学ぼう1 while !isOnGem { moveForward() if isOnClosedSwitch { toggleSwitch() } if isBlocked { turnRight() } } collectGem()
//ランダムな四角形@コードを学ぼう1 while !isOnClosedSwitch { while !isBlocked { moveForward() } turnRight() } toggleSwitch()
//ループをネストする@コードを学ぼう1 while !isBlocked { while !isOnGem { moveForward() } turnLeft() collectGem() }
//方法はたくさん@コードを学ぼう1 func a() { while !isBlocked { moveForward() if isOnGem || isOnClosedSwitch { collectGem() toggleSwitch() } } } a() turnRight() moveForward() turnRight() a() turnLeft() moveForward() turnLeft() a()
//回る@コードを学ぼう1 func s() { moveForward() collectGem() turnLeft() moveForward() collectGem() turnLeft() moveForward() turnRight() } for i in 1 ... 4 { s() }
//2つのループ@コードを学ぼう1 for i in 1 ... 4 { for i in 1 ... 3 { moveForward() } if isOnClosedSwitch { toggleSwitch() } turnRight() }
//正しいループを使う@コードを学ぼう1 func turnAndCollectGem() { moveForward() turnLeft() moveForward() collectGem() turnRight() } while !isBlocked { turnAndCollectGem() }
//whileループをじょうずに使う@コードを学ぼう1 while !isBlocked { if isOnClosedSwitch { toggleSwitch() } moveForward() }
//条件を決めてコードをループする@コードを学ぼう1 while isOnClosedSwitch { toggleSwitch() moveForward() }
//論理の迷宮@コードを学ぼう1 for i in 1 ... 8 { moveForward() if isOnGem && isOnClosedSwitch { turnRight() moveForward() moveForward() collectGem() turnLeft() turnLeft() moveForward() moveForward() turnRight() toggleSwitch() collectGem() …
//一方でも正しければ合格@コードを学ぼう1 for i in 1 ... 12 { if isBlockedLeft || isBlocked { turnRight() moveForward() } moveForward() if isOnGem { collectGem() } } youtu.be
//両方正しければ合格@コードを学ぼう1 for i in 1 ... 7 { moveForward() if isBlockedLeft && isOnGem { turnRight() moveForward() moveForward() toggleSwitch() turnLeft() turnLeft() moveForward() moveForward() turnRight() } if isOnGem { collec…
//NOTで周る@コードを学ぼう1 for i in 1 ... 16 { if !isBlocked { moveForward() } else { turnLeft() } } toggleSwitch() youtu.be
//NOT演算子を使う@コードを学ぼう1 for i in 1 ... 4 { moveForward() if !isOnGem{ turnLeft() moveForward() moveForward() collectGem() turnRight() turnRight() moveForward() moveForward() turnLeft() } collectGem() } 関数を二つ定義してみた。 f…
繰り返しや関数にしたほうがいいコードです。 //繰り返しを探す@コードを学ぼう1 func s() { if isOnClosedSwitch { toggleSwitch() } else if isOnGem { collectGem() } } for i in 1 ... 2 { moveForward() s() turnRight() moveForward() moveForward() …
//囲まれる@コードを学ぼう1 func collectOrToggle() { if isOnClosedSwitch { toggleSwitch() } else if isOnGem { collectGem() } } func turnAround() { turnLeft() turnLeft() } moveForward() turnRight() moveForward() turnAround() for i in 1 ... …
//関数をじょうずに使う@コードを学ぼう1 func collectOrToggle() { if isOnClosedSwitch { toggleSwitch() } else if isOnGem { collectGem() } } func moveOrCollectOrToggle() { for i in 1 ... 2 { moveForward() moveForward() collectOrToggle() } } …
//階段を上がる条件を探す@コードを学ぼう1 for i in 1 ... 16 { if isOnGem { collectGem() turnLeft() moveForward() } else { moveForward() } } youtu.be
//条件分岐コードをループする@コードを学ぼう1 for i in 1 ... 12 { moveForward() if isOnClosedSwitch { toggleSwitch() }else if isOnGem { collectGem() } } youtu.be
//else ifを使う@コードを学ぼう1 for i in 1 ... 2 { moveForward() if isOnClosedSwitch { toggleSwitch() } else if isOnGem { collectGem() } } youtu.be
//スイッチを調べる@コードを学ぼう1 for i in 1 ... 5 { //もし切れているスイッチの上にいる(isOnXlosedSwitch)場合、 //スイッチを入れて、前へ進め if isOnClosedSwitch { toggleSwitch() moveForward() //そうでないなら(切れているスイッチの上で…
//4つの場所に4つの宝石@コードを学ぼう1 for i in 1 ... 4 { moveForward() collectGem() moveForward() collectGem() turnLeft() turnLeft() moveForward() turnRight() moveForward() collectGem() turnLeft() turnLeft() moveForward() moveForward() c…