2009年08月07日
講座の復習っす
8/4(火)のスクリプト講座(@New Script)後半の
NuclearRobotKaffir2(オブジェクトの名前)っす。
コネコネしたっす。
どうもぺんぎんっす( ◎v◎ )
最後に出てきた「左手法」っす。
1.真っ直ぐ進む
2.左に道があれば左に回転して1.へ
3.正面に水路があれば
A.左に道があれば左に回転
B.左に道がなければ右に回転
→正面に水路がある限り3.へ
そうでない(正面が道)ならば1.へ
間違いがあればツッコんでくださいっす。
この方法だと「解けない問題」もあるっす。
たとえば
水水水水水水水水水水
水道道道道道道道★水
水道水水水道水水水水
水道水☆道道水水水水
水道水水水道水水水水
水道道道道道水水水水
水水水水水水水水水水
☆・・・スタート位置
★・・・ゴール
道・・・道
水・・・水路
こんな問題だった場合、永遠にゴールできないっすよね?
8/8追記
この配置だと、スタートとゴールを入れ替えても解けない問題っす。
グルグルとループしちゃうわけっすから、
どこからか脱出できれば解決するっす。
「通ってきた経路を記録するのは禁止(できない)」
という条件のもとで、ループから抜けれるんっすかね?
図がわかりにくくて申し訳ないっす・・・
NuclearRobotKaffir2(オブジェクトの名前)っす。
コネコネしたっす。
どうもぺんぎんっす( ◎v◎ )
最後に出てきた「左手法」っす。
1.真っ直ぐ進む
2.左に道があれば左に回転して1.へ
3.正面に水路があれば
A.左に道があれば左に回転
B.左に道がなければ右に回転
→正面に水路がある限り3.へ
そうでない(正面が道)ならば1.へ
間違いがあればツッコんでくださいっす。
この方法だと「解けない問題」もあるっす。
たとえば
水水水水水水水水水水
水道道道道道道道★水
水道水水水道水水水水
水道水☆道道水水水水
水道水水水道水水水水
水道道道道道水水水水
水水水水水水水水水水
☆・・・スタート位置
★・・・ゴール
道・・・道
水・・・水路
こんな問題だった場合、永遠にゴールできないっすよね?
8/8追記
この配置だと、スタートとゴールを入れ替えても解けない問題っす。
グルグルとループしちゃうわけっすから、
どこからか脱出できれば解決するっす。
「通ってきた経路を記録するのは禁止(できない)」
という条件のもとで、ループから抜けれるんっすかね?
図がわかりにくくて申し訳ないっす・・・
使えるものだけでは自分は出来なかったっす。
脱出方法が分かった方がいれば、火曜日に教えてくださいっす。
使えるもの
・front 1マス直進
・left 左に90°回転
・right 右に90°回転
・for N N回繰り返す
・if 条件 条件が真の場合実行
・while 条件 条件が真の間繰り返す
この3つはendで閉じる必要があるっす。
・isRoad チェックする場所 チェックする場所が道?
・isWater チェックする場所 チェックする場所が水路?
脱出方法が分かった方がいれば、火曜日に教えてくださいっす。
使えるもの
・front 1マス直進
・left 左に90°回転
・right 右に90°回転
・for N N回繰り返す
・if 条件 条件が真の場合実行
・while 条件 条件が真の間繰り返す
この3つはendで閉じる必要があるっす。
・isRoad チェックする場所 チェックする場所が道?
・isWater チェックする場所 チェックする場所が水路?
Posted by ぺんぎん at 23:29│Comments(2)
│ぺんぎん
この記事へのコメント
左手法でスタートに戻ったら、右手法に変えるとか??
Posted by 伍曜 at 2009年08月08日 10:10
[スタートに戻った]ことは直接取れないっす。
何回曲がった&何歩進んだってことも取れないっすから詰まってるっす。
1.から3.の処理をwhile trueで回さずに、forで大きい数Nやったあと、左手→右手でやる・・・
ダメっぽいっすねぇ(何となく)
begin
while true
for N
左手法で解く
end
for N
右手法で解く
end
end
end
何回曲がった&何歩進んだってことも取れないっすから詰まってるっす。
1.から3.の処理をwhile trueで回さずに、forで大きい数Nやったあと、左手→右手でやる・・・
ダメっぽいっすねぇ(何となく)
begin
while true
for N
左手法で解く
end
for N
右手法で解く
end
end
end
Posted by ぺんぎん
at 2009年08月09日 23:13
