chinchiroのロジック解説(5)
Enquirerによる行動選択
今回はEnquirerを使った行動選択の部分について解説します。
まず、Enquirerのインストールです。
npm install enquirer
次に、トップレベルでEnquirerのインポートを宣言します。
import Enquirer from 'enquirer'
これで準備OK!Enquirerを使ったメソッドを作っていきます。
async decide_action () { const actions = ['throw dice', 'ikasama', 'pass', 'surrender'] const question = { type: 'select', name: 'action', message: 'What are you gonna do?', choices: actions } const answer = await Enquirer.prompt(question) return answer.action }
Enquirer.prompt()
でEnquirerのメソッドを作ります。内容はquestionの部分になります。
question
の中の各項目を解説すると、
type:
:select
は選択肢から選ぶ形式です。他には直接文字を入力するinput
などがあります。name
: 後で値を取り出す時に使います。message
:選択肢を選ぶときに表示される質問のメッセージです。choises
:選択肢の部分です。最初にactions
に選択肢を定義していますが、直接choises
に選択肢の配列を書いてもOKです。
最後にreturn answer.action
で選んだ選択肢を文字列として返しています。この.action
は先ほどname:
で定義したものです。
chinchiroではこの文字列を参照して、条件分岐でそれぞれのアクションを行うようにしています。