3753817_s


Qiitaでカフェでプログラミングしてる風(でも何もやってない)Java(クソ)コードという記事を読んで、自分でも作りたくなりC++で実装してみました。

本記事では元の思想とは少し違いますが、Windowで動くプログラミングしている風コードを作成していきます。

Windowsでもカフェで素敵なエンジニアだと思われたい(笑)




ステータスが変化してる風コード


まずは何かしらの処理が動いている風に見えるコードです。

/**
 * ステータスを更新してる風コード
 */

#include <iostream>
#include <random>
#include <windows.h>

using namespace std;

int main(void){
    // 50文字まで#を表示する
    int x = 50;
    // カウントアップする変数
    int y = 0;
    // 乱数生成の準備
    std::random_device rnd;
    std::mt19937 mt(rnd());
    std::uniform_int_distribution<> rand10(09);
    while(true){
        if (x != y){
            // 上限まで#をたしていく
            cout << "#";
        }
        else{
            // 50文字になったら「done!! + 改行」を出力し
            // 何かが終わった感を演出
            cout << " done!!" << endl;
            y = -1;
        }
        // カウントアップしていく
        y++;
        // 高速で出力すると素敵感が出ないので
        // 出力待ち時間を作成する
        int sleepTime = 10;
        // ランダム値にマッチすると待ち時間をさらに長くする。
        // 何か大きな処理をしているように見えること請け合い
        int osooso = rand10(mt);
        if ((4 < osooso) && (osooso <= 6)){
            sleepTime = 100;
        }
        // 待つ
        Sleep(sleepTime);
    }
    return 0;
}


DustStatus




コンパイルが動いている風コード


こちらは乱数を使って何かを自動で動かしている風のコードです。

/**
 * 数字の羅列を出力し、何かを自動で作ってる風コード
 */

#include <iostream>
#include <string>
#include <random>
#include <windows.h>

using namespace std;

int main(void){
    // 乱数生成の準備
    std::random_device rnd;
    std::mt19937 mt(rnd());
    std::uniform_int_distribution<> rand10(09);
    while(true){
        // カウントアップ
        int x = 1;
        // 出力文字列
        string code = "";
        while (true)
        {
            // 0から9までの数値をランダムで出力
            int num = rand10(mt);
            // 出力文字列に足していく
            code += to_string(num);
            if (x == 50) {
                // 50文字でブレイク
                break;
            }
        x++;
        }
        // 数値の羅列を出力:いい感じにコンパイルしてる感が出る
        cout << code << endl;
        // 高速で出力すると素敵感が出ないので
        // 出力待ち時間を作成する
        int random = rand10(mt);
        int sleepTime = 100;
        // ランダム値にマッチすると待ち時間をさらに長くする。
        // 何か大きな処理をしているように見えること請け合い
        if (4 < random  && random <= 6) {
            sleepTime = 500;
        }
        // 待つ
        Sleep(sleepTime);
    }
    return 0;
}


DungCompiler


まとめ


こういった意味がないけどおもしろいコードを思いつく人ってすごいですね。

今回はJavaのコードをC++に置き換えただけになってしまいましたが、今度はオリジナルのカフェでプログラミングしてる風コードを作ってみたいです。