chinchiroのロジック解説(6)

ansi-escape-sequencesの使い方

前回はサイコロを振る時に、chin chiro rinの文字が画面に表示されて消える演出について解説しました。

その時にansi-escape-sequencesというnpmを使ったので、今回はansi-escape-sequencesを使った部分を紹介します。

強調

console.log("\u001b[1m強調したいテキスト\u001b[0m") \u001b[1mで文字の強調開始、\u001b[0mで文字モードを元に戻しています。 同じような文字列が縦に並ぶとどうしても見辛い上、ゲーム進行で文字がどんどん上に流れていくのでどこまで読んだのかわからなくなりがちです。

そこで、chinchiroでは特に重要と思われる情報(誰の親番かなど)を強調することで、文字が流れていっても基準になるように考えました。

色をつけることもできます。 chinchiroではイカサマが見つかるかそうでないかで色を変えています。

console.log('\u001b[92mnot discovered\u001b[0m')

console.log('\u001b[91mdiscovered!\u001b[0m')

イカサマが見つからなかった場合は安心の緑(\u001b[92m)

見つかってしまった場合、警告の赤(\u001b[91m)に文字色を変えることで緊張感を演出しようと考えました。

また、サイコロの一の目も赤にしています。(上の赤と少し色味が違うので、末尾が[31mになっています)

const diceAA2 = { 1: '  |   \u001b[31m●\u001b[0m   |'}

終わりに

ansi-escape-sequencesというnpmは、AAにパラパラ漫画的な動きをつけたり、文字に色や効果をつけたりできる便利なnpmです。

ぜひ使ってみて、さまざまな表現をしてみてください!

公式ページで他にも色々な使い方が書いてあります。(英語) www.npmjs.com