もじばけおなう

個人的なメモ

ターミナルを地獄のミサワで満たして非モテ力を上昇させるライフハック

※終始やっつけ仕事

くだらないことしかやらないことで定評のあるわたくしですが、またくだらないことに力を注ぎました。

インターネッツをサーフしてたら horesase-boys というリポジトリを発見しまして。

rake fetch と rake build で地獄のミサワの名言jsonを生成するRubyなのですが、
jsonにする前のテキストはすべて手でがんばって管理しているという非常に漢らしいプロジェクトでございます。

これをどう遊びに使おうか悩みに悩んだ結果、
tail -f hogehoge みたいな感じでずらっとミサワが流れてきたら楽しいかもしれないと。
思ってしまったわけですね。


というわけでピーエッチピーでやってみました。

#!/usr/local/bin/php
<?php

$path = 'meigens.json';  // rake buildしてつくられたやつ
$meigens = json_decode(file_get_contents($path, 'r'), true);

while ($meigens) {
    $rand = array_rand($meigens, 1);
    echo "* ".$meigens[$rand]['title']."\n";
    echo $meigens[$rand]['body']."\n";
    sleep(1);
}


うん。つまらん。
これはつまらない。どうしよう。
なにがつまらないんだろうと四苦八苦。
よくあるRPGなゲームのセリフみたいに1文字ずつ表示されると少しはマシになるんじゃないのだろうか。

やりました。

<?php

$path = 'meigens.json';
$meigens = json_decode(file_get_contents($path, 'r'), true);

while ($meigens) {
    $rand = array_rand($meigens, 1);
    echo "* ".$meigens[$rand]['title']."\n";
    say($meigens[$rand]['body']."\n");
    sleep(1);
}

function say($txt, $duration = 0.8) {
    $words = mb_str_split($txt);
    foreach ($words as $word) {
        echo $word;
        usleep(sleeptime($word, $duration));
    }
}

function sleeptime($word, $duration) {
    $sleeptime = 100000;
    $punctuations = array(
        ',','.','','','','','','','!','?','','',''
    );
    foreach ($punctuations as $punctuation) {
        if ('' == trim($word, $punctuation)) {
            return $duration * $sleeptime * 5;
        }
    }
    return $duration * $sleeptime;
}

function mb_str_split($txt, $encode = 'UTF-8') {
    $result = array();
    while ($str = mb_strlen($txt, $encode)) {
        array_push($result, mb_substr($txt, 0, 1, $encode));
        $txt = mb_substr($txt, 1, $str, $encode);
    }
    return $result;
}

イメージ画像
f:id:mojibakeo:20121118153112p:plain

前よりはまだマシか…っていうレベル。
1文字ごとに分割するだけだとふいんき(なぜか変換できない)が出せなかったので、
句読点とか!とか?とか☆、★の場合はさらにちょいと間を置かせると、それっぽさが出るんですね!ははは!


なんだか結局むなしさだけのこったけど、これでニヤニヤできたら人生ハッピー!
これを tail -f してるエラーログのとなりに置いたりして仕事中にニヤニヤしてると
「あらやだなにあのひときもちわるい…」ってなって、よりいっそう非モテ力アップですね!


あ、今回の研究結果としては、
「ミサワは画像つきじゃないと、あんまりおもしろくない」ということでした!てへぺろっ☆彡


※わたくしが所属する Zynga Japan は解散が決定しましたので、現在絶賛転職先を探し中です。こんなことやってますけどカードバトルゲームな企画職です。