「プレイヤーから逃げる敵」です。
 背景.png用に整えられています。途中の障害物は無い設定。
 斜めの四方向に1回1マス進み、緑色の部分には進めない。
 マス目は右にX軸、下にY軸、左上を(1,1)、右下を(11,15)に取っています。

 逃げる1は追う1より複雑です。
 単純にプレイヤーから遠ざかるマスへ進んでいくと、すぐマップの端にぶつかって、そこを行ったり来たりしている内にプレイヤーに捕まってしまいます。
 サンプルでは、プレイヤーとある程度近くなると遠ざかり、そうでなければランダムに動くようにしました。
 それでも敵の動きは不完全です。
 敵の逃げ方の難度を上げたい場合は、サイトの掲示板にてお問い合わせください。

 【オプション】のレイヤーの設定≠ナ、ユーザーレイヤーを2つ作っておきます。
 レイヤー名は〈敵〉と〈プ〉。(「プレイヤー」の「プ」)
 数値変数、文字列変数も【オプション】の変数の設定≠ナ作っておきます。
 [プX][プY]…プレイヤーがいるマスが何マス目か
 [敵X][敵Y]…敵がいるマスが何マス目か
 [X][Y]…移動先のマス目、マス目から換算した座標、乱数
 {番}…どちらの番か、敵の移動方法、移動可能場所

スタートページ」「XY」「」「1」「2」「3」「4」「」「」「4択」「」「12」「34」「13」「24」「14」「23」「123」「124」「134」「234」「終了」 +調整方法


「スタートページ」

スタートページ

 グラフィックの表示:背景.png 表示先:背景レイヤー
 [プX]← 1
 [プY]← 1
 [敵X]← 11
 [敵Y]← 15
 [X]←[プX]
 [Y]←[プY]
 サブルーチンコール「XY]
 レイヤー制御 対象レイヤー〈プ〉
 (レイヤーの表示状態〜∞レイヤーを表示する=Aレイヤーに画像を〜<v.png
  レイヤー位置々座標:%X%、Y座標:%Y%)
 [X]←[敵X]
 [Y]←[敵Y]
 サブルーチンコール「XY」
 レイヤー制御 対象レイヤー〈敵〉
 (レイヤーの表示状態〜∞レイヤーを表示する=Aレイヤーに画像を〜%G.png
  レイヤー位置々座標:%X%、Y座標:%Y%)
 移動「敵」

 最初に背景を表示し、プレイヤーと敵の初期位置を設定して、それぞれの画像を表示して、先手の敵から始めます。
 サンプルでは初期位置をプレイヤー(1,1)、敵(11,15)にしています。
「XY」

XY

 [X]←[X]×50
 [X]←[X]+ 9
 [Y]←[Y]×24
 [Y]←[Y]+27
 サブルーチンから復帰

 プレイヤーまたは敵がいるマス目から、キャラ画像を表示する座標を換算します。
 サンプルではプレイヤーも敵もプレイヤーの移動先も、一コマの中の同じ位置に表示しています。
 コミメカ3の座標は左上を(0,0)として右と下に数値が増えていきます。
 [X][Y]に何マス目かを入れておいて「XY」をサブルーチンコールし、座標に換算してサブルーチンから復帰します。
 サンプルでは[X]←[X]×509、[Y]←[Y]×2427にしています。
