分かんない!!「分かんない!!私には分かんないの!! 」なんて分かんない!!私には分かんないの!!

「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! 
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!『罪深い』って何なの!?罪があるのの何がいいの!?犯罪者がかっこいいの!?そもそも『混沌』って何!?カオス!?だから何なの!?『闇』って何!?暗ければいいの!?『正義』と『悪』だと、何で『悪』がいいの!?何で悪い方がいいの!?悪いから悪なんじゃないの!?右腕が疼くと何でかっこいいの!?『自分の力を制御できない感じがたまらない』って、何それただの間抜けな人じゃん!! 
ちゃんと制御できる方がかっこいいよ!!立派だよ!!普段は力を隠していると何が凄いの!?そんなのただの手抜きだよ!!隠したりしないで全力で取り組む人の方がかっこいいよ!! 
どうして二つ名とか異名とか色々付けるの!?いっぱい呼び名があったって分かりにくいだけじゃん!!英語でも何でもカタカナつけないでよ!!覚えられないんだよ!!鎮魂歌って書いてレクイエムって読まないでよ!!禁忌って書いてタブーって読まないでよ!! 
聖戦って書いてジハードって読まないでよ!!※ 
ギリシャ神話とか聖書とか北欧神話とか日本神話とか、ちょっと調べたくらいでそういう話しないでよ!!内容もちゃんと教えてくんなきゃ意味が分かんないよ!!教えるならちゃんと教えてよ!! 
神話に出てくる武器の説明されても楽しくないよ!!グングニルもロンギヌスもエクスカリバーもデュランダルも天叢雲剣も意味不明だよ!!何がかっこいいのか全然分かんない!! 
他の用語も謎なんだよ!!原罪とか十戒とか創世記とか黙示録とかアルマゲドンとか、『名前がいいだろ?』ってどういうこと!?『雰囲気で感じろ』とか言われても無理だよ!! 
相対性理論とかシュレディンガーの猫とか万有引力とか、ちょっとネットで調べただけで知ったかぶらないでよ!!中途半端に説明されてもちっとも分からないんだよ!! 
ニーチェとかゲーテの言葉引用しないでよ!!知らない人の言葉使われても何が言いたいのか全然わかんないんだよ!!自分の言葉で語ってよ!!お願いだから私が分かる事話してよ!! 
『ちゅーに』って何なの!?『ちゅーに』ってどういうことなの!?分かんない分かんない分かんない分かんない、分かんなーい!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」


こんにちは、老害生ガナリヤです><
もう三月で4年生でいられるのは後少しになりました・・・

