ソラマメブログ
プロフィール
ぺんぎん
ぺんぎん
どもっす( ◎v◎ )
ぺんぎんっす。

「ぺんぎんさん」でいいっす。
「ぺんさん」でもOKっすよ。
何だって良いんっすけどね。
[個体名:Naoya Bellic]
(非商用)
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人

2009年08月07日

講座の復習っす

8/4(火)のスクリプト講座(@New Script)後半の
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 チェックする場所  チェックする場所が水路?


同じカテゴリー(ぺんぎん)の記事
 Server1.40で変わることっす (2010-07-27 22:11)
 1.23.5は引き続き使える模様っす (2010-06-26 20:48)
 締切まで残り10日っす (2010-05-20 22:37)
 6/6(日)にイベントやるっす (2010-05-11 04:44)
 第2四半期あれこれっす (2010-05-05 02:33)
 2.0.1出てたっすね (2010-04-23 22:43)

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
Posted by ぺんぎんぺんぎん at 2009年08月09日 23:13
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。