「プ」



 {番}:プ
 サブルーチンコール「四」
 マウスの入力を待つ(クリッカブル領域のみ)
 [プX]←[X]
 [プY]←[Y]
 サブルーチンコール「XY」
 レイヤー制御 対象レイヤー〈プ〉
 (レイヤーの表示状態<`ェック無し、レイヤー位置々座標:%X%、Y座標:%Y%)
 IF[プX]=[敵X]
  IF[プY]=[敵Y]
   移動「終了」
  ENDIF
 ENDIF
 移動「敵」

 プレイヤーの番です。
 文字列変数{番}にプレイヤーの番である印に「番」と入れて、「」をサブルーチンコール。
 プレイヤーが移動場所を選択するダイナミックレイヤーを「」で作成し、戻ります。
 プレイヤーが選択するのを待ち、選択したサブルーチンコール先でその場所が何マス目かを[X][Y]に入れて、[プX][プY]に移し。
 「XY」をサブルーチンコールして表示座標を換算して戻り、新しい位置に〈プ〉を移動させ、プレイヤーと敵の場所が同じであれば捕まえたので終了。
 そうでなければ、次の敵の番「」に移ります。
「1」「2」「3」「4」
1

 IF{番}=プ
  [X]←[プX]−1
  [Y]←[プY]−1
 ELSE
  [X]←[敵X]−1
  [Y]←[敵Y]−1
 ENDIF
 サブルーチンから復帰
3

 IF{番}=プ
  [X]←[プX]+1
  [Y]←[プY]−1
 ELSE
  [X]←[敵X]+1
  [Y]←[敵Y]−1
 ENDIF
 サブルーチンから復帰
2

 IF{番}=プ
  [X]←[プX]−1
  [Y]←[プY]+1
 ELSE
  [X]←[敵X]−1
  [Y]←[敵Y]+1
 ENDIF
 サブルーチンから復帰
4

 IF{番}=プ
  [X]←[プX]+1
  [Y]←[プY]+1
 ELSE
  [X]←[敵X]+1
  [Y]←[敵Y]+1
 ENDIF
 サブルーチンから復帰
 ダイナミックレイヤー作成予定場所、または移動先が何マス目かを[X][Y]に入れて、サブルーチンから復帰します。
 プレイヤーまたは敵から左上が「1」、左下が「2」、右上が「3」、右下が「4」です。
「敵」



 {番}:乱
 [X]←[プX]−[敵X]
 IF[X]<0
  [X]←0−[X]
 ENDIF
 [Y]←[プY]−[敵Y]
 IF[Y]<0
  [Y]←0−[Y]
 ENDIF
 IF[X]≦4
  IF[Y]≦4
  {番}:4
  ENDIF
 ENDIF
 サブルーチンコール「四」
 [敵X]←[X]
 [敵Y]←[Y]
 サブルーチンコール「XY」
 レイヤー制御 対象レイヤー〈敵〉
 (レイヤーの表示状態<`ェック無し、レイヤー位置々座標:%X%、Y座標:%Y%)
 移動「プ」

 敵の番です。
 文字列変数{番}に「乱」と入れておいて、プレイヤーと敵の距離を計算します。
 距離がX方向にもY方向にも4以内なら、プレイヤーから遠ざかるように移動する印に、{番}を「4」に変えます。
 「四」をサブルーチンコールし、{番}⊆乱ならランダムに、{番}⊆4なら遠ざかるように移動先を決定して、[X][Y]に入れて戻ります。
 [X][Y]を[プX][プY]に移し、「XY」をサブルーチンコールして表示座標を換算して戻り、新しい位置に〈敵〉を移動させます。
 次のプレイヤーの番「」に移ります。
