ギガノトカップ

BinaReversi - バイナリバーシ -

https://github.com/splendor-z/fe-binareversi

Go

TypeScript

React

Docker

通常のリバーシに 「2進数計算」を導入した、新感覚ボドゲ

shunsuke-kawata

推しアイデア

ボードの盤面上のコマを2進数に見立てた演算による盤面操作

作った背景

エンジュニアといえばコンピュータ、コンピュータといえば2進数、オセロって2色だからある種2進数だよね、という深夜テンションで考えたプロダクトです。BinaryとReversiを掛け合わせたネーミングが魅力です。

推し技術

・WebSocketを用いたリアルタイム通信 ・直感的なUI

プロジェクト詳細

BinaReversi - バイナリバーシ -

概要

通常のリバーシゲームに 「2進数計算」を導入した、新感覚ボードゲーム

使用技術

フロントエンド TypeScript, React, Redux, Material UI バックエンド Golang, Gin データベース SQLite その他 WebSocket, Docker

ゲームルール

基本ルール

  • 初期配置は黒と白のコマが交錯するように2つずつ配置されている
  • 基本的なルールは通常のリバーシと同じ
    • 1ターンに1度自分の色のコマを置く(置けるところも通常のリバーシのルールに則る)
    • 自分の色のコマで挟まれた相手のコマを裏返して自分の色のコマにできる
    • 最終的な盤面において自分の色のコマの数が多かった方が勝利となる
  • 追加ルールとしてコマを置く代わりに 「2進数計算」による盤面操作アクション(使用回数制限あり)を行うことができる。

「2進数計算」による盤面操作アクション

  • 黒のコマを「1」 白のコマを「0」とみなす(何もおいていないコマを「7」このターンプレイヤー置ける場所を「9」で表現する)
  • プレイヤーは「加算」か「乗算」の操作をリバーシの任意の一列に対して行い、盤面操作できる。

コマが置かれ2進表現できる「1101」にターン数を2進数に直した「101」を加算する

1101+101=10010

「10010」の先頭から元の桁数分取得した「1001」を盤面に新たに挿入する

乗算も同様にターン数の乗算を行った結果の先頭から元の桁数分取得した数を盤面に新たに挿入する

shunsuke-kawata

@a46617fd2b571fde