自分への未来のメッセージをプログラムで書いてみる【超初心者向け】


前置き

前回からの続き
未来考えるの大変だから臨機応変にメッセージを組むプログラムを書いてみます。

基本的な機能

  1. とある値を元にメッセージを変化させる
  2. とある値を元にメッセージの表示方法を変化させる

この二つの機能を元にメッセージを組んでみます。とある値というのは個人で考えて意味を持つ値にしてください。例えば一年後の目標の達成度や何かの指標を決めておき、その値によってメッセージが変わるようにします。

とある値を元にメッセージを変化させる

プログラムの基本「if文」を使ってプログラミングをします。
言葉の通り、もし〇〇だったら××を行うという処理を書くことができます。
以下の場合だと「a」という中身が「1」であるかを判定し、「aは1です」と表示されます。

let a = 1;
if( a === 1 ){
  console.log("aは1です");
} else {
  console.log("aは1ではありません");
}
// 出力結果:「aは1です」

以下の場合だと「a」という中身が「5」なので、「aは1ではありません」と表示されます。

let a = 5;
if( a === 1 ){
  console.log("aは1です");
} else {
  console.log("aは1ではありません");
}
// 出力結果:「aは1ではありません」

ここでいう「a」の中身の値がとある値ということにすれば、こんな感じにメッセージを書くことができます。

function checkBHAGDriven(achievement) {
    let bHAGDrivenMessage = "BHAG Drivenの達成度は" + achievement + "か。";
    if(achievement >= 80){
        bHAGDrivenMessage 
            += "まじすごい。考えられない。理想にしているところも達成してしまうパワーを手に入れたようやな"
            + "あとは理想を広げ考え高めることが必要だと思う。と言っても一年前の自分には考えられない領域にいるんかな。自由に高みを目指すんやで。";
    } else if(achievement < 80 && achievement >= 50){
        bHAGDrivenMessage 
            += "ぼちぼち目標達成に拘って達成できるようになってきたかな。でもまだ自分の理想は達成できてないんちゃう?"
            + "もっと自分出して周りを巻き込めるような野郎になるんやで。";
    }else if(achievement < 50 && achievement >= 0){
        bHAGDrivenMessage 
            += "まだまだBHAGに取り組めていないようやな。もっとたくさんのことを行動ファーストでチャレンジせなあかん。"
            + "君は考えすぎでやらない理由を考えてしまうんやから、たまには頭空っぽにして行動する意識くらいの方がちょうどええんやで。";
    }else if(achievement < 0){
        bHAGDrivenMessage 
            += "何してんの?";
    }
    return bHAGDrivenMessage;
}

とある値を元にメッセージの表示方法を変化させる

メッセージの表示には console.log() を使っていますが、別の書き方で表示方法が変わります。
本来の使い方は違いますが、見かけが変わるので使ってみます。

console.log()

console.warn()

console.error()

これをif文使って処理してみます

/**
 * 達成度に応じてメッセージの表示方法を変えて出力する
 * @param {*} bHagAchievement BHAGDrivenの達成度
 * @param {*} icebergAchievement IcebergMindの達成度
 * @param {*} growingTogetherAchievement GrowingTogetherの達成度
 * @param {*} featureLetter 出力する手紙
 */
function outputYourFeatureLetter(
    bHagAchievement, icebergAchievement, 
    growingTogetherAchievement, featureLetter) {
    if(bHagAchievement  >= 80 && icebergAchievement >= 80 && growingTogetherAchievement >= 80){
        console.log(featureLetter);
    } else if(bHagAchievement  >= 50  || icebergAchievement >= 50 || growingTogetherAchievement >= 50){
        console.warn(featureLetter);
    } else {
        console.error(featureLetter); 
    }       
}

達成度が低いと赤くメッセージが出るようになるので、よろしくない状態を煽ります笑

どんなメッセージ?

最終的に書いてみたプログラムはこちらに置いてありますのでぜひ実行してみてください。
https://github.com/taka-guevara/FutureLetter/blob/master/futureLetter.js
実行の仕方はこちら

達成度を値に設定しておくとその値に応じてメッセージが変わります。

達成度が悪いとこんな感じ

おまけ:今回の扱った達成度

私の勤めている株式会社POLのバリューをどれほど達成しているかを指標にしました。
あくまで私の主観であり感覚値です。
興味のある方はこちらをご覧ください。