来月からは外部生になるため、TNPにたまに遊びに行くみたいな感じになってしまいます(かなしい

さて、消えるまえに記事をいくつか投稿していきたいとね 思いますね(老害なりの賑わせ)

みなさん、「異能バトルは日常系のなかで」は知っていますか?僕は知っています(競プロ構文)

「異能バトルは日常系のなかで」の画像検索結果

5年ぐらい前のアニメで(もっと前か)
異世界能力をもつ人間がなにかしらするみたいな内容だったと思います><
覚えてない(そもそも見たっけか)

このアニメの中で

「異能バトルは日常系のなかで わかんない」の画像検索結果

上記の早見さんが2分強一発取りの
長台詞があります><(すごい)
冒頭のやつですね

櫛川鳩子(キャラクター)が、主人公の厨二病に対して
幼馴染として理解しようとはしてきたもののやはり理解できず
感情が高ぶった際の長台詞です(すごい)


今回、この長台詞を冒頭に書きましたが
このアニメのこのシーンをしらない人にとっては
「わかんない!」がわかんないよ!ではないでしょうか?

というわけでプログラミングしていこうと思うわね・・・🐍


まずは、「わかんない!」を出力するコードを書いていきます

string func(int n) {
    if (n == 0) {
        return "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    }
    return ""; 
}

上記はC++ですね><
main文で


int main() {
    cout << func(0) << endl;
}

のようにすると

「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」

と出力されます(一部をカットしています)

しかし、今回はこの「わかんないよ!」がわかんないよなので
わかんない要素をわかんない再帰にしていきます



string func(int n) {
    if (n == 0) {
        return "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    }
    string s = "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『" + func(n - 1) + "』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『" + func(n - 1) + "』のどこがかっこいいの!?『" + func(n - 1) + "』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    return s;
}

int main() {
    cout << func(3) << endl;
}

上記のようにすると

「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがかっこいいの!?『「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!!
『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」
』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」

になりますね だいぶわかりません。


さて、わかんない要素がわかんないよになりましたが
これで「問題点」がありますが わかりますでしょうか?(説明不足でわかんないよ)

このままでは、いわゆる再帰処理の爆発が起こりますね><
一個の関数で3つの関数を呼び出すので
深さが$d$のとき、$3^d$だけ処理が行われてしまいます、これでは虚無ですね

というわけで、メモ化再帰にしていきましょう

string dp[100];

string func(int n) {
    if (dp[n] != "") return dp[n];
    if (n == 0) {
        return "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『ブラッディ』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『狂う』のどこがかっこいいの!?『クレイジー』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    }
    string s = "「ジューくんの言ってる事は一つも分かんないよ!!ジューくんがいいって言ってるもの、何がいいのか分かんないよ!!分かんない!!私には分かんないの!! \n"
               "『" + func(n - 1) + "』って何がかっこいいの!?血なんてイヤだよ痛いだけだよ!!『" + func(n - 1) + "』のどこがかっこいいの!?『" + func(n - 1) + "』のどこがいいのか分かんない!!ジューくんの言う事は、昔から何一つ、これっぽちも、分かんないんだよぉおおおおーーーーっ!!!」\n";
    return dp[n] = s;
}

int main() {
    cout << func(10) << endl;
}

上記はメモ化再帰のコードです。
ある深さ$d$にて処理が呼ばれたとき、再帰処理で子供に処理を任せて
その結果を取得しますが
その結果をまとめ上げてそのままDP配列に入れます。
これによって、もし一回計算したらもう一度計算しなくて良くなりますね!

こうすると、もともとの文字列の長さを$S$とすると
もとの計算量は$O(3^d|S|^2)$でしたが
$O(d|S|^2)$にまで改善されます(はずです、計算量見積もりなので微妙なラインです)

これなら、深さ的には問題ないコードになりました!
ボトルネックは文字列自体の長さに依存します。


競プロを用いて、わかんないよの計算量を改善しました。
メモ化再帰は、通常のDPと比較すると
ランダムに更新が行われるような遷移に対して有効ですね><

ガナリヤでした><

【月一】話のエントロピーがああぁぁぁ!(?)

皆さんこんにちわ、kurokuです~

2月は大学も春休みへ突入し、絶賛ぐーたら生活を送っています。

世間では新型肺炎が広がっていますが僕が関わる県にはまだ感染者がいない(っぽい?情弱かも)ので一安心といった気持ちです。皆さんも外出には気を付けて!(僕も新幹線で帰るので怖いね)

さて、今回は先月の記事で競プロかUnityについて書くといったので、それらについて雑に書きたいと思います。

Unity

そもそもなんで今更Unityについて学び始めたかというと、「AR(拡張現実)」について興味を持ったからです。

今までは情報工学よりも情報科学・情報理論のほう(特に暗号・セキュリティ)に興味を持ってたんですけど、うちの大学はそれ系の研究室がないのでどうしよっかな~と思ってたところ、こんなニュースが目につきました。

 

「ARコンタクトレンズ」https://www.itmedia.co.jp/news/articles/2001/17/news076.html

 

近未来的で素敵やん!

 

ところで皆さんは「アクセル・ワールド(AW)」というラノベ・アニメを御存じでしょうか?

この作品の作者は言わずと知れた「ソードアート・オンライン(SAO)」の作者、川原礫さんなのですが、僕はAWがとても好きで、VRではなくARに興味をもったのもこれが大きい気がします。(VRもARも似たようなもんですけど(こんなこと言ったら怒られるかも))

(一番好きな表紙はちょっとエッチなので二番目に好きな表紙)

AWの作中では「ニューロリンカー」というウェアラブル端末が普及していて、各人の脳波を読み取って本人認証をしていて(たしか)、他人のニューロリンカーを勝手に外すことはかなりの罪となっています。

 

AWもSAOみたいに(SAO見たことないけど)VRゲームを中心としたバトルで、人間関係あり、という作品なんですが、このゲームがすごい。

なんとゲームアプリを起動(?)すると思考が1000倍に加速され、現実時間で1.8秒しかたっていないのに、ゲーム内では30分も時間がたつことになります。

まぁAWの説明はここらにしておいて(面白そうと思った人はお声がけください(秋田の家に最新刊までそろっているので貸します))、こんな感じもあってARアプリ作りてぇなぁ(唐突)と思ったわけです。

 

開発環境はいろいろあると思いますが、調べると「ARKit」か「Vuforia」が有名らしい。これらはUnityを使った開発になるのでまずはUnityの基礎的な部分を学ぼうと思ったわけです。

 

とりあえず買ったのはどのサイトでもおすすめされている「猫本」(僕が勝手にそう呼んでるだけですが)

少し厚いですがイラストがあったり、繰り返し同じことが書いてあったりで、プログラミング初心者にはわかりやすく、基礎プログラミングはわかるUnity初心者にはサクサク作れて非常に有用な本だと感じました。(これも声をかけてくれればお貸ししますが、僕も見たいのでMAX1週間くらいで)

後者の僕は春休みに入って一週間程度で終わらせることができました。

んでまぁ、「Vuforia」とかについても調べよう~とおもって調べたら、なんとまぁ僕のiphoneには対応してませんでした~(ぴえん

この機会に新しいのに変えるか絶賛悩んでおります。

 

ここまでが2月のUnity関連。

競プロ

※特に色が変わったわけでもないので内容は薄いです。

 

ここのところ非常に伸び悩んでいる。まぁ精進の質が悪いと言われればそうなんですけど、D問題を早解き出来ないんですよね。C問題まで:10分以内、D問題:50分みたいなことが多すぎる。いかに感覚でやってきたか、ボロがでてますね。

 

一方で、DPについての実装力は少し上がったと思います。ただ、持つ状態を間違えるとそこで沼にはまってグダグダになっちゃいますけど。

最近はこの記事(https://qiita.com/e869120/items/f1c6f98364d1443148b3)を中心にやってますね。(※初級編とありますが難しい問題もあるので詰まったらさっさと次の問題に進んでみましょう)問題を解かずとも、アルゴリズムの解説だけ見れば知識が増えると思います。

僕はJOIの問題形式が苦手です。入力の形式がわかりづらいので設定した変数を間違えたりします。問題読んでないだけですけどね。

 

あとここ3日くらい?起きて(昼)ご飯を食べた後にバチャコンをやっています。内容は1時間で300~400を5問解くって感じの早解きを目的としたバチャですね。興味あったら是非。

僕のtwitter:@76want_pc

あとは…そうだな..

7月のICPC国内予選、秋大では2チーム確定(?)しているんですが、どちらのチームも1人ずつ足りていません。片方はTNPの(4月~)院生2人、もう片方はTNPの(4月~)3年2人です。出てみたいと思う人はいつでもいいですが、早めに声をかけてもらえると、教えられる事、時間が増えるのでチームとしても嬉しいと思います。どちらのチームも横浜大会に行けるポテンシャルはあると思います!(本当か自分)

まとめ

毎度のことながら一生懸命何かしたというわけではないので、内容は薄いですが、勘弁してください。

他に書くことがあるとするなら、CTF(capture the flag)ですか。春休み前にちょっと話題に出たんですが、全然手を付けてませんね。というのも競プロと違って環境構築~とか入門~みたいな情報が少なくてちょっとした時間では触れれないと感じました。(前提知識多そうだしね)

 

次回で【月一】の投稿は終わりですが(は?)、4月もどうせサークル勧誘的な記事を書くと思うので、もうちょっとだけ続くんじゃよ。

(来月も学校ないから、話題ないじゃん!急いで水色にならなければ)

 

といったところで今月は以上です。kurokuでした~体に気を付けて~

ゲームジャム(1年生向け&春休み突入編)

 こんにちは、2年次のまんじゅうです。今回は2月11日(火)にゲームジャムを行いました。今回はいつもの個人作業では無く、ゲーム制作が苦手な人が主となって制作し、詰まったらペアの得意な人に助けて貰いつつ制作していく、ペアプログラミング形式(厳密には違う気がしますが)で行いました。

 今回のお題は「階段」、「決闘」、「超常現象」、の3つと、時期的に丁度良かったので「チョコレート」を含め、計4つに設定しました。

 下に各参加者の成果物を紹介していくので、是非ご覧下さい。

成果物紹介

1年 なりょー (補助 ズッキー(2年))

制作環境 Unity

 「決闘」を使った対戦ゲームで、一言で言うと「スマブラ」とのことです。相手に攻撃すると20%のダメージが溜まり、一定のダメージが溜まるとスマブラの様に場外に吹っ飛ばせます。見ていて爽快感があるゲームだと感じました。

右側の生物が伸ばしている触手みたいな奴が攻撃です
勝利判定もしっかり出ます

 

1年 ハイブリッジ (補助 まんじゅう(2年)、いっちー(3年))

制作環境 DXライブラリ

 「階段」を使ったアクションゲームで、次々に出てくる床に飛び乗っていくゲームです。ゲーム自体はどんどん生成される床にひたすら乗り続けると単純なものですが、強制スクロールをさせたり、画面の左右をループさせたりとシステム面でいろいろな工夫を凝らしているのが印象的でした。

常時ジャンプしていることもあり、意外と難しいんです

 

2年 クマ (補助 まんじゅう(2年))

制作環境 DXライブラリ

 「決闘」を使った作品で、一言で言うとカービィの「刹那の見切り」ですね。3ラウンドあり、ラウンドごとに入力猶予時間(敵の強さ)が厳しくなっていきます。早押しが始まるタイミングを乱数でずらしているようなので、結構再現度が高く仕上がっていると感じました。

直撮りで申し訳ないとの事でした。勝敗画面はかなり面白かったです(ここでは色々まずいので割愛)

 

2年 こうぐち (補助 いっちー(3年))

制作環境 DXライブラリ

 「超常現象」を使ったタイピングゲームで、タイピングによる不思議な力でリア充を不幸にするゲームのようです。ゲーム自体は普通のタイピングゲームですが、ゲームの設定が凝っていたり、タイピングが成功した際の加点がやたら高得点だったりと印象に残る所が多い作品でした。

開催したときはホットな話題でした。投稿遅くて申し訳ない
タイピングに成功するとここから1億点(確か)増えます

 

4年 HIM

補助 まんじゅう(2年)

制作環境 DXライブラリ

 4年次ですが、「慣れていないDXライブラリで何か作ってみたい」ということでこちらの枠で紹介します。「決闘」を使ったゲームで、簡単に言うと「本田のじゃんけん」ですね。ただ元ネタの関係で、勝率3分の1の普通のじゃんけんでは無く、相手の勝率が7割程になっているそうです。勝敗を決め、それから相手の手を決定するようにしているということで、上手く再現できていたように感じました。

手の選択は緊張します
相手が勝ったら煽ってきます。3通りあるそうです
こちらが勝った版も。こちらも3通りあるとのこと

最後に

 今回は普段と違う形式でしたが、教えて貰う側はもちろん、教える側も教える立場ならではの発見もあったりしたので、両者が学べる良い会になったと思います。

 ただ、今回意図せず「決闘」という非常に簡単にゲームの方向性が決まるお題を入れてしまったためにそれを選んだ参加者同士が似たような作品になりやすい環境にしてしまいました(今回は完全な被りはなんとか回避しましたが)。そのため、今回の反省を活かして次回以降の開催ではもう少し慎重にお題を決めたいと思います。

 また、実は今回ちゃんと意図があってゲームジャムの形式を変えていました。というのも、あと1ヶ月程で新入生が入ってくる(はず)ので、この会でノウハウを学んで春休みや今後の制作活動の糧にして、今のうちに制作活動に対する抵抗や苦手意識をある程度和らげてもらいたいと考えたからです。結果としては計8人と普段より参加者が多く、またゲームジャム初参加の人もいたため、悪くは無かったように思います。欲言えばもうちょい1年来て欲しかった

 ここだけ現役部員向けの話になりますが、春休みもまだ1ヶ月残っているので、今のうちに夏コミの作品を作っておく事をオススメします。今年は5月の連休に開催で、4月が忙しくなりがちなので、春休みが終わってしまうとほとんど時間がありませんし。皆で頑張っていきましょう。

 長くなりましたが、最後まで見て下さってありがとうございました。

ゲームジャム(センター試験直前編)

はじめに

 

 お疲れ様です。2年次のまんじゅうです。今回はセンター試験直前の数日が休講日であったため、1月16日(木)にゲームジャムを開催しました。
約1ヶ月程遅れてしまったので、すっごく今更な報告となります。申し訳ありません(見てる人どれだけいるか分かりませんが)。

 今回のお題は、「太陽系」、「エネルギー」、「瓦」と、センター試験直前ということで「受験戦争」を追加し、合計4つ設定しました。

 今回も参加者からの成果物の紹介や感想を貰っているので、最後まで見て頂けたら幸いです。

成果物紹介

1年次 ハイブリッジ

開発環境 DXライブラリ 
テーマ:瓦

 エンターキーを連打してパワーを溜めて、瓦を割った数を競うゲームです。システムは出来たと思うのでグラフィック面を今後の課題として頑張ります。

1年次 なりょー

開発環境 DXライブラリ 

 どうも。1年次のエターナルデスサイズです。嘘です。なりょーです。
 今回のゲームジャムではunity3Dを使ってエー〇コンバットのような操作を実装したかったのですが、 自キャラが旋回すると前後上下左右がずれていくという問題を残したまま終わってしまいました。
 自キャラの上、前、右に適当なオブジェクトを置いてそれとの相対ベクトルを取ればよくね?と思いつきましたが試していません。また、制作当初はAddForceを使って瞬間的な加速の実装も目指していましたが、慣性の効き具合が納得いかなくてやめました。どうするといい感じになるのか、教えてエロい人。

1年次 UMA

開発環境 Unity

 「カ〇ジの沼」です。音声素材については著作権ガン無視なので未来永劫公開されることのないプロジェクト・・・とのことです。

2年次 まんじゅう

開発環境 DXライブラリ 
テーマ:太陽系、エネルギー

 今回はキーを連打する、タイミング良くキーを押す(2種類)の3種類のミニゲームをこなして、それらで貯めたパワーで太陽系の星々を破壊していく、という感じのゲームを作成しました。○ービィの○ガトンパンチを彷彿とさせますね(似せたつもりは無かったのですが、気がついたらこうなってました。許せサスケ)。
 システム面は完成しましたが、グラフィック面がしょぼい(背景のループ処理位しか実装できていない)ので、今後はちゃんと楽しめるゲームに仕上げていきたいと考えています。

2年次 ズッキー

開発環境 ブレンダー

 ブレンダーを使った初めての作品です。あまり複雑でないもの(ツール?)の中でポケモンのコオリッポを作成しました。
作業を通してブレンダーの基本的な操作を学べたと思います。

3年次 いっちー

開発環境 DXライブラリ 
テーマ:受験戦争

 適度に休憩を取りながら受験勉強に励み、志望校合格を目指すゲームです。
 遊び方は簡単で、勉強や睡眠などの行動を選択してストレスや眠気が限界を超えないように勉強量を増やしていくだけです。
 勉強以外の行動は1回しか選択できず、ストレスや眠気が限界の状態で勉強を選択すると、倒れてしまいゲームオーバーとなります。

 各行動時のパラメータ変化
[ 勉強 ]  勉強量:+1 ストレス:+2 眠気:+1
[ 睡眠 ]  ストレス:-2 眠気:-2
[ お風呂 ]  ストレス:-1 眠気:+2
[ マンガ ]  ストレス:-1
[ お菓子 ]  ストレス:-1 眠気:+1
[コーヒー]  眠気:-2

最後に

 やっぱりゲームジャムはいいですね(いつもの)。
こういう機会があれば初めて触る環境や技術も試そうと思えますし、なにより長時間制作活動に専念できる上に分からない点は他の人から教えて貰えるので、作業が捗ります。
 また、今回は人数が多めだったので、作業中は部屋に活気があったように感じました。次回以降もこのくらいの人数は欲しいなあ(願望)。

 それと、今回はお題を考えずに自分が制作したい物を作っている人が多かったですが、個人的には全然アリだと思います。理由としては、一番大きいのは参加者自身のモチベが上がりやすいからですね。

 他にも色々理由っぽいのはありますが、長くなるので今回は割愛します。この辺りは近いうちにポエム枠の記事で気持ちを語るかもしれません。

 最後まで見て頂きありがとうございました。また次回の報告で会いましょう。

【月一】SCP概論Ⅰ【雑談】

はじめに

(1/31 24:18に書き始めました。ギリギリ1月ですね。月一投稿は守れていますね!えらい!)

 

こんにちは、kurokuです。今回はホワイトボードに題材が寄せられていなかったため、雑談回としてSCPについて紹介したいと思います。

自分が知っているSCPはほんの一部ですのでもし興味が湧いたら本家の記事や解説記事、動画でほかのSCPもみてみてください。

 

SCP一覧:http://ja.scp-wiki.net/scp-series

 

SCPってなんぞや?

簡単に言うと怪奇現象、異常存在のこと。物語シリーズの「怪異」みたいな。SCP財団という組織はこれらの存在を確保(Secure)、収容(Contain)、保護(Protect)することを目的に秘密裏かつ世界規模の活動を行っています。

各SCPは3つのオブジェクトクラスに分類されています。

<Safe>

正しく収容している限りは安全。

<Euclid>

収容が困難であったり、収容しても安全と限らない。知性、自我を持つオブジェクトは大体これ。

<Keter>

収容がほぼ不可能。必ずしも危険とは限らない。(大体危険)

SCP紹介

以降は有名、おすすめなオブジェクトの記事と若干の解説(あるものは)を書いていく。(ネタバレ防止のため、解説は折りたたんでおきます)

ホラー系は注釈入れます。

・王道系

SCP-173(http://ja.scp-wiki.net/scp-173)
(ちょいホラー?)

本家(英語サイト)では「The Original」という題がついている。題名からわかる通り、このSCPがきっかけでSCPの物語が作られるようになった。

通称「不死身のクソトカゲ」でおなじみのSCP。このSCPに対して財団の最高位委員会O5から破壊試験の命令がされている。これ以上の力をもつSCPを作ってはいけないとされるほど。

SCP-040-JP(http://ja.scp-wiki.net/scp-040-jp)
(ちょいホラー)

Twitterとかでも見られるネタ。JPというのは日本で生まれたSCPという意味でほかにもRU(ロシア)やCN(中国)など各国のSCPが存在する。ねこはいます。このSCPを初めてみたときは、ほんとに画像が頭から離れない感じでドキドキしましたね。あれはねこです。YouTubeとかにBB素材もあると思うのでよかったらどうぞ(誰もねこはそこに居ますいらないだろ)

イケメン「アベル」君ですね。補遺ではプロトコルで描かれた凶悪な存在とは違う一面も垣間見えます。

・感動系

感動系SCPの中では一番好きなSCPかもしれません。オブジェクトクラスNeutralizedとは破壊もしくは異常性がなくなったオブジェクトが属するクラスです。精神が宿る系の話はほかにも多くありそうです。

SCP-1983(http://ja.scp-wiki.net/scp-1983)
(微グロ・ちょいホラー)

死を悟ったエージェントによる手掛かりとDクラス職員(実験のための使い捨ての人材)の勇気によって無力化されたSCPです。読んでいてわかる通り、難解な内容(今回は間取りですけど)の記事もあるので考察のし甲斐があり面白いですよね。

・ギャグ系

オブジェクト名からわかる通りネタ系のSCPです。JはJoke(ジョーク)を意味しています。

カニですね。確かにカニです。ネタのためにページも弄ったとかにがえるとそこにもクスっとかにますよね。

・難解、考察系

文書を読んだだけだと「意味わからん」となりますが、補遺を読むと納得できます。このSCPは補遺で解説されているだけ親切ですね。

あれ?これだけSCP○○の表記がありませんね。記事の内容も、初めて出てくる名称がたくさん出てきています。そして最後のインタビュー記事、なぜ女性(兎)は苦しんだ様子なのでしょうか?


解説 このSCPを理解するためには「名称」を注意深く読むことが大切です。SCP内では「名辞する」という行為は、名辞した人間の存在が改変され、名辞した対象(とその付近にあるもの?)の概念が人間に流れ込み、肉体や名前が変化することを意味する。以上のルールを兎は知っており、博士に「博士と兎は学者仲間」という認識をさせようと何度もそう呼び掛けています。博士が学者仲間であることを認識した上で、兎が「そよ風が家の中を通り抜ける。」の一文前で「学者の友」と呼ぶことで博士という概念が兎に、兎の概念が博士に移りました。つまり、上の描写以降のピンク文字は博士、博士の言葉は兎の言葉ということです。泣いていたのは博士だったんですね。また、後記からわかるように名辞には周囲の現実改変能力もあるようです。もっと詳しい解説は以下のページを参考に。https://scpnote.com/archives/scp-4000.html

(疲れた。禁忌難しすぎ)

EXというのはExplainedオブジェクトクラスで、実はSCPじゃないねっていうオブジェクトに振られるクラスです。


解説 実は今我々が見ている色はSCPによって汚染されているという話。白黒写真こそが本来の色であり、汚染前の美しい色である。この汚染が止められないと考えた財団は人類に、今までの色も汚染後の色のものであると認識させることでEXとした。

 

・絶望・終焉系

K-クラス世界終焉シナリオとはその名の通り、世界の終わりです。特にこのSCPは自己増殖によるNK-クラスシナリオにつながり得ます。

まとめ

マジでSCPのことしか書いてないな。。。サークルのブログで書く意味なくない?

月一を維持するために1/31 27:50に書き上げたので許してください。何もしないけど。

 

この記事で紹介していないSCPがまだまだあるので(本当にまだまだ。7000個くらい)興味を持った人はぜひ調べてみて下さい!

 

以上kurokuでした。来月はちゃんとプログラムのこと書くから!(Unityか競プロか)

 

【月一】もう年末ってマ?

実家にいるときは親戚が来たり、餅の準備的なことがあって年末年始感がありますが、一人暮らしだとほんとに何もかんじないですよね。

どーも。kurokuです。

12/30、僕は15時に起きて、16時からRiJのマリオ5リレーを見てからこの記事を書いています。脳みそどこ…?ここ…?

RTA面白いからみんなもみよう!(見よう!)

 

RTAinJAPAN

https://www.youtube.com/channel/UCV8gEA4XEycdFx-myEpokLg

 

 

今回で2019年最後の記事となりますが、そんなの関係なしにつらつらと書いていきます。

さて、今回の題材としては「ゲーム制作でのポインタの使い方」、「ブログのおすすめ」があったのでそれについて触れていきます。

ポインタって何だっけ?

ポインタは変数をメモリ的に直接扱うことのできる型でした。

変数とはあくまでメモリ上のどこかに確保された領域であり、そのアドレスを指し示すのがポインタです。ポインタは*や&といった演算子を用い操作を行います。

*aと書けばアドレスaに格納されているものを表すことになりますし、&aなら変数aのアドレスを表すことになります。

例えばaをint型としてscanf(“%d”,&a)と書いた場合、変数a(のアドレス)に入力した値を格納します。ここで、aをはじめからアドレスを表す方で宣言した場合は以下のようになります。

int main() {
  int a_;
  int* a = &a_;         //ポインタは初期化が必須
  scanf(“%d”, a);       //3を入力
  printf(“%d\n”, *a); //3
  printf(“%d”, a_);     //3
}

scanf()入力された値をアドレスに格納するので、int*で宣言されたaには&をつける必要がありません。またa_とaは実質的に同じアドレスを指しているので、a_に入力していないにもかかわらず*a(アドレスaの中身)に値が格納されたことで、a_にも値が入ったということになっています。

ポインタを使おう! 使お… 使うの…?

さて、このポインタという概念ですがゲーム制作をする上では全く(は言い過ぎですが)意識する必要がないことが多いです。

皆さんはメモリを意識してゲームを作っているでしょうか?

「この値は高々10000だからshort型でいいや」とか「そんなに精度いらないからfloatで」とか考えてないですよね。その理由はリソースがたくさんあるからです。皆さんのPCのドライブは何GBくらいでしょうか。どんなに少なく見積もっても100GBはありますよね(知らんけど)。ゲーム会社が販売してるゲームでも100GBのメモリを必要とするゲームはないでしょう(多分)。

つまりラズパイなどのハードウェアをいじるのを除けば、メモリを意識する必要なんて今のご時世そうそうありません。なのでポインタのことなんて今年で忘れちゃいましょう!

なんて言うと思ったか!

いや、その通りなんですが、普通にプログラミングをしていてもポインタを使えると便利な場面が多々あります。

最たるものが関数への参照渡し。

以下のプログラムを考えます。

void f(int a,int b) {
  a = a + b;
}

void g(int* a, int* b) {
  *a = *a + *b;
}

int main() {
  int a = 3, b = 5;
  f(a, b);
  printf(“%d\n”, a);
  g(&a, &b);
  printf(“%d\n”, a);
}

これを実行すると

と表示されるはずです。ほとんど同じ関数なのになんで結果が違うのか、そもそもfでa=a+bされているんだから最初の表示も8じゃないのかという疑問が起こりますね。

なぜこんな挙動になるのか、関数では変数をコピーし、その新たな変数を変更するからです。

つまり上のプログラムで、関数fのaとmain関数内で定義したaのアドレスは異なり、関数fで足し算を行ったaはmain関数のaとは何の関係もないのです。

一方で、gではaのアドレスを関数に渡していますね。これを参照渡しといい、関数g内のaとmain関数内のaは同じものです。

 

これによって、ポインタを使えば関数内で変数の値を変更できることがわかりました。

ただし上のプログラムは関数fをvoid型ではなくint型にしてaを返せばよいです。これではあまり恩恵があるとは言えません。

 

しかし、複数の変数に対して操作を行いたい場合はどうでしょうか?

C言語では複数の型をまとめて扱う型がないので、複数の型の変数を返り値とする関数を作ることができません。

ここで参照渡しが威力を発揮するわけです。なぜなら返り値がいらないので。

 

また、ポインタが使われている代表的な構造として配列がありますが、C言語では固定長(つまり長さを決めたら増減できない)の配列しか宣言できません。が、mallocやcalloc、new演算子などを使うと任意の長さの(つまり可変長の)配列にすることができます。

これもメモリ上のアドレスをいくつか確保することにより実現されているのですが、メモリの領域にも種類があり、<s>よくわからない</s>複雑なので割愛します。

 

ということで、ゲーム制作に使うだろうポインタ知識はこのくらいで。

ブログは何がいいのか?

次の話題です。

ブログ始めたいけど、おすすめのブログあるか~って感じでしょうか。

自分もブログの種類詳しくないので、ゆる~く紹介していきます。

 

まずブログを2種類に分けたいと思います。

①発信のためのブログ

②まとめノート的なブログ

です。

 

①は自分が書いた記事をいろんな人に見てもらって、コメントをもらいたい。アフィで稼ぎたい。意見交換がしたい。など不特定多数に見られるのを前提とします。

一方で②はあくまで自分用。まとめノートやメモ書きなどとして書くものとします。

(正直非公開設定があると思うので分類がしなくてもですが)

 

①の代表例:

WordPress、はてなブログ、アメブロ、Qiiita

とかですかね(詳しくはhttps://ferret-plus.com/1301

 

②の代表例:

ScrapBox、note

とか…?(正直非公開にすればいいので

 

特に、理工系のまとめを書きたいならLaTeXで書けるScrapBoxがおすすめです。

 

LateXのコマンド一覧:

https://medemanabu.net/latex/latex-commands-list/

 

ただ、見やすくなりますが書くの面倒です。

また手書きしたものを画像として載せることもできます。(ペンタブ的なの持っていればそっちの方が楽)

 

あ、31日になりました。

 

まとめ

 

 

 

 

特になし。

 

ということで2019年最後の記事でした。

来年はインターン、TOEIC、研究室配属と大学が牙を剥いてくる一年になるかと思いますが、競プロやソフト製作も続けていきたいですね。

 

以上、kurokuでした~

【月一】競技プログラミングに触れる回

こんにちは、kurokuです。先月から始めたこの【月一】企画、第二回にして期限ぎりぎりとなってしまいました。先が思いやられますね。とりあえず年度内はこのペースを保っていきたいです。

題材提供

前回ホワイトボードで募集した題材の中に「DxLibで3D」というのがありました。これは厄介だ。なんといってもDxLibは2Dですら結構大変なコードの記述が必要です。例えば当たり判定なんかも、実装自体は軽めですが上下左右に適用したり、足場のふちに当たった際の判定など書かなければならないことが多くなってしまいます。

まぁDxLibのサンプルゲーム見ればなんとなくわかるやろ、と思って以下のページを見てみました。

https://dxlib.xsrv.jp/program/dxprogram_3D.html

その中でもゲームを作るのに重要そうなのは1とか19かなーってコードを眺めていました。

???

いや、それぞれどういう動作なのかはなんとなくわかりそうですが、デバッグ用のオブジェクトを置くのにも大変そう、変数の存在範囲が広すぎてパラメタがどんどん増えそう。といった感じがしてきてア。

そこで今回のタイトルは何だったでしょう?「競技プログラミング」?3Dゲームは?

はい、3Dゲームについての記事は書けませんでしたぁぁぁぁぁ

3Dゲーム作るならUnity使おう!マウス操作だけでオブジェクトが生成できる!(すごい!)Unityちゃんかわいい!

というわけで3Dゲームを作ってみたいって人はUnityをお勧めします。というかUnityなら何でもできます。(Unityがこの世界を作ったといっても過言

https://unity.com/ja

Unityは何といってもAsset storeが充実しています。Assetというのはいわば、物とか材質とかです。月末報告会でのまんじゅう君のUnityちゃんやYutaさんの車がそうです(多分)。これらには基本的なプログラムがあらかじめ作成されており、ゲームの動きさえ書いてしまえばOKという感じです!

ただ、Unityで使われている言語はC#で、バリバリにオブジェクト指向の考えを取り入れています。なのでC言語から入った人だとコードの違いに混乱してしまうかもしれません。幸い、ブログ記事などが多く書かれているので、C#が書けなくても調べさえすれば大丈夫なことが多いです。

本題

やっと前回の言い訳説明が終わったので、競プロの話をば。

競プロとはなんぞやというのは以前ガナリヤさんが書いた記事があるのでそちらを参考に。

http://akitatnp.wp.xdomain.jp/2019/03/23/tnp%e7%ab%b6%e3%83%97%e3%83%ad%e6%94%af%e9%83%a8%e3%81%ae%e6%b4%bb%e5%8b%95%e7%b5%90%e6%9e%9c%e3%81%a8%e4%bb%8a%e5%be%8c%e6%98%a5%e3%81%ae%e3%83%9d%e3%82%a8%e3%83%a0%e6%9e%a0/

(これリンクを短縮形で貼るのどうやってやるんだろうか

こうゆうのもあるよっていう紹介・体験を来週の水曜か金曜にやろうと思ってます。(2019/11/30現在)

冬コミのゲームできて(僕はまだ作ってませんが)当分はすることないやって人や少しでも興味があるって人は挑戦してもらいたいです。

内容としてはごくごく簡単めな問題を実際に解いてもらうって感じにしようと思います。配点としては100-100-100-200-200-300くらい?基本的に標準入力(scanf)、標準出力(printf)、if、for、配列ぐらいがわかっていれば解けるような問題を用意します。(1時間くらいを想定)

100点問題なんかはほんとに入力して、四則演算して、出力みたいなものですし、300点は少し頭を使うような問題と思ってもらえればいいと思います。

日本だとAtCoderが大きいコンテストサイトですかね。(来週の問題もAtCoderの問題を出題します)

https://atcoder.jp/?lang=ja

(ほぼ)毎週土曜21時からコンテストが開催されてます。よかったら参加してみましょう。

まとめ

競技プログラミングは名前からしていかついと思われがち(いや、しらんけど)ですが、やってみると楽しいです。競プロにはまっている人を見るとそんなに時間をとれないと思うかもしれませんが、たまに参加してみるでも全然いいと思います。

毎年夏~秋には大学対抗のICPCという世界規模の大会も開催されます。僕は学部生の内に一回は予選を突破して、横浜大会に出てみたいです。もし、一緒に出てくれる人がいたら全力でサポートするので、来週の回はそれの足掛かりにしてもらえればと思います。

そんな感じでまた来月~

kurokuでした!

ゲームジャム(文化の日編)

はじめに

 こんにちは。まんじゅうです。秋大祭お疲れ様でした。秋大祭という一大イベントも終わったことで、ついにTNPにも代替わりの時期が訪れ、新会長になりました。改めて、これから一年よろしくお願いします。

 本題に入りますが、11月2日(土)にゲームジャムを行いました。今回は企画したのが前日だったため、あまり集まらないだろうと思いましたが、参加者は4人とそこそこ集まりました。今回は文化の日前日ということで、「食欲の秋」、「運動の秋」、「芸術の秋」にちなんだお題として、「目玉焼き」、「障害物競走」、「一筆書き」の3つを(単語ガチャで)設定しました。

 参加者から成果物の紹介とコメントを貰っているので、 そちらも見ていただけたらなと思います。

制作物一覧

1年次 ハイブリッジ

開発環境 DXライブラリ

 このゲームは、自機である白い丸を操作して赤い丸に見つからないようにゴールを目指すゲームです。今回は自機と敵、フィールドと敵の視界まで実装できました。今後は敵の行動とスタート、ゴールを実装して、ゲームとして遊べるように頑張りたいです。

2年次 まんじゅう

開発環境 Unity

 「障害物競走」というお題があったので、3Dのシンプルな障害物競走を作ってみました。Unity初日でどこまでできるかやってみようと思って始めましたが、ほぼコーディング無しでゲーム部分が作れたのでとても驚きました。今後はシーン遷移を実装してタイトル画面とクリア画面を作って遊べる形のゲームにできるよう頑張ります。

3年次 いっちー

開発環境 DXライブラリ

 お題のひとつ「目玉焼き」を飛ばすゲームです。マウスをドラッグすることで、目玉焼きの飛ばす方向と力を決定します。目玉焼きをお皿の上に乗せることができればゲームクリアとなりますが、床の上に落ちるともう一度となります。

 ゲームジャム終了後に思い付いた上に、開発期間として1週間ほどかかったので、限られた時間でゲームを作るゲームジャムの趣旨とは違うものになってしまいました。

 ゲームジャム当日は、目玉焼きを作るゲームを作ろうと思ったのですが、良い案が浮かばず、ただ卵を割るプログラムができました。

4年次 HIM

開発環境 Webアプリケーション

『お絵かきソフト』

お題: 一筆書き
という訳で、作りました。
一筆ではないですが(挫折しましたorz)、お絵かきできます。

Javascriptとcanvasで作りました。

マウスで描きます。色とペンの太さを選べます。

一筆書がどーしても動かなくて断念したのが悔しかったです。次こそは…

最後に

 やっぱりゲームジャムは良いですね(テンプレ)。やる気も出ますし、何か新しいことにチャレンジする機会にもなるので。冬休みとかにまた開催したいですね。

 それと、今回試験的に1日だけの超短期間ゲームジャムを開催しましたが、皆ある程度形になっていて良かったです。これの影響でジャムの参加ハードルが下がればいいなと思います。

 それでは今回はこのあたりで。最後まで読んでいただいてありがとうございました。また次回のゲームジャム記事(多分)で会いましょう。

Top