スパゲッティコード

#include <stdio.h>
#include <math.h>
#define DIS 1200
#define SPE 1200
#define VIT 1200
#define POW 1200
#define MEN 1200
#define WIS 1200
#define NIGE 0
#define SENK 1
#define SASH 2
#define OIKO 3
#define TEKI_S 0
#define TEKI_A 1
#define TEKI_B 2
#define TEKI_C 3
#define TEKI_D 4
#define TEKI_E 5
#define TEKI_F 6
#define TEKI_G 7

#define delta_t 0.001f

int kyakushitsu = NIGE;
int kyoritekisei = TEKI_A;
int babatekisei = TEKI_A;
int kyakushitsutekisei = TEKI_A;

float choice_kyakushitsu(void);
float calc_tekisei(int);
float hosei_speed(void);
float hosei_power(void);
float v_cur = 0;
float dis_cur = 0;
float hp_cur;
float a_cur;
int tmp_t = 0;
int dist = DIS;
int speed = SPE;
int vital = VIT;
int power = POW;
int ment = MEN;
int wis = WIS;
float hp_next(void);
float dis_next(void);
float v_next(void);
float v_wis_hosei(int);
float v_goal(void);
float a_next(void);
float choice_kyakushitsu(void);
void keisoku(void);
void keisoku2(void);

