2022-05-01から1ヶ月間の記事一覧

chinchiroのロジック解説(10)

親と子の勝負メソッド 前回少し触れたboutメソッドは、親と子が一対一で役の強さで勝負するメソッドです。 長いので、親が勝った場合だけ紹介します。子の勝ちの時はほぼこれをひっくり返すだけで、引き分けの時は状態の変化がないだけなので、説明は不要か…

chinchiroのロジック解説(9)

イカサマ 今回はイカサマのロジックについて解説します。 if (action === 'ikasama') { if (this.users[0] !== this.user1) { await this.user1.bet() } this.jigoro_dice._lisk += 20 if (this.jigoro_dice._lisk > 100) { this.jigoro_dice._lisk = 100 } …

chinchiroのロジック解説(8)

パスの処理 今日はパスの処理について書きます。 chinchiroでは、while(true)で親を変えながらゲーム進行のイテレーターのサイクルを回すのがメイン処理だということを前回の記事に書きました。 プレイヤーが親の時と、子の時で処理が違うのでご紹介します。…

chinchiroのロジック解説(7)

ゲーム進行のロジック 今回はメインとなるゲーム進行のロジックについて解説します。 while (true) { 色々な処理 } 基本的には、行動選択→掛け金の決定→各プレイヤーがサイコロを振って役を作る→勝敗を決定→掛け金の払い戻しを1サイクルとして、while(true)…

chinchiroのロジック解説(6)

ansi-escape-sequencesの使い方 前回はサイコロを振る時に、chin chiro rinの文字が画面に表示されて消える演出について解説しました。 その時にansi-escape-sequencesというnpmを使ったので、今回はansi-escape-sequencesを使った部分を紹介します。 強調 c…

chinchiroのロジック解説(5)

Enquirerによる行動選択 今回はEnquirerを使った行動選択の部分について解説します。 Enquirer まず、Enquirerのインストールです。 npm install enquirer 次に、トップレベルでEnquirerのインポートを宣言します。 import Enquirer from 'enquirer' これで…

chinchiroのロジック解説(4)

サイコロを振るchin chiro rinの演出 今日は、コマンドラインに文字の演出が入る部分の解説をします。 chinchiro 今回はansi escapeの処理を使うので、npmのansi-escape-sequencesをインストールしておきます。 npm install ansi-escape-sequences そうした…

chinchiroのロジック解説(3)

役の判定 今日は役の判定の解説をします。 //diceEyesはサイコロの目3つの配列 judge_role (diceEyes) { if (this.zorome(diceEyes) && diceEyes[0] === 1) { console.log('pinzoro') return 13 } else if (this.zorome(diceEyes)) { console.log(diceEyes[0…

chinchiroのロジック解説(2)

サイコロの表示部分 最初は[4,5,6]のように数字で表示していたのですが、やはり味気ないのでサイコロの目の表示をするようにしました。 ロジックを説明します。コードのオブジェクトは、それぞれ1〜6まであるのですが、見やすいように今回は5だけにしていま…

chinchiroのロジック解説(1)

サイコロ部分のコード解説 今回はchinchiroのサイコロ部分のコード解説をします。 通常のサイコロ class NormalDice { roll () { return Math.floor(Math.random() * 6) + 1 } } Math.random()は0以上1未満のランダムな数を返すので、これを6倍することで0…

npm「chinchiro」公開

チンチロ フィヨルドブートキャンプの課題でnpmの公開をしました。 作ったのは漫画カイジで有名な、ダイスゲームの「チンチロ」です。 https://www.npmjs.com/package/chinchiro chinchiro chinchiro 作成にあたり、「賭博破戒録カイジ(福本伸行)・講談社…