ババ抜きゲームが一通り完成

2018/1/23

ババ抜きが一通り完成しました。

プログラムの動作的には、これで大丈夫なはずですが、何か変更を加える場合bluetoothのところの処理
を変える必要があるはずなので、その辺りを変更しないといけないかもしれません。

Bluetoothでゲームを作るにあたり苦労した点

まだ完成しておらず、例外処理もたくさん書かないといけないと思いますが、
ここまでで苦労した点を上げていきたいと思います。

短いバイト数しか送れないので、分割する必要がある

完全に自分が悪いんですが、bluetoothでデータを送る際は、一度に遅れる転送容量が決まっているため
分割して送る必要があります。

実装する前から分割しないとダメだろうなとは思っていたんですが、とりあえずはやく進みたかったので
分割することを考慮せずに先に組み、結局送りたいデータを全部送るためには分割して送らなければならなくなり
あとで仕組みを変えました。

dataの形式は慣れているからという理由でjsonにしました。
これらのデータを分割して送る必要があるので、パケット通信のようにjsonの終点に#をつけました
#がきたら送られてきた文字列を結合してパースするような仕組みにしました。

どうやってbluetoothのデータ分割して送るか

ここで悩むことがあります、どうやって分割して送るかということです。
いいか悪いかは別にして、とりあえず、central・peripheralについても常時実行するタイマー処理を入れて、
updateフラグを持ち更新したいときだけ、dataを送信するようにしました。

タイマーやらを使わずに、Bluetoothのライブラリーの中に分割して送るような仕組みがあるかもしれないですが、
その辺りを調べるのがめんどうだったので、とりあえずその形にしました。

とりあえず、こんな感じで実装しました。
他にも大変なところがたくさんあったのですが、おいおい書いていきたいと思います。
2018/1に出したいと思っていましたが、音を入れないと相当しょぼいので、音を自分で作ろうと思っとります。
1月はむりっぽい。

このエントリーをはてなブックマークに追加