float choice_kyakushitsu(void)
{
    float ret_keisu;
    if (dis_cur < *1 // phase 0
    {
        switch (kyakushitsu)
        {
        case NIGE:
            ret_keisu = 1.0f;
            break;
        case SENK:
            ret_keisu = 0.978f;
            break;
        case SASH:
            ret_keisu = 0.938f;
            break;
        case OIKO:
            ret_keisu = 0.931f;
            break;
        }
    }
    else if (dis_cur < *2 // phase 1
    {
        switch (kyakushitsu)
        {
        case NIGE:
            ret_keisu = 0.98f;
            break;
        case SENK:
            ret_keisu = 0.991f;
            break;
        case SASH:
            ret_keisu = 0.998f;
            break;
        case OIKO:
            ret_keisu = 1.0f;
            break;
        }
    }
    else // phase 2,3
    {
        switch (kyakushitsu)
        {
        case NIGE:
            ret_keisu = 0.962f;
            break;
        case SENK:
            ret_keisu = 0.975f;
            break;
        case SASH:
            ret_keisu = 0.994f;
            break;
        case OIKO:
            ret_keisu = 1.0f;
            break;
        }
    }
    return ret_keisu;
}

float v_wis_hosei(int wis1)
{
    float ret_gosa;
    ret_gosa = 1.0f + (log10(wis1 * 0.1f) * sqrt(wis1 / 5500.0f) - 0.325f) * 0.01f;
    return ret_gosa;
}

float v_min(int konjo1)
{
    float ret_v_min;
    ret_v_min = 17.0f + sqrt*3
    {
        ret_a = -0.8f;
    }
    else if (v_cur < v_goal())
    {
        ret_a = 0.3f * sqrt(hosei_power() * 0.002f) * calc_tekisei(babatekisei);
    }
    else
    {
        ret_a = 0.0f;
    }
    // if *4 & (dis_cur < *5
    {
        return (20.0f - *6 * delta_t;
    return new_dis;
}

float hp_next(void)
{
    float new_hp;
    new_hp = hp_cur - v_cur * delta_t * 1// 1 to hosei_konjo
    return new_hp;
}

float hosei_speed(void)
{
    float ret_speed;
    ret_speed = (float)speed * calc_tekisei(babatekisei) * 1;
    return ret_speed;
}

float hosei_power(void)
{
    float ret_power;
    ret_power = (float)power * calc_tekisei(babatekisei) * 1;
    return ret_power;
}

void keisoku(void)
{
    float t = 0.0f;
    hp_cur = (float)dist + (float)vital;
    v_cur = 0.0f;
    a_cur = 24.0f;
    dis_cur = 0.0f;
    int tmp_t = 0;
    float keisoku0_t = 0.0f;
    float keisoku1_t = 0.0f;
    float keisoku2_t = 0.0f;
    int phase = 0;
#ifdef DEBUG
    printf("\n");
#endif
    while (dis_cur <= (float)dist)
    {
#ifdef KASOKU
        if (dis_cur < dist * 0.16667f)
        {
            keisoku0_t = keisoku0_t + delta_t;
            if (((v_goal() - v_cur) <= 0.001f) & (phase == 0))
            {
                phase = 1;
                printf("\njoban  kasoku dist: %6.1f~%6.1fm, and kasoku time:%.1fs\n", dist * 0.0f, dis_cur, keisoku0_t);
            }
        }
        else if (dis_cur < dist * 0.6668f)
        {
            keisoku0_t = 0.0f;
            keisoku1_t = keisoku1_t + delta_t;
            if (((v_goal() - v_cur) <= 0.001f) & (phase == 1))
            {
                phase = 2;
                printf("chuban kasoku dist: %6.1f~%6.1fm, and kasoku time:%.1fs\n", dist * 0.16667f, dis_cur, keisoku1_t);
                keisoku1_t = 0.0f;
            }
        }
        else if (dis_cur < dist * 1.0f)
        {
            keisoku1_t = 0.0f;
            keisoku2_t = keisoku2_t + delta_t;
            if (((v_goal() - v_cur) <= 0.001f) & (phase == 2))
            {
                phase = 3;
                printf("syuban kasoku dist: %6.1f~%6.1fm, and kasoku time:%.1fs\n", dist * 0.66667f, dis_cur, keisoku2_t);
                keisoku2_t = 0.0f;
            }
        }
        // tmp_t = tmp_t + 1;
        // if (tmp_t >= 500)
        // {
        //     if *7;
            printf("v:%.2f, ", v_cur);
            // printf("hp:%f\n", hp_cur);
            printf("dis:%.1f\n", dis_cur);
            tmp_t = 0;
        }
#endif
    }
    printf("goal_time:%.2fs\n"t);
}

void keisoku2(void)
{
    kyakushitsu = NIGE;
    printf("[NIGE] ");
    keisoku();

    kyakushitsu = SENK;
    printf("[SENK] ");
    keisoku();

    kyakushitsu = SASH;
    printf("[SASH] ");
    keisoku();

    kyakushitsu = OIKO;
    printf("[OIKO] ");
    keisoku();
}

void main(void)
{

    dist = 1200;
    printf("\nDIS:%d, SPE:%d, STA:%d, POW:%d, KON:%d, WIS:%d \n"distspeedvitalpowermentwis);
    printf("BABA:A, KYORI:A, KYAKU:A   \nlet's syussou\n");
    keisoku2();

    dist = 1600;
    power = 1050;
    printf("\nDIS:%d, SPE:%d, STA:%d, POW:%d, KON:%d, WIS:%d \n"distspeedvitalpowermentwis);
    printf("BABA:A, KYORI:A, KYAKU:A   \nlet's syussou\n");
    keisoku2();

    dist = 2200;
    power = 900;
    printf("\nDIS:%d, SPE:%d, STA:%d, POW:%d, KON:%d, WIS:%d \n"distspeedvitalpowermentwis);
    printf("BABA:A, KYORI:A, KYAKU:A   \nlet's syussou\n");
    keisoku2();

    dist = 3000;
    power = 600;
    printf("\nDIS:%d, SPE:%d, STA:%d, POW:%d, KON:%d, WIS:%d \n"distspeedvitalpowermentwis);
    printf("BABA:A, KYORI:A, KYAKU:A   \nlet's syussou\n");
    keisoku2();

}

*1:float)dist * 0.16667f

*2:float)dist * 0.66667f

*3:float)konjo1 * 200.0f) / 5500.0f;

    return ret_v_min;
}

float calc_tekisei(int x)
{
    float ret;
    switch (x)
    {
    case TEKI_S// S
        ret = 1.05f;
        break;
    case TEKI_A// A
        ret = 1.0f;
        break;
    case TEKI_B// B
        ret = 0.85f;
        break;
    case TEKI_C// C
        ret = 0.75f;
        break;
    case TEKI_D// D
        ret = 0.6f;
        break;
    case TEKI_E// E
        ret = 0.4f;
        break;
    case TEKI_F// F
        ret = 0.2f;
        break;
    default// G
        ret = 0.1f;
        break;
    }
    return ret;
}