「四」



 サブルーチンコール「1」
 IF[X]≠0
  IF[Y]≠0
   IF{番}=プ
    サブルーチンコール「XY」
    ダイナミックレイヤーの作成
   (イメージを表示=@X座標:%X%、Y座標:%Y% 画像:選択.png
    サブルーチンコール「1」 選択時に〜≠ノチェックする
   ELSE
    {番}:$番$1
   ENDIF
  ENDIF
  サブルーチンコール「2」
  IF[Y]≠16
   IF{番}=プ
    サブルーチンコール「XY」
    ダイナミックレイヤーの作成
   (イメージを表示=@X座標:%X%、Y座標:%Y% 画像:選択.png
    サブルーチンコール「2」 選択時に〜≠ノチェックする
   ELSE
    {番}:$番$2
   ENDIF
  ENDIF
 ENDIF
 サブルーチンコール「3」
 IF[X]≠12
  IF[Y]≠0
   IF{番}=プ
    サブルーチンコール「XY」
    ダイナミックレイヤーの作成
   (イメージを表示=@X座標:%X%、Y座標:%Y% 画像:選択.png
    サブルーチンコール「3」 選択時に〜≠ノチェックする
   ELSE
    {番}:$番$3
   ENDIF
  ENDIF
  サブルーチンコール「4」
  IF[Y]≠16
   IF{番}=プ
    サブルーチンコール「XY」
    ダイナミックレイヤーの作成
   (イメージを表示=@X座標:%X%、Y座標:%Y% 画像:選択.png
    サブルーチンコール「4」 選択時に〜≠ノチェックする
   ELSE
    {番}:$番$4
   ENDIF
  ENDIF
 ENDIF
 IF{番}=プ
  サブルーチンから復帰
 ENDIF
 IF{番}⊆4
  移動「4択」
 ENDIF
 移動「乱」

 プレイヤーの番で「」から「四」をサブルーチンコールした時は、移動先のダイナミックレイヤーを作成します。

 移動先の座標は、「1」(左上)「2」(左下)「3」(右上)「4」(右下)をそれぞれサブルーチンコールして[X][Y]に入れます。
 サンプルでは、(0,〜)(〜,0)(12,〜)(〜,16)は進めません。
 左上は(0,〜)(〜,0)でない時、左下は(0,〜)(〜,16)でない時、右上は(12,〜)(〜,0)でない時、右下は(12,〜)(〜,16)でない時にダイナミックレイヤーを作成して、「」に戻ります。

 敵の番で「」から「四」をサブルーチンコールした時は、四方向のマスに進めるかどうかを{番}に入れていきます。
 例えばプレイヤーと離れていてランダムに行き先を決める時、四方向とも進めるなら、{番}=乱1234と入ります。
 {番}に「4」が含まれている時は、四方向の内、遠ざかる方向に移動先を決めるので、「4択」に移動。
 {番}に「乱」が含まれている時はランダムに移動先を決めるので、「」に移動します。
「4択」

4択

 [X]←[プX]−[敵X]
 [Y]←[プY]−[敵Y]
 IF[X]=0
  IF[Y]>0
   移動「13」
  ELSE
    移動「24」
  ENDIF
 ENDIF
 IF[Y]=0
  IF[X]>0
   移動「12」
  ELSE
   移動「34」
  ENDIF
 ENDIF
 IF[X]>0
  IF[Y]>0
   IF{番}⊆1
    移動「1」
   ENDIF
   IF[X]>[Y]
    移動「12」
   ENDIF
   IF[X]<[Y]
    移動「13」
   ENDIF
   移動「23」
  ELSE
   [Y]←0−[Y]
   IF{番}⊆2
    移動「2」
   IF[X]>[Y]
    移動「12」
   ENDIF
   IF[X]<[Y]
    移動「24」
   ENDIF
   移動「14」
  ENDIF
 ENDIF
 [X]←0−[X]
 IF[Y]>0
  IF{番}⊆3
  移動「3」
 ENDIF
 IF[X]>[Y]
   移動「34」
  ENDIF
  IF[X]<[Y]
   移動「13」
  ENDIF
  移動「14」
 ENDIF
 [Y]←0−[Y]
 IF{番}⊆4
  移動「4」
 ENDIF
 IF[X]>[Y]
  移動「34」
 ENDIF
 IF[X]<[Y]
  移動「24」
 ENDIF
 移動「23」

 プレイヤーとの位置関係から、プレイヤーから遠ざかるマス目を選んで移動します。
 選び方については、移動一覧を参照してください。
 {番}に四方向の内、移動可能な方向の数値が入っているので、{番}から移動可能かどうかを判断して移動します。
「乱」



 [X]←[@乱数]mod 4
 IF[X]=0
  IF{番}⊆1
   移動「1」
  ENDIF
  移動「234」
 ENDIF
 IF[X]=1
  IF{番}⊆2
   移動「2」
  ENDIF
  移動「134」
 ENDIF
 IF[X]=2
  IF{番}⊆3
   移動「3」
  ENDIF
  移動「124」
 ENDIF
 IF{番}⊆4
  移動「4」
 ENDIF
 移動「123」
 敵の番、ランダムに移動先を決めます。
 乱数を4で割った余りから移動先を決め、そこが移動出来なければ残る3方向に進めるかを判断していきます。
「12」「34」「13」「24」「14」「23」

12

 IF{番}⊆1
  IF{番}⊆2
   [X]←[@乱数]mod 2
   IF[X]=0
    移動「1」
   ENDIF
   移動「2」
  ELSE
   移動「1」
  ENDIF
 ENDIF
 IF{番}⊆2
  移動「2」
 ENDIF
 移動「34」

 「12」は、1(左上)2(左下)が両方進めるなら、ランダムでどちらへ行くかを決めます。
 1だけ進めるなら1へ、2だけ進めるなら2へ進みます。
 どちらも進めなければ、3か4の2択へ移行します。
 「34」「13」「24」「14」「23」も同様です。
「123」「124」「134」「234」

「123」

 IF{番}⊆12
  IF{番}⊆3
   [X]←[@乱数]mod 3
   IF[X]=0
    移動「1」
   ENDIF
   IF[X]=1
    移動「2」
   ENDIF
   移動「3」
  ELSE
   移動「12」
  ENDIF
 ENDIF
 IF{番}⊆1
  移動「13」
 ENDIF
 移動「23」

 「123」は、1(左上)2(左下)3(右上)が全て進めるなら、ランダムでどこへ行くかを決めます。
 12が進めて3が進めないなら、「12」へ移動。
 {番}⊆12ではなく⊆1の時は、1○2×3○か1○2×3×なので、「13」へ移動。
 {番}⊆1でない時は、1×2○3○か1×2○3×か1×2○3×なので、「23」へ移動します。
 「124」「134」「234」も同様です。
「終了」

終了

 メッセージの表示:終了。
 移動「スタートページ」

 「」でプレイヤーが敵を捕まえたので、追いかけっこ終了です。
 「スタートページ」に戻ります。

調整方法

 調整のポイントは、
・マップのマス目の数
・キャラ画像の表示位置
・キャラの初期位置
・マップの形
 です。

・マップのマス目の数
 座標に揃えて、一番左がX1で右に増え、一番上がY1で下に増えていくように数を割り振ると後の計算が楽です。
 「」のオレンジ色の数値を、マップのマス目の数によって変えてください。
 9行13列に取るなら、IF[X]≠10(9+1)、IF[Y]≠14(13+1)、のようにします。

・キャラ画像の表示位置
 サンプルではマス目に対して、
[X]=[X]×509
[Y]=[Y]×2427
 に表示しています。
 「XY」の緑色の数値を変えてください。
 (1,1)に(150,170)、(2,2)に(250,270)で表示したい時は、
[X]=[X]×100+50
[Y]=[Y]×100+70
なので、
 [X]←[X]×100
 [X]←[X]+50
 [Y]←[Y]×100
 [Y]←[Y]+70
 のようにします。

・キャラの初期位置
 サンプルのマップの場合は、
  プ先手 プ(偶,偶)敵(奇,奇)
  プ先手 プ(奇,奇)敵(偶,偶)
  敵先手 プ(偶,偶)敵(偶,偶)
  敵先手 プ(奇,奇)敵(奇,奇)
 の4通りの内のどれかなら、敵はプレイヤーを捕まえることが出来ます。
 これら以外だと、プレイヤーの近くまで行っても捕まえられません。
 「スタートページ」の青文字の数値を、お好みの初期位置に変えてください。

・マップの形
 違う形の例としては、

 などがあります。
 この例はサンプルと同じように進められますが、初期位置は、
  プ先手 プ(偶,奇)敵(奇,偶)
  プ先手 プ(奇,偶)敵(偶,奇)
  敵先手 プ(偶,奇)敵(偶,奇)
  敵先手 プ(奇,偶)敵(奇,偶)
 の4通りの内のどれかになります。

・他
 敵を捕まえるまで何回移動したか、を出したい時は。
 数値変数[回]を作り、「スタートページ」で[回]←0にして、「プ」で「敵」に移動する前に[回]←[回]+1にしてメッセージの表示などで表示します。