Discuss Scratch
- yukku
-
Scratcher
1000+ posts
クラウドリスト 意見交換所
「プロジェクトを開いている人全員がサーバー」という意味で、全員データを持っています。
それで、新しくプロジェクトを開いたとき、最初にプロジェクトに入った人がいまのサーバーの状況を教えるのですが、「そのとき急に一番初めの人が失踪したときどうするか」というものです。
それで、新しくプロジェクトを開いたとき、最初にプロジェクトに入った人がいまのサーバーの状況を教えるのですが、「そのとき急に一番初めの人が失踪したときどうするか」というものです。
- yuukun0420
-
Scratcher
11 posts
クラウドリスト 意見交換所
クラウド変数は何文字入るのですか?
Last edited by yuukun0420 (Dec. 3, 2021 12:11:07)
- yamaguchi03
-
Scratcher
32 posts
クラウドリスト 意見交換所
New scratcher or scratcher の判定は
もし <(ユーザー名) = []> ならでできますよ 被ってたらすいません
[あなたはnew scratcher なのでゲームを強制終了します。] と言う
でなければ
以下 コード
end
- hirayuu1414
-
Scratcher
500+ posts
クラウドリスト 意見交換所
#46#45
それでは、サインインしているかしていないかの判定しかできません。
かぶっていると思いますが、正しくは↓
説明むずい
それでは、サインインしているかしていないかの判定しかできません。
かぶっていると思いますが、正しくは↓
@Greenflag がクリックされたときにして、☁︎スクラッチャー判定を0にして保存します。
もし <(ユーザー名) = [製作者の名前]> なら
[☁︎ スクラッチャー判定 v] を [1] にする
end
もし <(☁ スクラッチャー判定) = [1]> なら
以下動作 ::#909090
でなければ
[あなたはニュースクラッチャーか、もしくはサインインしていません] と (2) 秒言う
[すべて v] を止める
end
説明むずい
Last edited by hirayuu1414 (Dec. 18, 2021 00:14:31)
- hirayuu1414
-
Scratcher
500+ posts
クラウドリスト 意見交換所
#47
前者は普通にミスりました。
後者は、そうはなりません。
変数はクラウドなので、一回製作者がプログラムを作動させたら、
Scratcherなら、製作者が入れた変数1が反映され、
new scratcherなら、保存された時の変数0が反映されるので。
前者は普通にミスりました。
後者は、そうはなりません。
変数はクラウドなので、一回製作者がプログラムを作動させたら、
Scratcherなら、製作者が入れた変数1が反映され、
new scratcherなら、保存された時の変数0が反映されるので。
- qurlay
-
Scratcher
100+ posts
クラウドリスト 意見交換所
#48に追記:
ですが、そのプログラムだと原理的にはあっているのですが、初回時にはNewScratcherと反映されることもあるようです。inokingさんが作ったScratcher かどうかの判定もプログラムは同じですが他の人も初回時にNew Scratcherと反映されることもあるようです。
ですが、そのプログラムだと原理的にはあっているのですが、初回時にはNewScratcherと反映されることもあるようです。inokingさんが作ったScratcher かどうかの判定もプログラムは同じですが他の人も初回時にNew Scratcherと反映されることもあるようです。
- yamaguchi03
-
Scratcher
32 posts
クラウドリスト 意見交換所
#46#45
それでは、サインインしているかしていないかの判定しかできません。
かぶっていると思いますが、正しくは↓@Greenflag がクリックされたときにして、☁︎スクラッチャー判定を0にして保存します。
もし <(ユーザー名) = [製作者の名前]> なら
[☁︎ スクラッチャー判定 v] を [1] にする
end
もし <(☁ スクラッチャー判定) = [1]> なら
以下動作 ::#909090
でなければ
[あなたはニュースクラッチャーか、もしくはサインインしていません] と (2) 秒言う
[すべて v] を止める
end
説明むずい
いや それでもゲストでもクラウド変数は変えれますが、サーバーに保存できないだけで、自分のプロジェクト内でしかできないので、そうなりますよね
- yamaguchi03
-
Scratcher
32 posts
クラウドリスト 意見交換所
#46#45
それでは、サインインしているかしていないかの判定しかできません。
かぶっていると思いますが、正しくは↓@Greenflag がクリックされたときにして、☁︎スクラッチャー判定を0にして保存します。
もし <(ユーザー名) = [製作者の名前]> なら
[☁︎ スクラッチャー判定 v] を [1] にする
end
もし <(☁ スクラッチャー判定) = [1]> なら
以下動作 ::#909090
でなければ
[あなたはニュースクラッチャーか、もしくはサインインしていません] と (2) 秒言う
[すべて v] を止める
end
説明むずい
いや それでもゲストでもクラウド変数は変えれますが、サーバーに保存できないだけで、自分のプロジェクト内でしかできないので、そうなりますよね
New scratcherだと、サーバーに到達できないってことです。サーバーまでデータが到達しないので、画面ではサーバーに到達しているようにみえるだけだとおもいます
- inoking
-
Scratcher
1000+ posts
クラウドリスト 意見交換所
不思議でも何でもないですよ。
クラウド変数は
・Scratcher ならサーバーの値を
・そうでなければローカルの値を
参照するようになっているだけだと考えられます。
クラウド変数は
・Scratcher ならサーバーの値を
・そうでなければローカルの値を
参照するようになっているだけだと考えられます。
- umbrella_551
-
Scratcher
15 posts
クラウドリスト 意見交換所
こんにちは。あの私は1人1回しか押せないプログラム使って高評価ボタンを作りたいんですが、そのためにクラウドリストが必要なんですけど、作り方や仕組みがよくわかりません。誰か教えてくれませんか?

