Discuss Scratch

NT_ZZzz
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

#92を参考に作ってみました。保存する要素:変数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

RITORUDX3 wrote:

choriss55 wrote:

RITORUDX3 wrote:

クラウドリストはどうやって作るんですか?リストにクラウド機能はないと思うんですが…
準備
①クラウド変数を作ります
②漢字やひらがなはチャット機能とみなされてしまうのでアルファベットと数字、アカウントに使える記号をかき出します
③その文字一つ一つをリストに入れます(これはクラウドリストではない)
④改行コードは00とします

コード化
①コード化したい文字数だけ繰り返す
 コード化させたい文字を準備の時にリストにぶち込んだ文字の中から探します
②①の結果をクラウド変数につなげます(改行させたいところに00を入れます)

戻す
①00だったら新しい箱を作ったり01だったら準備で作ったリストから探します
※2文字ずつ読み込みます

詳しくはここ



改行コードとかって何ですかね?作品を見てみてもあんまりわからなくて…
たとえばAとBとCを別々に保存したくて
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

choriss55 wrote:

RITORUDX3 wrote:

choriss55 wrote:

RITORUDX3 wrote:

クラウドリストはどうやって作るんですか?リストにクラウド機能はないと思うんですが…
準備
①クラウド変数を作ります
②漢字やひらがなはチャット機能とみなされてしまうのでアルファベットと数字、アカウントに使える記号をかき出します
③その文字一つ一つをリストに入れます(これはクラウドリストではない)
④改行コードは00とします

コード化
①コード化したい文字数だけ繰り返す
 コード化させたい文字を準備の時にリストにぶち込んだ文字の中から探します
②①の結果をクラウド変数につなげます(改行させたいところに00を入れます)

戻す
①00だったら新しい箱を作ったり01だったら準備で作ったリストから探します
※2文字ずつ読み込みます

詳しくはここ



改行コードとかって何ですかね?作品を見てみてもあんまりわからなくて…
たとえばAとBとCを別々に保存したくて
010203
って保存すると
1.ABC
っていう風になってプログラム側がどこで改行したらいいのかわからないので
000100020003
という風に改行コード(00)を入れると
1.A
2.B
3.C
こんな感じに保存できます
ありがとうございます!

自分の作品の中で一番人気あるやつ

あ!こんなところに!2018年3月29日に公開した自分の作品の中では人気あるけど他の人の人気の作品に比べたらあんまり人気ない奴だ!見ないと!
自分のサイトも見てね
その他情報
クリッカーを寄せ集めるスタジオ②コラボ(最新版)③コラボのフォーラム(スタジオ)④RPG(未完成&開発中)
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

RITORUDX3 wrote:

choriss55 wrote:

RITORUDX3 wrote:

choriss55 wrote:

RITORUDX3 wrote:

クラウドリストはどうやって作るんですか?リストにクラウド機能はないと思うんですが…
準備
①クラウド変数を作ります
②漢字やひらがなはチャット機能とみなされてしまうのでアルファベットと数字、アカウントに使える記号をかき出します
③その文字一つ一つをリストに入れます(これはクラウドリストではない)
④改行コードは00とします

コード化
①コード化したい文字数だけ繰り返す
 コード化させたい文字を準備の時にリストにぶち込んだ文字の中から探します
②①の結果をクラウド変数につなげます(改行させたいところに00を入れます)

戻す
①00だったら新しい箱を作ったり01だったら準備で作ったリストから探します
※2文字ずつ読み込みます

詳しくはここ



改行コードとかって何ですかね?作品を見てみてもあんまりわからなくて…
たとえばAとBとCを別々に保存したくて
010203
って保存すると
1.ABC
っていう風になってプログラム側がどこで改行したらいいのかわからないので
000100020003
という風に改行コード(00)を入れると
1.A
2.B
3.C
こんな感じに保存できます
ありがとうございます!
はい!

とある高等教育機関で制御情報工学を学んでいます
watashida
Scratcher
500+ posts

セーブコードについてみんなで話し合う場所1

choriss55 wrote:

watashida wrote:

ハッシュ長を16桁とすればセーブできる人数は160人で衝突する可能性もかなり小さくできます。
改行コードが必要なので実質80人しか保存できません
16文字固定だと改行コードはいりません
314159265358979323846264338327950288419716939937
となっていても16文字ごとに
3141592653589793
2384626433832795
0288419716939937
と区切ることができます。

機械学習たーのしー!わーい!
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

watashida wrote:

choriss55 wrote:

watashida wrote:

ハッシュ長を16桁とすればセーブできる人数は160人で衝突する可能性もかなり小さくできます。
改行コードが必要なので実質80人しか保存できません
16文字固定だと改行コードはいりません
314159265358979323846264338327950288419716939937
となっていても16文字ごとに
3141592653589793
2384626433832795
0288419716939937
と区切ることができます。
そっか

とある高等教育機関で制御情報工学を学んでいます
takkun0530
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

このディスカッションフォーラムの名前を、「暗号化について話し合う場所」にかえたらどうでしょうか?
inoking
Scratcher
1000+ posts

セーブコードについてみんなで話し合う場所1

