Discuss Scratch
- Discussion Forums
- » 日本語
- » セーブコードについてみんなで話し合う場所1
- NT_ZZzz
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
#92を参考に作ってみました。保存する要素:変数1つ
多分#92の意図とはズレてますね
セーブコード:最低41桁 クラウドに保存する値:最低15桁 最高49桁(ユーザー名の長さ*2+1(区切り)+8)
#92の感じだと1セーブコードあたり8桁消費になります
ただ、一人1セーブコードに制限できないとセーブ連打荒らしとか出そうですね
スコアとユーザー名を紐付けして全て保存すると最低9桁(ユーザー名の長さ*2+1(区切り)+スコアの長さ+1(区切り))
で済むのでこの程度のデータでハッシュを使う意味はないです
クラウドリストの文字変換を変えればもっと入るけどそこまではやってない
そもそもセーブコードの文字数をユーザー名識別のために増やしているから参考にならない
多分#92の意図とはズレてますね
セーブコード:最低41桁 クラウドに保存する値:最低15桁 最高49桁(ユーザー名の長さ*2+1(区切り)+8)
#92の感じだと1セーブコードあたり8桁消費になります
ただ、一人1セーブコードに制限できないとセーブ連打荒らしとか出そうですね
スコアとユーザー名を紐付けして全て保存すると最低9桁(ユーザー名の長さ*2+1(区切り)+スコアの長さ+1(区切り))
で済むのでこの程度のデータでハッシュを使う意味はないです
クラウドリストの文字変換を変えればもっと入るけどそこまではやってない
そもそもセーブコードの文字数をユーザー名識別のために増やしているから参考にならない
Last edited by NT_ZZzz (Oct. 18, 2019 09:36:32)
競技プログラミングをやろう!処理速度を意識するとちょっと便利なことがあるかも!
ところで貴方が読んでるこの署名なんですけど、まだ進化を残してるらしいです。
とりあえずBBCodeを履修してからですね。進化はまだ遠いっぽいです。
ネコミミアイコンって いいなあ かわいい (心の俳句?)
そうだ、ScratchでScratch作ろう(唐突な大目標の提示はScratch歴5年の特権)(別にそうでもない)
しりとり→リスト リストの話します。 リストは便利だし使いやすい(←同じことじゃない?) 積極的に活用しよう!
リスト→トマト トマトが赤くなると医者が青くなる。医者が青くなったら桶屋が儲かる。桶屋はいつも儲かってる。
トマト→徳政令 徳政令カードが0円で買えるようになったよ!借金があったら近くのカード売り場に行こう!
徳政令→冷蔵庫 冷蔵庫は寒いと思っていませんか?実は排熱で温かいんですね。
冷蔵庫→コイン 硬貨はcoin、では紙幣は? billとかnoteとかpaper money(そのまんま)とか
- choriss55
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
たとえばAとBとCを別々に保存したくて改行コードとかって何ですかね?作品を見てみてもあんまりわからなくて…準備 クラウドリストはどうやって作るんですか?リストにクラウド機能はないと思うんですが…
①クラウド変数を作ります
②漢字やひらがなはチャット機能とみなされてしまうのでアルファベットと数字、アカウントに使える記号をかき出します
③その文字一つ一つをリストに入れます(これはクラウドリストではない)
④改行コードは00とします
コード化
①コード化したい文字数だけ繰り返す
コード化させたい文字を準備の時にリストにぶち込んだ文字の中から探します
②①の結果をクラウド変数につなげます(改行させたいところに00を入れます)
戻す
①00だったら新しい箱を作ったり01だったら準備で作ったリストから探します
※2文字ずつ読み込みます
詳しくはここ
010203って保存すると
1.ABCっていう風になってプログラム側がどこで改行したらいいのかわからないので
000100020003という風に改行コード(00)を入れると
1.Aこんな感じに保存できます
2.B
3.C
Last edited by choriss55 (Oct. 18, 2019 07:33:14)
とある高等教育機関で制御情報工学を学んでいます
- choriss55
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
削除
Last edited by choriss55 (Oct. 18, 2019 22:59:33)
とある高等教育機関で制御情報工学を学んでいます
- RITORUDX3
- Scratcher
27 posts
セーブコードについてみんなで話し合う場所1
ありがとうございます!たとえばAとBとCを別々に保存したくて改行コードとかって何ですかね?作品を見てみてもあんまりわからなくて…準備 クラウドリストはどうやって作るんですか?リストにクラウド機能はないと思うんですが…
①クラウド変数を作ります
②漢字やひらがなはチャット機能とみなされてしまうのでアルファベットと数字、アカウントに使える記号をかき出します
③その文字一つ一つをリストに入れます(これはクラウドリストではない)
④改行コードは00とします
コード化
①コード化したい文字数だけ繰り返す
コード化させたい文字を準備の時にリストにぶち込んだ文字の中から探します
②①の結果をクラウド変数につなげます(改行させたいところに00を入れます)
戻す
①00だったら新しい箱を作ったり01だったら準備で作ったリストから探します
※2文字ずつ読み込みます
詳しくはここ010203って保存すると1.ABCっていう風になってプログラム側がどこで改行したらいいのかわからないので000100020003という風に改行コード(00)を入れると1.Aこんな感じに保存できます
2.B
3.C
- choriss55
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
はい!ありがとうございます!たとえばAとBとCを別々に保存したくて改行コードとかって何ですかね?作品を見てみてもあんまりわからなくて…準備 クラウドリストはどうやって作るんですか?リストにクラウド機能はないと思うんですが…
①クラウド変数を作ります
②漢字やひらがなはチャット機能とみなされてしまうのでアルファベットと数字、アカウントに使える記号をかき出します
③その文字一つ一つをリストに入れます(これはクラウドリストではない)
④改行コードは00とします
コード化
①コード化したい文字数だけ繰り返す
コード化させたい文字を準備の時にリストにぶち込んだ文字の中から探します
②①の結果をクラウド変数につなげます(改行させたいところに00を入れます)
戻す
①00だったら新しい箱を作ったり01だったら準備で作ったリストから探します
※2文字ずつ読み込みます
詳しくはここ010203って保存すると1.ABCっていう風になってプログラム側がどこで改行したらいいのかわからないので000100020003という風に改行コード(00)を入れると1.Aこんな感じに保存できます
2.B
3.C
とある高等教育機関で制御情報工学を学んでいます
- watashida
- Scratcher
500+ posts
セーブコードについてみんなで話し合う場所1
16文字固定だと改行コードはいりません改行コードが必要なので実質80人しか保存できません ハッシュ長を16桁とすればセーブできる人数は160人で衝突する可能性もかなり小さくできます。
314159265358979323846264338327950288419716939937
となっていても16文字ごとに
3141592653589793
2384626433832795
0288419716939937
と区切ることができます。
機械学習たーのしー!わーい!
- choriss55
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
そっか16文字固定だと改行コードはいりません改行コードが必要なので実質80人しか保存できません ハッシュ長を16桁とすればセーブできる人数は160人で衝突する可能性もかなり小さくできます。
314159265358979323846264338327950288419716939937
となっていても16文字ごとに
3141592653589793
2384626433832795
0288419716939937
と区切ることができます。
とある高等教育機関で制御情報工学を学んでいます
- takkun0530
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
このディスカッションフォーラムの名前を、「暗号化について話し合う場所」にかえたらどうでしょうか?
- inoking
- Scratcher
1000+ posts
セーブコードについてみんなで話し合う場所1
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- inoking
- Scratcher
1000+ posts
セーブコードについてみんなで話し合う場所1
#1更新しましたすみません、どこが変わりましたか?
これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
つまり「子ども SNS」ではない
・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもない、ナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり、共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
- choriss55
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
違う方法で暗号化したセーブコードをいくつもつなげる!
とある高等教育機関で制御情報工学を学んでいます
- choriss55
- Scratcher
100+ posts
セーブコードについてみんなで話し合う場所1
#92を参考に作ってみました。保存する要素:変数1つ多分クリッカーゲームとかになるとスコア以外にも保存したい変数がたくさんあるからスコアの部分に格納するデータが長すぎると思います
多分#92の意図とはズレてますね
セーブコード:最低41桁 クラウドに保存する値:最低15桁 最高49桁(ユーザー名の長さ*2+1(区切り)+8)
#92の感じだと1セーブコードあたり8桁消費になります
ただ、一人1セーブコードに制限できないとセーブ連打荒らしとか出そうですね
スコアとユーザー名を紐付けして全て保存すると最低9桁(ユーザー名の長さ*2+1(区切り)+スコアの長さ+1(区切り))
で済むのでこの程度のデータでハッシュを使う意味はないです
クラウドリストの文字変換を変えればもっと入るけどそこまではやってない
そもそもセーブコードの文字数をユーザー名識別のために増やしているから参考にならない
なので9999999999999999で割ってハッシュをリストに格納すればいける(連打荒らしはどうしよう)
とある高等教育機関で制御情報工学を学んでいます
- sky_77
- Scratcher
500+ posts
セーブコードについてみんなで話し合う場所1
This is a signature. It's not written manually.
これは署名といっていちいち手動で書いてません(この注意書きの発案者:s-t-p氏)
Rainbow Post Generator
これは署名といっていちいち手動で書いてません(この注意書きの発案者:s-t-p氏)
Rainbow Post Generator
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████
500+/1000 posts Bar Generator For Signature 署名用バー生成機
- yukku
- Scratcher
1000+ posts
セーブコードについてみんなで話し合う場所1
#58で作ったサロゲートペアを利用したコメントに入力できない圧縮・暗号化装置の復号・解凍プログラムを実装しました。やっと有能な機能になりました。
↑こういう線の下に宣伝とか書いてる人がよくいるけど、こういう線より下の文章には「署名」って名前がついていて、設定を行うと自動で投稿にくっついてきます。詳しいこととか設定方法はこのページにあるので確認してみてください。
この「署名」以外で関係ないこととかをするのは基本禁止なのでそういうことやりたいと思ったら署名でやってください。
日本語フォーラムの使い方っていうプロジェクトを作ったのでどうぞ。
- matunyan0930
- Scratcher
500+ posts
セーブコードについてみんなで話し合う場所1
ずーっと考えていたのですがついに思いつきました!
scratchにおける「チート」は、inokingさんが以前言ったように、ロード処理がある限り防げません。
起動した後にパロメータの変数を弄るだけでいいですからね。
ついでにいうと、その状態でセーブし、またロードすることによって、正規の記録として使えすらするはずです。
そこで、「読み込んだデータを編集することで新たなセーブデータを構築する」という方法を提案します。
ロード画面で入力したデータをそのまま保存しておき、いざセーブするときに、「上書き」するのではなく、「編集」するんです。
最初は単純な暗号化されただけのデータをセーブファイル(以下、ファイルと省略)として使用しますが、セーブデータを構築するときに、
「現在のステータス」をファイルにするのではなく、「現在のセーブデータからの変更点を加えたデータ」をファイルにすれば、
起動中のゲームにステータスだけ入力してセーブデータを書き出すなんて方法は取れません。
問題点として、長くなります。暗号化を最優先するのであれば、
既存のファイルを一切書き換えなく、前回のセーブから変更された内容を付け加えれば、解読は難しくなるでしょう。
しかし、その分、セーブを繰り返すたびにセーブファイルが長くなります。
リストが改行されなくなったことから、出力は辛くなるでしょうし、入力だってロード時間が長くなるでしょうし。
しかし、充分にチート対策にはなるのではないか、と。
コンセプトとして残します。
「ローカルセーブ機能を持つオンラインゲーム」でのチートはかなり抑制できる自身があります。
scratchにおける「チート」は、inokingさんが以前言ったように、ロード処理がある限り防げません。
起動した後にパロメータの変数を弄るだけでいいですからね。
ついでにいうと、その状態でセーブし、またロードすることによって、正規の記録として使えすらするはずです。
そこで、「読み込んだデータを編集することで新たなセーブデータを構築する」という方法を提案します。
ロード画面で入力したデータをそのまま保存しておき、いざセーブするときに、「上書き」するのではなく、「編集」するんです。
最初は単純な暗号化されただけのデータをセーブファイル(以下、ファイルと省略)として使用しますが、セーブデータを構築するときに、
「現在のステータス」をファイルにするのではなく、「現在のセーブデータからの変更点を加えたデータ」をファイルにすれば、
起動中のゲームにステータスだけ入力してセーブデータを書き出すなんて方法は取れません。
問題点として、長くなります。暗号化を最優先するのであれば、
既存のファイルを一切書き換えなく、前回のセーブから変更された内容を付け加えれば、解読は難しくなるでしょう。
しかし、その分、セーブを繰り返すたびにセーブファイルが長くなります。
リストが改行されなくなったことから、出力は辛くなるでしょうし、入力だってロード時間が長くなるでしょうし。
しかし、充分にチート対策にはなるのではないか、と。
コンセプトとして残します。
「ローカルセーブ機能を持つオンラインゲーム」でのチートはかなり抑制できる自身があります。