- hirayuu1414
-
Scratcher
500+ posts
クラウドリスト 意見交換所
wikiに頼らず、真面目に答えます。相当長文です。
まず、クラウドリストを作るには、「クラウド変数」の仕組みを知る必要があります。
↓クラウド変数は、こんなものですね。
この変数には、普通の変数とは違う特徴がいくつかあります。
・10個までしか作れない
・256文字しか入れられない(つまり、10*256で合計2560文字まで入る)
・数字しか入れられない
・Scratcherしか使えない(これはunbrella_551さんがScratcherなので関係ない)
・値が世界共通で、誰かが値を変えたら世界中でその値になる
くらいでしょうか。
これを使ってリストにしていきたいのですが、
ちょっと待ってください。
この変数、数字しか入れられないような…ユザネは入れられなく無いか…?
大丈夫。それであってます。
じゃあどうすればいいか。答えは簡単。ユザネを数字に変えるのです。
ユザネはa~z,0~9,-,_しか使えません。
では、a=1,b=2…のように、それぞれの文字を数字に変えればよいのではないか。
実装してみましょう。
「hirayuu1414」を数字に変換すると…
8918125212128312831
になります。
…あれれ?どこで区切ってるのかわからなくなったぞ?
大丈夫。そのとおりです。
原因は、a~iまでは1桁で、それ以降は2桁で変換していることです。
これだと解読が難しい、というかほぼ不可能なので、修正します。
1819281135313138413841
になります。
a…11,b…12と、2桁に揃うので解読も2つごとに区切ればよく、楽ちんです。
とりあえずここまでを実装してみましょう。続きはまた今度。
⚠正しいコードは下です。
まず、クラウドリストを作るには、「クラウド変数」の仕組みを知る必要があります。
↓クラウド変数は、こんなものですね。
(☁ score)このように最初の文字が☁の変数です。
この変数には、普通の変数とは違う特徴がいくつかあります。
・10個までしか作れない
・256文字しか入れられない(つまり、10*256で合計2560文字まで入る)
・数字しか入れられない
・Scratcherしか使えない(これはunbrella_551さんがScratcherなので関係ない)
・値が世界共通で、誰かが値を変えたら世界中でその値になる
くらいでしょうか。
これを使ってリストにしていきたいのですが、
ちょっと待ってください。
この変数、数字しか入れられないような…ユザネは入れられなく無いか…?
大丈夫。それであってます。
じゃあどうすればいいか。答えは簡単。ユザネを数字に変えるのです。
ユザネはa~z,0~9,-,_しか使えません。
では、a=1,b=2…のように、それぞれの文字を数字に変えればよいのではないか。
実装してみましょう。
定義 ユーザー名(ユザネ)を数字に変換はい。こうです。仕組みはわからなくても大丈夫ですが、とりあえず作ってみてください。もっと簡単な方法があるにはありますが、一番シンプルな方法を載せたまでです。
[count v] を [1] にする//ユザネの何文字目を調べているかを示す変数
[変換後のユザネ v] を [] にする//数字に変換後、それを保存する
((ユザネ) の長さ) 回繰り返す//文字数回繰り返す
[count2 v] を [1] にする//a=1,b=2...のように変換するための変数
<((count) 番目\( (ユザネ)\)の文字) = ((count2) 番目\( [abcdefghijklmnopqrstuvwxyz0123456789-_] \)の文字)> まで繰り返す
[count2 v] を (1) ずつ変える//上のabcd...はユザネで使える全ての文字
end
[変換後のユザネ v] を ((変換後のユザネ) と (count2))にする//先程の数値をこれまでの数列とつなげる
[count v] を (1) ずつ変える//次の文字を調べる
end
「hirayuu1414」を数字に変換すると…
8918125212128312831
になります。
…あれれ?どこで区切ってるのかわからなくなったぞ?
大丈夫。そのとおりです。
原因は、a~iまでは1桁で、それ以降は2桁で変換していることです。
これだと解読が難しい、というかほぼ不可能なので、修正します。
定義 ユーザー名(ユザネ)を数字に変換「hirayuu1414」を数字に変換すると…
[count v] を [1] にする
[変換後のユザネ v] を [] にする
((ユザネ) の長さ) 回繰り返す
[count2 v] を [1] にする
<((count) 番目\( (ユザネ)\)の文字) = ((count2) 番目\( [..........abcdefghijklmnopqrstuvwxyz0123456789-_] \)の文字)> まで繰り返す
[count2 v] を (1) ずつ変える//上の文字列の最初の.は10個
end
[変換後のユザネ v] を ((変換後のユザネ) と (count2))にする
[count v] を (1) ずつ変える
end
1819281135313138413841
になります。
a…11,b…12と、2桁に揃うので解読も2つごとに区切ればよく、楽ちんです。
とりあえずここまでを実装してみましょう。続きはまた今度。
⚠正しいコードは下です。
Last edited by hirayuu1414 (Jan. 16, 2022 07:33:10)










