⌨️
Go 製のタイピングゲーム「Typingo」を作った
Typing + Go = Typingo という語呂のいい名前が思いついてしまったので勢いで作りました。
これが俗に言う命名駆動開発 ( NDD: Name-Driven Development ) です。
この記事では Typingo のインストール方法から遊び方、利用技術を簡単に紹介します。
インストール
Homebrew を使用している場合は brew install
を使用してインストールできます。
$ brew install koki-develop/tap/typingo
もしくは、 Typingo は Go で作られているため go install
を使用してインストールすることもできます。
$ go install github.com/koki-develop/typingo@latest
遊び方
typingo
コマンドをそのまま実行するだけでゲームを起動することができます。
$ typingo
--num-texts
フラグにテキスト数を指定することもできます。
# デフォルトは 10
$ typingo --num-texts 20
デフォルトでは間違ったキーを入力するたびにビープ音が鳴ります。
ビープ音を無効にしたい場合は --beep
フラグを false
に設定します。
$ typingo --beep=false
利用技術
フレームワーク / リリース
CLI フレームワークに Cobra 、 TUI フレームワークに Bubble Tea 、 リリースの自動化に GoReleaser を使用しています。
この辺りは以前簡単に紹介した記事を公開してるのでこちらをご参照ください。
テキストの生成
テキストの生成には Gofakeit を使用しています。
Gofakeit はランダムなデータを生成することができる Go パッケージです。
次のようなものを始めとする様々な種類のデータをサポートしています。
- 名前やメールアドレス、電話番号
- 単語や文章
- 食べ物の名前
- 時刻
- 数値
- エラー
- その他にもたくさん
詳しくは公式の README をご参照ください。
まとめ
CLI 開発楽しい。
他にも色々作ってます。
Discussion