Noratetsu Lab

動じないために。

投稿先: https://noratetsu.blogspot.com/2023/02/NTA-DIY-1-3.html

NTA-DIY:1ヶ月目③~おみくじいろいろ~

 プログラミング学習の定番におみくじプログラムの作成があります。乱数と条件分岐を使うので、おみくじを作れるようになればすなわち他にもできることがぐっと増えるというわけです。


 このシリーズは私の体験記として書いているので、良い手本を見せようというのでもなければ懇切丁寧な解説をしたためるのでもありません。しかし、実際何をやったかを書いておくことには多少の意味があると思うので、コードをちょこちょこ書いておくことにします。
 おみくじとして成立するためには、「乱数を生成する」「生成した乱数に応じて結果を表示する」の二点が必要です。乱数の生成にはバリエーションはそんなにありませんが、乱数に対応する結果の呼び出し方にはいくつか方法があります。私が勉強に使った記事ではひとつの方法だけ例として書いてありましたが、これでもできるんじゃないかと自分で他の方法を考えて試しました。
 捻りも何もないコードですが、自力でチャレンジしたい方もいらっしゃるかもしれないので折り畳んでおきます。

①基本のif分岐 ```js const r = Math.random() * 5; // 0以上5未満の乱数を生成する if (r < 1) { console.log('大吉です'); } else if (r < 2) { console.log('中吉です'); } else if (r < 4) { console.log('吉です'); // 吉の出る確率を高く設定 } else { console.log('凶です'); } ```
②わかりやすいswitch文 ```js const r = Math.floor(Math.random() * 5); // 0以上5未満の整数の乱数を生成する let result = ''; switch (r) { case 0: result = '大吉'; break; case 1: result = '中吉'; break; case 2: case 3: result = '吉'; // 吉の出る確率を高く設定 break; default: result = '凶'; } console.log('運勢は' + result + 'です'); ```
③配列ですっきり ```js const r = Math.floor(Math.random() * 5); // 0以上5未満の整数の乱数を生成する const fortune = ['大吉', '中吉', '吉', '吉', '凶']; // 配列を用意する(吉の出る確率を高く設定) console.log('運勢は' + fortune[r] + 'です'); ```
 具体的にどう書いたのかというのはおまけなので、細かく見なくていいです。検索すると他のやり方も色々出てくるだろうと思います。  何かひとつ新しいことを覚えた時、それを使って何ができるのか可能性を考えるのが楽しく感じました。たとえその先に出てくることでさらっとやれてしまうことなのだとしても、今知っていることだけでどうにかできるかもと考えていくわけです。  ツールづくりに入ってからも、便利な組み込みメソッドが既にあることに気付かず、同じ挙動のものを自分で関数にしていたというのがいくつかあります。一言で言うとアホですが、本人は「やはりこれは一般的に多用される処理なのだ!」と思ってむしろテンションが上がりました。学習効率としては非効率なのかもしれませんが、気持ちの面では独学でマイペースにやっているがゆえのボーナスと感じました。それに、気分の良さがブーストになるのだとすれば、非効率イコール遠回りとも限りません。  コンピューターは寛容です。エラーにならなければなんでもやってくれます。思いつく限り試せるものは何でも試すというのが、主体的な楽しさを維持できる姿勢だと思います。

 ところで、1ヶ月目は覚えたことや気付きが多いので、記事の本数としては12ヶ月で均等ではなく1ヶ月目に偏って多くなると思います。もうしばらく初期の話にお付き合いください。
 

Backlinks

関連度が高いかもしれない記事

他の「ノートテイキングアプリDIY体験記」タグの記事

他の「JavaScript」タグの記事

管理人

アイコン画像

のらてつ Noratetsu

キーワード

このブログを検索

検索

ブログ アーカイブ

2025
2024
2023
2022
2021