HaskellでFlappy Bird 作ってみた


はじめに

Haskellの練習がてらプラッピーバードを作ってみました。
モナドでかっこよくできたら良かったのですが、まだモナドを使いこなせるレベルではなかったです。
Haskellの練習をしたい人の参考になれば幸いです。

プログラムの良くない点

良くない点はたくさんあると思いますが、個人的にだめだと思っている点をメモしておこうと思います。

1.何回もループしていると画面がカクつく

これは推測ですが、ガベージコレクタが動くときに画面描写用のスレッドがそちらに回されることで描写が遅くなっているのではないかと思います。なのでコンパイルプラグを変えればなにか変わるのかもしれません。

2.スコアの保存方法が良くないと思う

最高スコアを保存するようにしているのですが、整数を直接ファイルに書き込んでおりどうなのかと思っています。

遊び方

  1. stackのインストール
    https://qiita.com/usamik26/items/672ed3c4451402bfc275

  2. ダウンロードと実行

$ git https://github.com/Kohei-Wada/bird.git
$ cd bird
$ stack run 
  1. マウスをクリックすると羽ばたきます

参考

グラフィックライブラリはこの記事を参考にしました。
https://qiita.com/lotz/items/eb73e62a64bc208c2dd6

素材はここから借りました。
https://github.com/Rydgel/flappy-haskell