Closed mikarru closed 6 years ago
とりあえず、ロジックに関係ない部分から。。。 makeを実行した時に出るWarningは極力解消しておいた方が、
のでいいと思う。
Wsign-compareに関しては、overflowが問題になる程大きなサイズになることはほぼないから、-Wno-sign-compareのオプションをつけて無視しちゃってもいいかも
口頭では言ったけど、Tileごとに不変の情報はTileInfoとか何か別のクラスを作って使いまわした方が効率がいいはず。対応はいずれ、でいいと思うからissueにあげます
今日はここまでで。。 Tile、Segment、Region、Boardあたりはロジックをもう少し理解したいから明日以降にまたやります
ざっと見て気になったところにコメントしました。 ロジックの部分は完全には処理を追えてないけど、確認した部分は問題なさそう & テストも全部通ってるのでよさそう。 いずれは高速化したい部分がいくつかあるけど追々考えればいいと思うし、俺がコメントしたなかで、すぐに対応できそう & 今対応した方がよさそう な部分だけやってもらえれば。
取り敢えず、warnが出てたコードを修正しました。
僕の環境だと、
warning: section "__textcoal_nt" is deprecated
みたいなwarnがまだいっぱいでてるけどこれはこのままでいいのかな?
ちなみにg++のバージョンは4.9.4
$ g++ --version
g++ (Homebrew GCC 4.9.4) 4.9.4
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mapからunordered_mapに変更。
レビューもらったところで今直した方がいいところは全て修正しました。
warning: section "__textcoal_nt" is deprecated
のエラーは初めて見たけど、調べたら害はなさそう? https://stackoverflow.com/questions/39865367/warning-section-textcoal-nt-is-deprecate-since-updating-to-mac-osx-sierra 若干気持ち悪いけどこのままでも。
修正ありがとう! 問題なさそうなのでマージします。
迅速なレビューありがとう!
ボードのロジックを実装しました。 タイルの配置、ミープルの配置、ミープルの管理、得点の管理など、基本的な機能は全て実装できていると思います。
JSONを扱う必要があったため、JSONのライブラリ(https://github.com/nlohmann/json)をレポジトリに含めました。(ファイル名はjson.hpp)
コードの量が多いので重要なクラスとその関係だけ簡単に説明しておくと
のような感じになります。