float v_next(void)
{
    float v_ret = v_cur + a_cur * delta_t;
    return v_ret;
}

float a_next(void)
{
    float ret_a;
    if (v_cur <= 18.5f)
    {
        ret_a = 24 + 0.3f * sqrt(hosei_power() * 0.002f) * calc_tekisei(babatekisei);
    }
    else if ((hp_cur == 0) & (v_cur >= v_min(ment)))
    {
        ret_a = -1.2f;
    }
    else if (v_cur > v_goal(

*4:dis_cur > ((float)dist * 0.16667f

*5:float)dist * 0.66667f)))

    // {
    //     ret_a = 0;
    // }
    return ret_a;
}

float v_goal(void)
{
    if (dis_cur < ((float)dist * 0.6667f

*6:float)dist - 2000.0f) * 0.001f) * choice_kyakushitsu();

    }
    else
    {
        return (20.0f - ((float)dist - 2000.0f) * 0.001f) * choice_kyakushitsu() + 2 * sqrt(hosei_speed() * 0.002f) * calc_tekisei(kyoritekisei) * choice_kyakushitsu();
    }
}

float dis_next(void)
{
    float new_dis;
    new_dis = dis_cur + v_cur * v_wis_hosei((float)wis * calc_tekisei(kyakushitsutekisei

*7:a_cur > 0.0f & (a_next() > 0.0f)))

        //     {
        //         printf("v:%.2f, ", v_cur);
        //         printf("v_sabun:%.2f, ", fabs(v_cur - v_goal()));
        //         printf("dis:%.1f\n", dis_cur);
        //     }
        //     tmp_t = 0;
        // }
#endif
        v_cur = v_next();
        hp_cur = hp_next();
        a_cur = a_next();
        dis_cur = dis_next();
        t = t + delta_t;
#ifdef DEBUG
        tmp_t = tmp_t + 1;
        if (tmp_t >= 1000)
        {
            printf("time:%.1f, ", t);
            // printf("a:%.2f, ", a_cur(

ペルソナ5の感想

(´・ω・`)ネタバレありの感想 クリアは86時間


【キャラ・コープ】
 どのキャラも個性が立ってるのと、どのキャラともちゃんと絆を深める描写があってよかった。
 主要キャラの覚醒シーンはどれも盛り上がり最高でしたね。
 世紀末覇者先輩(*´ω`*)
 コープは戦車6 他10でクリアしました。
 コープ始動するたびに現れる冴さんの「どうなの?」は癖になります。

【戦闘】
 難易度Normal アトラス系は敵強いのでどこでもセーブできるようにしてほしい、
 時間に追われる生活故、攻略サイト見ながらプレイだったので基本的には簡単だった。
 しかし、はじめのダンジョンはものすごくつらかった。法王ハリスが強すぎる。
 HP全快でもクリティカルスラッシュで即死とかなんなの?
 死神Coop7達成以降は楽勝ですね。
 ストーリー展開が見たいから戦闘は簡単でもいい感じだった。

【音楽】
 Time will changeのノリノリ感が良かったなぁ
 他も総じて優秀。

【ストーリー】
 メインテーマは、抑圧からどう解放していくのか!? って感じなのかな?
 そのための手段として今回 「正義」が「悪」を倒す っていうのを主軸に置いた感じですかね。
 鴨志田はものすごい悪っぷりを丁寧に書かれていただけに
 はじめはすごいスッとしますね。
 ただ、ペルソナは前作も「自分の弱い所を認める」といったような重い話だったし、今回も
 「正義」って結局何なのかていうのを意図させるようなストーリー展開になっていきました。
 結局「どうやって」実現するかっていうHowの部分が重要なんですかね。
 ラスボスは、処理流暢性だったり確証バイアスだったり利用可能性ヒューリスティック
 だったりどの言葉がええんかな? 
 楽な方に流され考えるのをやめましょう
 ってのを体現したような感じでした。
 正義というのが「どうやって」の部分を重視するのが
 この「どうやって」を思いっきり無視するのが悪っていうところなのかな?
 まぁどうやってやるかってのを突き詰めるのが結局抑圧から解放されていくことなのかな?
 ここら辺は永遠に解答なんてないんだろうなー 
 それは正しいことなのか?っていう質問をこのゲームと同じように自分に投げかけていけ



 そのメインテーマとは別に、黒幕をどう追ってくのかていう伏線の立て方も
 最高に上手く演出できてる感じでした。
 今回はかなりわかりやすかったかなぁ 違和感ありまくりだったし。
 こっちは謎解きですから普通に楽しめました。

2015年の感想 今年見たアニメ

SHIROBAKO
 まごうことなき神アニメだった。しずちゃんのシーンは泣きました
 買おうか迷い中

がっこうぐらし
 1話のシーンが印象的だった。ニトロプラスの人ということもあり、
 沙耶の唄を思い出しました。

【デレマス】
 卯月の悩みは誰もが体験する悩みだろうし、色々感情移入できる場面
 も多かった。あとすごいお金と情熱をかけてるなぁとしみじみ思いました。

【響け ユーフォニアム
 京アニだけあって作画は完璧ね。(´・ω・`)らんらんは元々合唱団所属
 でベースパトリだったので、音楽にかける情熱というのはとても共感でき
 るのです。また人によって、その気持ちに強さの違いがあって軋轢が生まれて
 団をやめたり・・・というのも体験しているので、すごく共感できました。
 どんな時でも他人の気持ちを考えるのは大切だと思います。


※なぜか今年見た
ガールズ&パンツァー
 WOTの影響で見た。ヘッツァーとLee先生がかっこ良かった。劇場版の
 センチュ君がすごく気になります

TARI TARI
 SHIROBAKOの影響で、(´・ω・`)らんらんも元々は合唱団所属ということも
 あったが、あまり関係なかった。とはいえ心情描写が上手くできてるなぁと
 思いました。


※切った
おそ松さん
 1話だけ何回も見た。うん、(´・ω・`)ぱろでぃー

【Overload】
 4話くらいまで。子安の演技見たら満足しちゃった

(´・ω・`)最近はグラブルばっかり

【WoT】 
面白いし1000時間超えたけどさすがに飽きてきた
グラブル】 
あまり疲れないで楽しめるので続けてる Rank70から仕様を理解し始める 今Rank73
【ゼノブレクロス】
疲れる割にあまり楽しめないなぁ ゼノブレに比べてシステム、BGM、ストーリーどれも劣ってる・・・
【フリゲ】
適当にやってる 疲れないゲーム多くていいのぅ

ゲーム履歴作成予定

1982年2月生まれの(´・ω・`)のゲーム履歴だよー♪
曖昧なところ多いけど頑張って書く予定(`・ω・´)
多分この時代にこのゲームまだ発売されてねーよっていう記憶もあると思う

ゲーム名 機種 ジャンル 開発元 時代 昔評 今評 プレイ時間 クリア? 備考
フロッガー PC? ACT コナミ 3歳〜5 15h 3歳児には神ゲー
スーパーマリオブラザーズ FC ACT 任天堂 5歳 20h 宮本茂さんは神
夢幻戦士ヴァリス FC ACT テレネット 6歳 KSG 6h 難しい
ファザナドゥ FC ARPG ハドソン 6〜7歳 10h クリアしたのは大学生、ハドソンがファルコムの元社長に嫌われるきっかけとなった作品
覇邪の封印 FC RPG 工画堂 6歳 15h クリアしたのは大学生、小学生には無理
ドラゴンクエスト2 FC RPG ChunSoft 6〜7 25h 親がクリアしたのは見てた、今でも楽しい
マリオブラザーズ FC ACT 任天堂 6〜7 2h 友人宅でそこそこ楽しんだ
ブロックくずし PC? ACT ?? 6〜7 20h 家にあった謎ブロック崩し
忍者ハットリくん FC ACT ?? 6〜7 KSG 1h 友人宅で、やらせてもらってすぐ挫折
バードウィーク FC ACT ?? 6〜7 KSG 2h 友人宅で、FC制覇スレストッパー
アイスクライマー FC ACT ?? 6〜7 20h コンテなしのクリアは難しく、FC制覇スレで非常に盛り上がった
銀河の3人 FC RPG 九葉真他 6〜7 KSG 1h 元はPCだが。。。これも友人宅で、エンカ率高い
けっきょく南極大冒険 FC ACT >> 6〜7 1h 友人宅で、割りと楽しかった
ミネルバトンサーガ FC RPG ?? 7〜8 50h 当時は攻略本ありでもクリアできず高校生でもクリアできず大学生でクリア
邪聖剣ネクロマンサー PCE RPG ハドソン 7〜8 60h 多分5回くらいクリアした
ビックリマンワールド PCE ACT ハドソン 8〜10 60h なぜかクリアできた
FF3 FC RPG スクウェア 8~10 25h 当時でもレベル99バグ見つけるくらいやりこんだ
スクウェアのトムソーヤ FC RPG スクウェア 9~10 25h 当時はジョーカーらへんまでしかいけず、大学生でクリア
アクトレイザー SFC ACT クインテット 9~11 40h イースチーム、ある意味神ゲー 古代さんは当時気づかなかったがすごい好きな曲
FF4 SFC RPG スクウェア 9~11 60h 当時感動して、大学生では6時間くらいでクリアできるくらいのやりこみ
天使の詩 PCE RPG 日本テレネット 10~11 20h 難しくてクリア断念した なるけが参戦したゲームなんだっけ?
弁慶外伝 PCE RPG サンソフト 10~11 10h なんか難しくてクリア断念した、本宮ひろ志
FF5 SFC RPG スクウェア 11~13 100h 大学生で調合マスターか、安価ジョブクリア済
白き魔女 PC98 RPG ファルコム 11〜12 45h 当時の演出は神クラス、2週した
FF6 SFC RPG スクウェア 12~14 65h なんかレベル99にしようかなぁと思ったら飽きてたなぁ
朱紅い雫 PC98 RPG ファルコム 14〜16 70h 魔法特化が楽しい、3週した
アーリィキングダム PC98 RPG KSK 14〜16 15h 初のごちゃまぜシステムだった気がするが、バグが多くて断念
ダークセラフィム PC98 RPG KSK 14〜16 25h 良バランスでさくっとクリアしました
ラグナレック PC98 RPG GLODIA 14〜16 25h 姉貴はクリアしたんだがなぁ、終盤で挫折した
海の檻歌 WIN RPG ファルコム 19〜20 70h 演出が良いです
空の奇跡FC WIN RPG ファルコム 22〜23 30h EDの演出は卑怯な気もする
World of Tanks PC FPS WG 32 1000h - 15vs15のMORBなので気楽に楽しめる
メタルマックス4 3DS RPG データイースト 32 50h 亀狩り→ボス退治とコツをつかんでしまった感がある
東京ザナドゥ Vita ARPG ファルコム 33 30h - うーん、まぁ面白いけど今は積んでる
この世の果てで恋を唄う少女YU-NO PC98 ADV elf 32 30h 後のADVゲーに大きな影響を与えたゲーム

モンハンとパズドラに言いたいことを読んで。 についておかしいと思ったところ

●コマンド選択式RPGがほぼ壊滅状態。

 最近でも、ポケモン、軌跡、ペルソナ、世界樹メタルマックス、アトリエ
 等等でてるんで、あまり壊滅してる印象はないと思います。
 本数的にもすごかったり、アニメ化してるのとかもあります。
 (洋ゲーはあえて外してます。和ゲーで挙げてないのいくつかあるのはすいません)

アクションRPGへの舵取り

 結構昔からアクションRPGはあるので、インターネットで
 変化したというのは暴論ではないかと思います。

●ゲームが全然売れない中一つのゲームが爆発的な売上を記録

 モンスターハンター以前にも真三国無双あたりで十分爆発的に売れてたので、
 少し暴論ではないかと思います。

●近年のゲームはそもそもWikiや友人と遊ぶことを大前提に作成されていることが多い

 本当?本当?本当?
 遊び方は人それぞれ、ゲーム次第じゃないかなと思います。
 Wiki見ないでプレイする友人とか周りにいない?
 てか私がRPGだとあまり見ないので、信じられません。
 (見る人は見ると思いますが)

 友人と遊ぶことを前提として作成されている については一応同意しますが、
 (じゃあ、なんでデモンズゲイトとかなんであんなに売れてんだよとも思ってます)
 個人的にはそんなの関係なく面白いゲーム作って欲しいと思います。

 他のところは一応同意できるところもあると思いました。