提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
![]() |
この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。
|
クラウドリストとは、クラウド変数の拡張版で、文字列が入れられるリストのことである。 ここではクラウドリストにユーザー名を入れる方法を紹介する。
クラウドリスト作成方法
文字の設定
クラウドリストは数字しか書き込めないので、文字列を数列化してクラウドリストに入れる。
[変数 v] を (0) にする [文字コード v] の すべてを削除する::list [使用可能な文字 v] を [abcdefghijklmnopqrstuvwxyz0123456789-_] にする//ユーザー名はa~z,0~9,-,_を使用できるのでこの文字を登録する。 (9) 回繰り返す//今回は文字コードを2桁ずつ読み込むので、実装を簡単にするため1桁の1~9は文字コードとして使いません。 () を [文字コード v] に追加する end ((使用可能な文字::variables)の長さ::operators) 回繰り返す [変数 v] を (1)ずつ変える ((使用可能な文字)の(変数)番目の文字) を [文字コード v] に追加する end
数字二桁に一文字ずつ割り当てる場合、
文字を割り当てるのは01~99、00には「改行」の意味をもたせるのが一般的である。
ここでは実装を簡単にするため01~09にはなんの意味も持たせない。
保存を行う
クラウドリストに保存させるためのプログラムは少し長い。 保存する度に長いプログラムを使うのは面倒なので、定義にした方が分かりやすい。
定義 保存 (保存する文字) [変数 v] を (0) にする [一時保存 v] を (00) にする ((保存する文字)の長さ) 回繰り返す [変数 v] を (1) ずつ変える [一時保存 v] を ((一時保存) と ([文字コード v] 中の ((保存する文字) の (変数) 番目の文字) の場所)) にする end [☁データ v] を ((☁データ) と (一時保存)) にする
読み込みを行う
保存の時と同様、プログラムが少し長いので定義を使用する。
定義 読み込み (読み込む数値) [変数 v]を () にする//変数は空白もしくは0を代入する (((読み込む数値::define)の長さ)/(2)) 回繰り返す [一時保存 v] を (((読み込む数値::define)の((変数)+(1))番目の文字)と((読み込む数値::define)の((変数)+(2))番目の文字)) にする もし <(一時保存::variables)=(00)> なら [クラウドリスト v]に()を追加する::list//ここの引数は空白にしておく でなければ [一時保存 v]を([文字コード v]の(一時保存::variables)番目)にする::variables [クラウドリスト v]の ([クラウドリスト v]の長さ::list)番目を(([クラウドリスト v]の([クラウドリスト v]の長さ::list)番目)と(一時保存))で置き換える::list end [変数 v]を (2) ずつ変える end
スクリプトの例
ここではこれまでのプログラムを使ってスクリプトを組んでみる。
@greenflagが押されたとき [変数 v] を (0) にする//文字の設定。定義にしてもよい。 [文字コード v] の すべてを削除する::list [使用可能な文字 v] を [abcdefghijklmnopqrstuvwxyz0123456789-_] にする (9) 回繰り返す () を [文字コード v] に追加する end ((使用可能な文字::variables)の長さ::operators) 回繰り返す [変数 v] を (1)ずつ変える ((使用可能な文字)の(変数)番目の文字) を [文字コード v] に追加する end ...//ここはクラウドリストではないので自分でスクリプトを組もう 保存(ユーザー名::sensing)::custom 保存(点数::variables)::custom @greenflagが押されたとき ずっと 読み込み(☁データ::variables)::custom end
クラウドリストを使う上での注意点
クラウドチャット
クラウドリストを用いて、チャットを作ることは禁止されている。
ただし、定型文式チャットだけはその限りではない。
クラウド変数の更新頻度
クラウド変数への代入は、0.1秒以下で行うと、変更したはずの値が変更されていないなどのトラブルが発生する可能性がある。
念のため、0.3秒おきくらいに代入するのがベストだろう。
文字列の長さの制限
クラウド変数には入れられる値の長さに制限が存在するため、大量の文字列を扱う際などは複数のクラウド変数を用いらなければならない。クラウド変数を最大の10個使用するとなると保存できる文字数は2560文字である。1人20文字だと仮定するとこのクラウド変数には最大で128人のデータを保存できる。