タイムリミット3の流れ

 タイムリミット3の流れは、

スタートレイヤー制御
ダイナミックレイヤーの作成
[スタート]←[@経過時間]
[リミット]←[スタート]+300
[移動]←0
移動「基本」
基本ダイナミックレイヤーの消去 ID:1
([移動]=0なので)
{文章}:基本です。
サブルーチンコール「待つ」
待つ[残り]←[リミット]−[@経過時間]
[経過]←[@経過時間]−[スタート]
IF[残り]≦0
 [移動]←1
 サブルーチンから復帰
ENDIF
メッセージ表示:%経過%秒経過ー。残り%残り%秒ー。
メッセージ表示:$文章$(=基本です。)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
IF[停止]=[@経過時間]
 移動「待つ」
ENDIF
サブルーチンから復帰
 1.〔しばらく待つ〕直前から秒後に自動的に〔しばらく待つ〕解除。
 2.〔しばらく待つ〕直前から秒経過する前にダイナミックレイヤー以外の場所をクリックする。
 3.〔しばらく待つ〕直前から秒経過する前にEnter・Spaceキーを押す。
 4.どれかダイナミックレイヤーをクリックする。
 と、この時点で4パターンありえます。
 順に動作の続きを追ってみます。

 1の場合。
基本(略)
サブルーチン「待つ」
待つ[残り]←[リミット]−[@経過時間]
([残り>0なので])
(略)
メッセージ表示:$文章$(=基本です。)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
IF[停止]=[@経過時間]なので
 移動「待つ」
ENDIF
待つ[残り]←[リミット]−[@経過時間]
([残り>0なので])
(略)
メッセージ表示:$文章$(=基本です。)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
 と続いていきます。

 2の場合と3の場合は動作結果は同じです。
基本(略)
サブルーチン「待つ」
待つ[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
([停止]=[@経過時間]ではないので)
サブルーチンから復帰
移動「基本」
基本ダイナミックレイヤーの消去 ID:1
([移動]=0なので)
{文章}:基本です。
サブルーチンコール「待つ」
待つ[残り]←[リミット]−[@経過時間]
([残り>0なので])
(略)
メッセージ表示:$文章$(=基本です。)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
 と続いていきます。

 4の場合。
基本待つ[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
(Aクリック)
Aのダイナミックレイヤーは移動≠ネのでAに移動。
[移動]←2
サブルーチンから復帰
移動「基本」
基本ダイナミックレイヤーの消去 ID:1
IF[移動]=2
 移動「A中」
ENDIF
A中[移動]←0
ダイナミックレイヤーの作成:ID:1、移動「進む」、範囲はウィンドウ全体
{文章}:長くしてみました。
サブルーチンコール「待つ」
待つ[残り]←[リミット]−[@経過時間]
([残り>0なので])
(略)
メッセージ表示:$文章$(=長くしてみました。)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
IF[停止]=[@経過時間]
 移動「待つ」
ENDIF
サブルーチンから復帰

 ここからは。
 4→1の場合は前述と同様に、「待つ」が続いていきます。
 4→2の場合は、ありえません。全てダイナミックレイヤーで覆ってしまっているので。

 4→3の場合は
A中[移動]=0
(略)
サブルーチンコール「待つ」
待つ(略)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
([@経過時間]=[停止]ではないので)
サブルーチンから復帰
{文章}:他のダイナミックレイヤーは〜
サブルーチンコール「待つ」
待つ[残り]←[リミット]−[@経過時間]
([残り>0なので])
(略)
メッセージ表示:$文章$(=他のダイナミック〜)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
IF[停止]=[@経過時間]
 移動「待つ」
ENDIF
サブルーチンから復帰
 と続いていきます。

 4→4の場合、つまりウィンドウ内をとにかくクリックした場合は。
A中[移動]←0
ダイナミックレイヤーの作成:ID:1、移動「進む」、範囲はウィンドウ全体
{文章}:長くしてみました。
サブルーチンコール「待つ」
待つ(略)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
(ウィンドウ全体を覆っているダイナミックレイヤーをクリック)
進むダイナミックレイヤーは移動≠ネので「進む」に移動。
サブルーチンから復帰
{文章}:他のダイナミックレイヤーは〜
サブルーチンコール「待つ」
待つ([移動]=0なので)
[残り]←[リミット]−[@経過時間]
([残り>0なので])
(略)
メッセージ表示:$文章$(=他のダイナミック〜)
[停止]←[@経過時間]+
〔しばらく待つ〕秒経過・すべてのキー操作/マウスクリック有効
IF[停止]=[@経過時間]
 移動「待つ」
ENDIF
サブルーチンから復帰
 と続いていきます。

 タイムリミットになった時。
基本(略)
サブルーチン「待つ」
待つ([移動]=0なので)
[残り]←[リミット]−[@経過時間]
IF[残り]≦0 なので
 [移動]=1
 サブルーチンから復帰
ENDIF
ダイナミックレイヤーの消去 ID:1
IF[移動]=1 なので
 移動「オーバー」
ENDIF
オーバーダイナミックレイヤーの消去
メッセージ表示:(空白) (時間表示のレイヤー)
メッセージ表示:オーバー!
〔しばらく待つ〕

 もしくは
A中[移動]=0
ダイナミックレイヤーの作成:ID:1、移動「進む」、範囲はウィンドウ全体
{文章}:長くしてみました。
サブルーチンコール「待つ」
待つ([移動]=0なので)
[残り]←[リミット]−[@経過時間]
IF[残り]≦0 なので
 [移動]=1
 サブルーチンから復帰
ENDIF
{文章}:他のダイナミックレイヤーは〜
サブルーチンコール「待つ」
待つIF[移動]=1 なので
 サブルーチンから復帰
ENDIF
{文章}:また一時停止〜
サブルーチンコール「待つ」
待つIF[移動]=1 なので
 サブルーチンから復帰
ENDIF
{文章}:⇒「B」に続く
サブルーチンコール「待つ」
待つIF[移動]=1 なので
 サブルーチンから復帰
ENDIF
{文章}:「A」終了。
サブルーチンコール「待つ」
待つIF[移動]=1 なので
 サブルーチンから復帰
ENDIF
移動「基本」
基本ダイナミックレイヤーの消去 ID:1
IF[移動]=1 なので
 移動「オーバー」
ENDIF
オーバーダイナミックレイヤーの消去
メッセージ表示:(空白) (時間表示のレイヤー)
メッセージ表示:オーバー!
〔しばらく待つ〕
 になります。