制作物紹 ▷ Go|Othello
目次:
| 制作のきっかけ | 苦労したこと | 試行錯誤 | 工夫 | 完成品について | 今後について |
Go言語を学習していた中で、テンプレートを利用することで簡易的にウェブアプリケーションが制作できるというのがとても魅力的でした。本来ならフレームワークを利用して為せるようなことが、言語単体で制作できてしまうというのは、Go言語の強みなのではないかと思います。
そこで、ウェブアプリケーションで何か簡単にでも作れるものがないだろうかということを考え、短期集中でオセロを制作してみることにしました。あまり時間をかけた作品ではありませんが、この開発によって、今後Go言語を中心に使用して以降と考えるようになりました。
そもそもGo言語を触り始めて2週間くらいだったので、単純に文法やテンプレートの使い方といった点で苦労しました。インプットとアウトプットを同時に行っていたような面があり、思い通りの動作になるまでに時間がかかったという点で、ある意味苦労が多かった開発でした。
単純な技術不足ではありますが、盤面に必要な数分のボタンを作り、それにIDを設定し、jsで認識させてバックエンド側に何のボタンが選択されたかを渡すという、この一連の処理を作るまでに試行錯誤を繰り返しました。
また、オセロはそもそも石を置けない場合がある(○×ゲームのような場合はいつでもどこでも置ける)ので、その判定を挟んでから画面を表示させ、置いた場所から石を返して、また認識させる、という処理が必要になります。この判定をさせるアルゴリズムを、どのようにすれば簡易化できるか、わかりやすくできるか(バグが見つかったときに修正しにくくなるのは避けたかったので)を意識して制作しました。
システム自体を作りこんでいるわけではないので、工夫という言葉を当てはめられるほどのものを作っていません。1つ挙げるとすれば、アプリケーション側とクライアント側で処理を分割したという点が工夫点です。
現在はローカル上で動くアプリケーションなので、firebase等を利用して、オンライン対戦ができる形式にした場合はここにリンクを追加します。
この開発は、正直当サイト(ポートフォリオ)で紹介するか迷ったくらいに、Go言語で開発する試作品のようなものです。そのため、今後はこのオセロをアップデートする予定がない代わりに、Go言語を使用して更に発展的なシステムの開発をしていこうと考えています。