証拠の関数はこれです。
投稿者: ___ 投稿日:2011/09/12 02:04
どうしてこんなことになったのか、私にはわかりません。
これをあなたが読んだなら、その時、私はダラけているでしょう。
…やる気があるか、ないかの違いはあるでしょうが。
これを読んだあなた。どうか意思を継いでください。それだけが私の望みです。
TDA
こういうネタばっかりじゃないか。
いや、最近汎用関数の公開みたいなものが流行ってるみたいなので、
「一応生きてるんだぞ」というアッピルのために投げてみようかなと。
懐かしの地雷ゲーにアクティビティフィードを利用した
パスワード機能を付けようかなと目論んでいたのですが、
インターフェースの作成あたりで爆死。継続しないので力にならぬ。
前述のとおり、使いたい方がどうぞお使いください。
最近の運営様の活躍っぷりを見てると、普通に入力式のパスワードなんて
公式関数で実装してもらえるんじゃね?とか考えた結果がコレだよ。
甘えは怠けに繋がるから良くないんですけど、現在進行形でこのザマでござる。
ツイート
これをあなたが読んだなら、その時、私はダラけているでしょう。
…やる気があるか、ないかの違いはあるでしょうが。
これを読んだあなた。どうか意思を継いでください。それだけが私の望みです。
TDA
こういうネタばっかりじゃないか。
いや、最近汎用関数の公開みたいなものが流行ってるみたいなので、
「一応生きてるんだぞ」というアッピルのために投げてみようかなと。
懐かしの地雷ゲーにアクティビティフィードを利用した
パスワード機能を付けようかなと目論んでいたのですが、
インターフェースの作成あたりで爆死。継続しないので力にならぬ。
前述のとおり、使いたい方がどうぞお使いください。
まえがきー 40文字限定 初級中級上級に分ける。 1000000000100000000010000000001000000000 タイムをそれぞれ3桁として、9文字使用することにする 0050231150100000000010000000001000000000 ~~~~~~~~~ それぞれに対して678を各桁に印加。ループ方式にする→01234567890123456789012…(x+6)%10 逆の時マイナスが出ると怠いので(x+4)%10とする 6736917830100000000010000000001000000000 ~~~~~~~~~ 10の倍数文字目をフォーマット判断用に設定、ランダムだが必ず3の倍数になる(x%3 == 0) 6736917836100000000310000000091000000003 ~ ~ ~ ~ 次いで各ハイスコア者の名前を保存。10文字とするか9文字で10字目をフォーマット判断用にするか 使用できる文字は3文字? abcdefghijklmnopqrstuvwxyz 26文字*2=52 52を3文字フォーマットに直すと4進数くらいが丁度いいかな 使用文字を無作為に摘出 6uwq を右から下位とする。 qqq qqw qqu qq6 qwq qww qwu qw6 quq quw quu qu6 q6q q6w q6u q66 0 1 2 3 4 5 6 7 8 9 a b c d e f wqq wqw wqu wq6 wwq www wwu ww6 wuq wuw wuu wu6 w6q w6w w6u w66 g h i j k l m n o p q r s t u v uqq uqw uqu uq6 uwq uww uwu uw6 uuq uuw uuu uu6 u6q u6w u6u u66 w x y z A B C D E F G H I J K L 6qq 6qw 6qu 6q6 6wq 6ww 6wu 6w6 6uq 6uw 6uu 6u6 66q 66w 66u 666 M N O P Q R S T U V W X Y Z - 例として名前をabc def gHIとする 6736917836qqqqqwqqu3qq6qwqqww9qwuuw6uuq3 ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ このままだとバレやすいので、順番に10文字ごとに1文字ずつ拾って並び替える 6736917836 qqqqqwqqu3 qq6qwqqww9 qwuuw6uuq3 6qqq7qqw3q6u6qqu9qww1wq67qqu8qwu3uwq6393 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 解読手順 a[40]の配列に上記暗号を入力させる a[36,37,38,39]が3の倍数かどうかを確かめる 初級のスコアを取得 ((a[0]+4)%10)*100+((a[4]+3)%10)*10+((a[8]+2)%10) 中級のスコアを取得 ((a[12]+4)%10)*100+((a[16]+3)%10)*10+((a[20]+2)%10) 上級のスコアを取得 ((a[24]+4)%10)*100+((a[28]+3)%10)*10+((a[32]+2)%10) 初級の名前を取得 関数c(関数b(関数a(1),関数a(5),関数a(9))) 関数c(関数b(関数a(13),関数a(17),関数a(21))) 関数c(関数b(関数a(25),関数a(29),関数a(33))) 中級の名前を取得 関数c(関数b(関数a(2),関数a(6),関数a(10))) 関数c(関数b(関数a(14),関数a(18),関数a(22))) 関数c(関数b(関数a(26),関数a(30),関数a(34))) 上級の名前を取得 関数c(関数b(関数a(3),関数a(8),関数a(11))) 関数c(関数b(関数a(15),関数a(19),関数a(23))) 関数c(関数b(関数a(27),関数a(31),関数a(35))) 関数a → qwu6 を0~3の数字にして返す 関数b → 入力された3つの数字を4進数から10進数にして返す 関数c → 入力された10進数を文字にして返す
# qwu6を0~3にして返す def F_a(word) case (word) when "q" return 0; when "w" return 1; when "u" return 2; when "6" return 3; end; speak("error : fanc_a else"); end; # 3並びの数字を4進数から10進数に変換して返す def F_b(aa , bb , cc) if((aa>3)||(bb>3)||(cc>3)) speak("error : fanc_b over"); end; return (aa*16)+(bb*4)+(cc); end; # 入力された数字を文字で返す def F_c(x) if(x>63) speak("error : fanc_c over"); end; case (x) when 0 return "0"; when 1 return "1"; when 2 return "2"; when 3 return "3"; when 4 return "4"; when 5 return "5"; when 6 return "6"; when 7 return "7"; when 8 return "8"; when 9 return "9"; when 10 return "a"; when 11 return "b"; when 12 return "c"; when 13 return "d"; when 14 return "e"; when 15 return "f"; when 16 return "g"; when 17 return "h"; when 18 return "i"; when 19 return "j"; when 20 return "k"; when 21 return "l"; when 22 return "m"; when 23 return "n"; when 24 return "o"; when 25 return "p"; when 26 return "q"; when 27 return "r"; when 28 return "s"; when 29 return "t"; when 30 return "u"; when 31 return "v"; when 32 return "w"; when 33 return "x"; when 34 return "y"; when 35 return "z"; when 36 return "A"; when 37 return "B"; when 38 return "C"; when 39 return "D"; when 40 return "E"; when 41 return "F"; when 42 return "G"; when 43 return "H"; when 44 return "I"; when 45 return "J"; when 46 return "K"; when 47 return "L"; when 48 return "M"; when 49 return "N"; when 50 return "O"; when 51 return "P"; when 52 return "Q"; when 53 return "R"; when 54 return "S"; when 55 return "T"; when 56 return "U"; when 57 return "V"; when 58 return "W"; when 59 return "X"; when 60 return "Y"; when 61 return "Z"; when 62 return "-"; when 63 return " "; end; end; # xにyを足す 但し0~zの範囲をループする def F_d(x , y , z) x=x+y; if(x<0) x=z; elsif(x>z) x=0; end; return x; end;
最近の運営様の活躍っぷりを見てると、普通に入力式のパスワードなんて
公式関数で実装してもらえるんじゃね?とか考えた結果がコレだよ。
甘えは怠けに繋がるから良くないんですけど、現在進行形でこのザマでござる。
コメントする
コメントするには、ログインする必要があります。
パスワードをアクティビティフィードで出力するということは、
今までのパスワードも累積されて表示されるということで、
「このパスだとこのスコアになるから、多分こっからここが中級のスコアで~」
みたいな解析されて、改造スコアを入力してプレイ後にアクティビティ出力されたら嫌だなー
なんて妄想しながら書いてたもので。
描いてもらうか自分で描くか割と悩んでます。
新しいスプライト関数も出てきましたしどうしよっかな。