提供: Japanese Scratch-Wiki

(応用編)
(使用例)
26行目: 26行目:
 
<scratchblocks>
 
<scratchblocks>
 
[あらら。買い物リストに間違いがあるようです。新しいリストをください] と (3) 秒言う
 
[あらら。買い物リストに間違いがあるようです。新しいリストをください] と (3) 秒言う
[項目v] を (0) にする
+
[項目 v] を (0) にする
 
([買い物リスト v] の長さ) 回繰り返す
 
([買い物リスト v] の長さ) 回繰り返す
 
[項目 v] を (1) ずつ変える
 
[項目 v] を (1) ずつ変える

2016年9月1日 (木) 17:05時点における版

() 番目( () )を () で置き換える
カテゴリ 変数
タイプ スタック
追加 Scratch 1.3

() 番目( () )を () で置き換えるブロックリストブロックスタックブロック)は、指定したリストの要素(アイテム、項目)を置き換える、つまり、要素の値をブロックで指定したテキストに変更するブロックである。

使用例

リスト内の個々の要素の値を変更したい場合は、このブロックが使用される。

() 番目( () )を () で置き換えるブロックのよくある使用例は次のとおり:

  • 要素を変更する(たとえば、リスト内の内容を入れ換える)
[買い物リストのどの項目を変更しますか?] と聞いて待つ
[変更する項目 v] を (答え) にする
[この項目を何に変更しますか?] と聞いて待つ
[新しい食品 v] を (答え) にする
(変更する項目) 番目([買い物リスト v])を (新しい食品) で置き換える


  • もともと存在するリストを再利用して、新しいリストを作成する
[あらら。買い物リストに間違いがあるようです。新しいリストをください] と (3) 秒言う
[項目 v] を (0) にする
([買い物リスト v] の長さ) 回繰り返す
[項目 v] を (1) ずつ変える
(項目) 番目( [買い物リスト v])を (((1) から (5) までの乱数) 番目([食品リスト v])) で置き換える
  • さまざまな情報が入ったリストの特定の項目だけを変更する
[Mikeがゴールしたよ!100mリレーの新記録だ!] と (4) 秒言う
(5 v) 番目([学校記録 v])を (リレータイム) で置き換える


  • リスト内の要素にテキストを追加する
(1 v) 番目([リスト v])を (((1 v) 番目([リスト v])) と (追加するテキスト)) で置き換える


  • 個々のクローンの座標を記録しておく
クローンされたとき
[id v] を (クローンの数) にする
[] を [クローンX v] に追加する
ずっと
もし <[左向き矢印 v]キーが押された> なら
x座標を (-2.5) ずつ変える
end
もし <[右向き矢印 v] キーが押された> なら
x座標を (2.5) ずつ変える
end
(id) 番目([クローンX v])を (x座標) で置き換える

別のブロックによる表現

詳細は「代用ブロック一覧」を参照

このブロックの動作は次のスクリプトで再現できる:

(変更する要素) 番目を [リスト v] から削除する
(追加後の内容) を (変更する要素) 番目に挿入する([リスト v])

応用

このブロックを、() 番目( () )ブロックと組み合わせて、次のようにすると、リストを特定の項目のところへスクロールさせることができる:

(スクロール先番号) 番目([リスト v])を ((スクロール先番号) 番目 ([リスト v]) ::list) で置き換える

参照

テンプレート:データブロック