囲碁アプリケーションをつくる(2)〜ざっくりとした仕様とバージョン管理〜

2017/10/01

▼囲碁アプリケーションをつくるシリーズ
囲碁アプリケーションをつくる(1)

***

今回は、囲碁アプリケーションのざっくりとした仕様を固めること、これからプログラムを組んで行く上で必須のバージョン管理の環境を整えていきます。

ざっくりとした仕様

仕様というよりかは機能一覧ですが、最低限やっていきたいことを箇条書きにしていきます。

◆STEP1:とりあえず囲碁っぽくなるフェーズ
・碁盤をcanvasで描画する。まずは19路盤から。
・碁盤上をクリックしたら、黒石または白石が置けるようになる。基本的には交互に色が変わっていく。
・引数を渡すと、19路盤以外にも13路盤や9路盤など自由なサイズで碁盤を描画できるようになる。MAXは19路。

◆STEP2:囲碁のロジックを組み込む
・石を取る、コウなど囲碁のルールを組み込んで行く
・ここでは試合計算など、終局に関わることは判断しない

◆STEP3:互先の棋譜データを記録できるようになる
・SGFといった、囲碁の棋譜データの形式に変換できるようにする
・戻る、進むボタンを用意して、自由に盤面上の碁石を操れるようにする

◆STEP1000:弱小コンピューターとの対戦ができるようになる

STEP1ぐらいは割とスムーズにクリアできると思いますが、STEP2の囲碁ロジックを組み込んでいくのは相当労力がかかりそう・・・。ここらへんで煮詰まる気がするので誰かの頭のいい人の力を借りたいですね。

そのあと、棋譜の記録ができるようになるSTEP3は、過去にIGONOTEというiOSアプリを作ったときに経験しているのでなんとかいけそうです。

コンピューター対戦はまた次元が違うので、遠い遠い目標としておきます(笑)

Githubでバージョン管理

なにはともあれ、さっそく始めてしまいましょう。

ですがコードを書いて行く前に、バージョン管理はしっかりとしておかないといけませんね。

今回は非公開プロジェクトにする必要はないので、GitHubを使っていきます。

まずはローカルでgoというディレクトリを作成し、index.htmlを追加。Emmetで「!」と入力してTab補完でhtmlの雛形をとりあえず入力。

GitHub上でもgoというプロジェクトをつくり、git remote addしてcommit&pushすればオーケーです。

https://github.com/shogo0525/go

今日はとりあえずここまで!

趣味でつくるプロダクトは、焦ってやっても意味がないので、マイペースで取り組んでいきます。