takkun0530 wrote:

このディスカッションフォーラムの名前を、「暗号化について話し合う場所」にかえたらどうでしょうか?
話はそう単純ではありません。
#81, #87 を見てください。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

#1更新しました

とある高等教育機関で制御情報工学を学んでいます
inoking
Scratcher
1000+ posts

セーブコードについてみんなで話し合う場所1

choriss55 wrote:

#1更新しました
すみません、どこが変わりましたか?

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

違う方法で暗号化したセーブコードをいくつもつなげる!

とある高等教育機関で制御情報工学を学んでいます
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

NT_ZZzz wrote:

#92を参考に作ってみました。保存する要素:変数1つ
多分#92の意図とはズレてますね
セーブコード:最低41桁 クラウドに保存する値:最低15桁 最高49桁(ユーザー名の長さ*2+1(区切り)+8)
#92の感じだと1セーブコードあたり8桁消費になります
ただ、一人1セーブコードに制限できないとセーブ連打荒らしとか出そうですね
スコアとユーザー名を紐付けして全て保存すると最低9桁(ユーザー名の長さ*2+1(区切り)+スコアの長さ+1(区切り))
で済むのでこの程度のデータでハッシュを使う意味はないです
クラウドリストの文字変換を変えればもっと入るけどそこまではやってない
そもそもセーブコードの文字数をユーザー名識別のために増やしているから参考にならない
多分クリッカーゲームとかになるとスコア以外にも保存したい変数がたくさんあるからスコアの部分に格納するデータが長すぎると思います
なので9999999999999999で割ってハッシュをリストに格納すればいける(連打荒らしはどうしよう)

とある高等教育機関で制御情報工学を学んでいます
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

>>>#111>>>
scratchの制限を変更しました。
あと今日、制限のところにそのことが書かれてるリンクを貼りました(つまりもう一回編集した)

とある高等教育機関で制御情報工学を学んでいます
sky_77
Scratcher
500+ posts

セーブコードについてみんなで話し合う場所1

#1について
そのページだと256文字だということが分かりません。そこにあるクラウドデータのリンクからは分かりますが…


░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████
500+/1000 posts Bar Generator For Signature 署名用バー生成機
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

>>>#115>>>
変更します

とある高等教育機関で制御情報工学を学んでいます
yukku
Scratcher
1000+ posts

セーブコードについてみんなで話し合う場所1

#58で作ったサロゲートペアを利用したコメントに入力できない圧縮・暗号化装置の復号・解凍プログラムを実装しました。やっと有能な機能になりました。

↑こういう線の下に宣伝とか書いてる人がよくいるけど、こういう線より下の文章には「署名」って名前がついていて、設定を行うと自動で投稿にくっついてきます。詳しいこととか設定方法はこのページにあるので確認してみてください。
この「署名」以外で関係ないこととかをするのは基本禁止なのでそういうことやりたいと思ったら署名でやってください。

日本語フォーラムの使い方っていうプロジェクトを作ったのでどうぞ。
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

>>>#117>>>
おお!

Last edited by choriss55 (Oct. 21, 2019 11:19:03)


とある高等教育機関で制御情報工学を学んでいます
choriss55
Scratcher
100+ posts

セーブコードについてみんなで話し合う場所1

>>>#117>>>
文字リストがないのですがどうやっているんですか?

とある高等教育機関で制御情報工学を学んでいます
matunyan0930
Scratcher
500+ posts

セーブコードについてみんなで話し合う場所1

ずーっと考えていたのですがついに思いつきました!

scratchにおける「チート」は、inokingさんが以前言ったように、ロード処理がある限り防げません。
起動した後にパロメータの変数を弄るだけでいいですからね。
ついでにいうと、その状態でセーブし、またロードすることによって、正規の記録として使えすらするはずです。
そこで、「読み込んだデータを編集することで新たなセーブデータを構築する」という方法を提案します。

ロード画面で入力したデータをそのまま保存しておき、いざセーブするときに、「上書き」するのではなく、「編集」するんです。
最初は単純な暗号化されただけのデータをセーブファイル(以下、ファイルと省略)として使用しますが、セーブデータを構築するときに、
「現在のステータス」をファイルにするのではなく、「現在のセーブデータからの変更点を加えたデータ」をファイルにすれば、
起動中のゲームにステータスだけ入力してセーブデータを書き出すなんて方法は取れません。

問題点として、長くなります。暗号化を最優先するのであれば、
既存のファイルを一切書き換えなく、前回のセーブから変更された内容を付け加えれば、解読は難しくなるでしょう。
しかし、その分、セーブを繰り返すたびにセーブファイルが長くなります。
リストが改行されなくなったことから、出力は辛くなるでしょうし、入力だってロード時間が長くなるでしょうし。

しかし、充分にチート対策にはなるのではないか、と。
コンセプトとして残します。
「ローカルセーブ機能を持つオンラインゲーム」でのチートはかなり抑制できる自身があります。

世界開拓  Arsenal Knights

活動はほぼ止まっていますが通知の確認くらいなら時々してます 連絡などあればお気軽にプロフィールにどうぞ

Powered by DjangoBB