Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void advance_seed(long *seed){
- *seed = (*seed * 0x41C64E6D + 0x3039) & 0x7FFFFFFF;
- }
- void back_seed(long *seed){
- *seed = (*seed * 0x6EB9EB65 + 0x7C77A683) & 0x7FFFFFFF;
- }
- char* select_turnip(long seed, long nseed){
- int isitem = (unsigned long)((seed >> 8) * 80) >> 23;
- int n;
- if(isitem == 0){
- n = (unsigned long)((nseed >> 8) * 6) >> 23;
- if(n < 2){ return "bomb"; }
- else if(n < 5){ return "saturn"; }
- else{ return "sword"; }
- }else{
- n = (unsigned long)(nseed * 58) >> 31;
- if(n < 35){ return "t0"; }
- else if(n < 41){ return "t1"; }
- else if(n < 46){ return "t2"; }
- else if(n < 49){ return "t3"; }
- else if(n < 52){ return "t4"; }
- else if(n < 56){ return "t5"; }
- else if(n < 57){ return "t6"; }
- else{ return "t7"; }
- }
- }
- int main(int argc, char *argv[])
- {
- char name[401][11] ={
- "100%",
- "8BIT",
- "ああああ",
- "アオチャン",
- "あかみ",
- "あきなす",
- "アケオメ",
- "あすなろ",
- "あと1ぽん",
- "あなご",
- "あなのぬし",
- "アニ",
- "あばれんぼ",
- "アフロヘア",
- "あまとう",
- "ありとん",
- "あるでんて",
- "あろあろ",
- "アロハオエ",
- "あんぱん",
- "イカフライ",
- "いただき",
- "いやいや",
- "インドラー",
- "うぃー",
- "ヴィーナス",
- "ウエルカム",
- "ウキャキャ",
- "うすくち",
- "うっとり",
- "うにゃりん",
- "エチル",
- "エックス",
- "えっへん",
- "えぴ",
- "エンペラー",
- "おいたん",
- "おうごん",
- "おおあたり",
- "おおとろ",
- "おかん",
- "おさきです",
- "おだいかん",
- "おでん",
- "おならプー",
- "おにいたん",
- "おにわばん",
- "おひつ",
- "おプリン",
- "おめし",
- "かいがん",
- "カクテキ",
- "カターカタ",
- "かちょう",
- "かっぱまき",
- "ガニ",
- "かまくら",
- "かまたま",
- "からすみ",
- "からてか",
- "カリーマン",
- "かるしうむ",
- "カルビ",
- "カレー",
- "ガンジス",
- "がんもどき",
- "ギアラ",
- "キジトラ",
- "キャップ",
- "キャメロン",
- "キューベエ",
- "きれこみ",
- "ぎんぴか",
- "グェ",
- "くっちゃね",
- "くにまつ",
- "ぐらま~",
- "ぐらんぱ",
- "ぐりぐり",
- "クリス",
- "くるとん",
- "くろおび",
- "ぐんそう",
- "ケーオー",
- "ゲジゲジ",
- "ケチャラー",
- "ゲッコウ",
- "ゲンブ",
- "こうちゃ",
- "コーチ",
- "ごっつぁん",
- "ことこと",
- "ごはん",
- "コミット",
- "ごめいさん",
- "こやけ",
- "ごようきき",
- "サード",
- "さーもん",
- "さいころ",
- "さくらんぼ",
- "サドラー",
- "さばとら",
- "サラミ",
- "さんかく",
- "サンチュ",
- "ジェクツ",
- "シェフ",
- "しおしお",
- "しこみ",
- "ししゃも",
- "ジッチャ",
- "しめさば",
- "しゃちょう",
- "じゃんぼ",
- "しょうきち",
- "じょんがら",
- "しらたき",
- "しろごま",
- "すいっちょ",
- "スイーツ",
- "すけさん",
- "スザク",
- "すなぎも",
- "すなぶくろ",
- "スベスベ",
- "スマぼう",
- "すりごま",
- "セイリュウ",
- "せばすちゃ",
- "せんじゅ",
- "センス",
- "そばゆ",
- "ソ\フビ",
- "そもさん",
- "そら",
- "そりこみ",
- "たあぼう",
- "だいおう",
- "だいきち",
- "たいさ",
- "タイタニー",
- "たいちょう",
- "たいやき",
- "たつじん",
- "タピオカ",
- "タマ",
- "たまご",
- "だるにゃん",
- "タンしお",
- "たんばりん",
- "たんぱん",
- "チムカタ",
- "ちゃー",
- "チャンス",
- "ちゅうとろ",
- "ちょいわる",
- "チョッキ",
- "つけめん",
- "つゆだく",
- "っょぃゃっ",
- "つんつん",
- "ツンドラ",
- "ていおう",
- "デイヤー",
- "でかちょー",
- "ですます",
- "てっかまき",
- "てつわん",
- "てばさき",
- "てふてふ",
- "テミヤゲ",
- "テリヤカレ",
- "でれつん",
- "でろでろ",
- "てんぐどの",
- "デンジャー",
- "てんたま",
- "どうする?",
- "ときそば",
- "とくじょう",
- "ドクトル",
- "とくロース",
- "トッチャ",
- "どってん",
- "トップ",
- "ドドド",
- "となかい",
- "ドリアン",
- "トロイカ",
- "ドロドロ",
- "ドン",
- "とんかつ",
- "とんこつ",
- "トンズラ",
- "とんとろ",
- "ナイスガイ",
- "なにがし",
- "ナポリタン",
- "なるなる",
- "なんぞこれ",
- "ニイハオ",
- "にく",
- "にくきゅう",
- "にっぽり",
- "にとうへい",
- "にゃんころ",
- "ニラニラ",
- "ニンテン",
- "にんにくん",
- "ねこめ",
- "ネブクロ",
- "ねりけし",
- "ねりま",
- "ねるねる",
- "ハード",
- "バイバイ",
- "はかばか",
- "ばじりこ",
- "バスター",
- "はずれ",
- "バタール",
- "ばっちゃ",
- "ハッピー",
- "ハナチャン",
- "はも",
- "ハラホレ",
- "はらまき",
- "パリジャン",
- "はるかぜ",
- "はるさめ",
- "パルメザン",
- "ハロー",
- "はんぺん",
- "びーふん",
- "ヒエン",
- "ピカピカ",
- "ビギナー",
- "ひざかけ",
- "ビシャモン",
- "ぴすたちお",
- "びたみん",
- "ひつじ",
- "ヒットミー",
- "ビビンバ",
- "ビャッコ",
- "ひょうたん",
- "ビョーィ",
- "ピョンピー",
- "ピンクだま",
- "ピンポン",
- "ぶぅぅぅん",
- "ふーたろう",
- "ふぉぉぉぉ",
- "ふくふく",
- "ブコツもの",
- "ふっくら",
- "ぶどうとう",
- "ププル",
- "ふやける",
- "ぶらすと",
- "ブルー",
- "ふれんち",
- "ペット",
- "ぺっぴー",
- "へっぽこ",
- "ポ",
- "ぼうたら",
- "ポエマー",
- "ホカホカ",
- "ぼく",
- "ぽっちゃり",
- "ポッポク",
- "ホネボーン",
- "ポポル",
- "ぽりごん",
- "ポリスマン",
- "ぼるしち",
- "ホルマリン",
- "ボンジュー",
- "ぼんじり",
- "マーベラス",
- "マイルド",
- "まえうしろ",
- "マエストロ",
- "マカリキ",
- "ましかく",
- "まじかる",
- "マゼラン",
- "マタドール",
- "ままかり",
- "マヨラー",
- "まりしてん",
- "まる",
- "マルデタコ",
- "まるやかれ",
- "まわりこみ",
- "まわる",
- "まんまる",
- "まんもす",
- "ミサイラー",
- "みそだれ",
- "みみがー",
- "みやこ",
- "みよしの",
- "ミリひこ",
- "むしとり",
- "ムチプリ",
- "ムッシュ",
- "めいじん",
- "メガうな",
- "メチル",
- "めんそーれ",
- "めんたい",
- "モエツキ",
- "モケモケ",
- "もずくす",
- "モニータ",
- "もふもふ",
- "もみあげ",
- "もろへいや",
- "もわれ",
- "モンジャ",
- "やきトン",
- "ヤシャ",
- "やつはし",
- "やまんば",
- "ヤヤ",
- "やんばる",
- "ゆうやけ",
- "ゆげどおし",
- "ゆたんぽ",
- "ゆでたまご",
- "ゆめおち",
- "ようろう",
- "よるむん",
- "よろしく!",
- "ラスいち",
- "ラッキー",
- "ラブ",
- "らんにんぐ",
- "リアスしき",
- "リサイクル",
- "リディア",
- "りもこん",
- "りゃんし",
- "りろすけ",
- "リンリン",
- "ルーシィ",
- "レジン",
- "れんこん",
- "ロイヤル",
- "ローレンス",
- "わおり",
- "ワックス",
- "わびさび",
- "ワンさん",
- "ワンダバ",
- "プリム",
- "ブローム",
- "ガル",
- "メロリン",
- "ポッパラム",
- "ホーエル",
- "バイタン",
- "メクキャノ",
- "ミズオ",
- "ローダ",
- "ボンヘッド",
- "ブラッサ",
- "ギラーン",
- "ブチュルス",
- "タウタウ",
- "ブボット",
- "フロウス",
- "アロアロス",
- "ボトロン",
- "ジャキール",
- "ダイバーン",
- "トリスタ",
- "ウィームズ",
- "ギャムギャ",
- "キャン",
- "パッチ",
- "ファウロン",
- "デスポッド",
- "ビュッシー",
- "スパー",
- "コッコン",
- "ジェイダス",
- "アリアンズ",
- "マイト",
- "シェリー",
- "ンガゴグ",
- "ガンナッタ",
- "サイマル",
- "テキン",
- "キャタガー",
- "アラモス",
- "ブーバス",
- "アーマン"
- };
- long seed = strtol(argv[1], NULL, 16), seed_t, seed_tt, tmp;
- int step = atoi(argv[2]);
- char *target = argv[3];
- int i, j;
- for(i = 0; i < 10000; i++){
- seed_t = seed;
- for(j = 0; j < i; j++){
- advance_seed(&seed_t);
- }
- tmp = seed_t;
- advance_seed(&seed_t);
- advance_seed(&seed_t);
- seed_t = seed_t & 0x7FFFFF00;
- for(j = 0; j < step; j++){
- advance_seed(&seed_t);
- }
- seed_tt = seed_t;
- advance_seed(&seed_tt);
- if(strcmp(select_turnip(seed_t, seed_tt), target) == 0){
- printf("step : %d\n\n", i);
- for(j = 0; j < 10; j++){
- back_seed(&tmp);
- }
- for(j = 0; j < 10; j++){
- advance_seed(&tmp);
- printf("[%04d] %08X %s\n", i - 9 + j, (unsigned int)tmp, name[((unsigned int)((tmp >> 8) * 401) >> 23)]);
- }
- return 0;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement