Scratch スライドパズル課題1

Scratch だい

課題内容

空白に隣接するブロックをクリックすると移動する

解答

解答を表示する

背景に追加

[入れ替え v]を受け取ったとき [入替元値 v]を([状態 v]の(入替元場所)番目)にする [入替先値 v]を([状態 v]の(入替先場所)番目)にする [状態 v]の(入替元場所)番目を(入替先値)で置き換える [状態 v]の(入替先場所)番目を(入替元値)で置き換える [移動方向 v]を受け取ったとき もし<((((クリック)-(1))/(4))の[切り下げ v]::operators)=((((空白)-(1))/(4))の[切り下げ v]::operators)>なら もし<(クリック)<(空白)>なら [間隔 v]を(-1)にする でなければ [間隔 v]を(1)にする end (空白移動 v)を送って待つ でなければ もし<(((クリック)-(1))を(4)で割った余り)=(((空白)-(1))を(4)で割った余り)>なら もし<(クリック)<(空白)>なら [間隔 v]を(-4)にする でなければ [間隔 v]を(4)にする end (空白移動 v)を送って待つ end end [空白移動 v]を受け取ったとき <(クリック)=(空白)>まで繰り返す [入替元場所 v]を((空白)+(間隔))にする [入替先場所 v]を(空白)にする (入れ替え v)を送って待つ [空白 v]を((空白)+(間隔))にする end

ブロックに追加

クローンされたとき ずっと <<(マウスのポインター v)に触れた>かつ<マウスが押された>>まで待つ [クリック v]を(識別番号)にする [空白 v]を([状態 v]中の(16)の場所)にする (移動方向 v)を送って待つ (盤面更新 v)を送って待つ <<<(マウスのポインター v)に触れた>かつ<マウスが押された>>ではない>まで待つ end

サンプル

sb3ダウンロード