使用ライブラリなど Scala.js scalajs-react akka-http circe モデリング ゲームのコアにあたる部分の実装指針です。 オセロのルールを閉じ込めたOthelloクラスを作成し、以下の2つの状態を保持 ボード ... 盤面。どこに何色の石が置かれているかを保持。 手番 ... 次は黒/白どちらの手番か(これは、通常プレイであれば、ボード上の石数から判断することも出来るものの、通常プレイ以外の拡張モードの構想もあり、切り出すことにしました) ゲームの情報を保持するGameクラスを作成し、勝敗や参加者のIDを保持 このクラスがOthelloインスタンスを内包しています。 参加者はParticipantクラスで定義 名前と状態(フリー、参加待ち、観戦中、対戦中)を持っています。 認証認可周りは今回の本題ではないので、ふわっと作ってます。 実装戦略 以下、どういった方
![Scala. js+React+akka-httpでオンライン対戦可能なオセロを作ってみる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ee626e1dfd59d43fc44fc06d4fa232477dc2c219/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U2NhbGEuJTIwanMlMkJSZWFjdCUyQmFra2EtaHR0cCVFMyU4MSVBNyVFMyU4MiVBQSVFMyU4MyVCMyVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyVCMyVFNSVBRiVCRSVFNiU4OCVBNiVFNSU4RiVBRiVFOCU4MyVCRCVFMyU4MSVBQSVFMyU4MiVBQSVFMyU4MiVCQiVFMyU4MyVBRCVFMyU4MiU5MiVFNCVCRCU5QyVFMyU4MSVBMyVFMyU4MSVBNiVFMyU4MSVCRiVFMyU4MiU4QiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NTAxZTYxNTdhMzFjZWY5NmYwMzI5OGNkNzAxZmExYjc%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQweXVpd2FpJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02OThjYWFlMjc5ZGQyNWQxNGFkYWNmZDc4OThjYzgwYQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D712d76997895b51c30f18ebc4bc73de2)