表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

143/210

RxJSをStorageの書き込みに使ってみたいと思いました。

寄り道しながら、ゲームブックアプリの開発続けています。


5つほどスロットを用意して、そこにデータをセーブしたリロードしたりまで完了したので、次はサイコロの統計情報の記録を保存のための機能を書いています。

(あと100回以上サイコロを振ったら出目を自分でいじれる機能も追加予定)


仕様としては(他の方法もあり得ますが)以下のように考えました。


・サイコロ1とサイコロ2の出目を記録する配列をそれぞれ用意

・サイコロを振るたびに、その配列に出目を記録

・コンティニューデータ書き込みのタイミングで統計の更新

 (シナリオごとに一意の値を持ちます)


こんな機能いるの?と思う方も多いでしょうが、


・サイコロの目が偏っていない?と、まず間違いなく思うことがある

・レアなルートを見たいと思ったらサイコロの出目を自在にする必要があるが、サイコロを(例えば)100回振ったらそういう機能の解禁をしたい


と言う目的からです。


さて閑話休題


何度か書いたこともありますが、ストレージにデータを書き込むと言う操作は非同期処理になります。


イメージとしては


・肉じゃがを作ろうと材料を並べる

・醤油が足りないので手の空いてる家人に買い物に行かせる(非同期処理)

・待っている間に下ごしらえを行う


この例では、いつ買い物(非同期処理)から戻るか判らないし売り切れ等で買ってこれないかもしれない(エラーが起きる)と言う感じですね。


その間もやれることはやりますが、醤油が手元に来てからでないと始められない処理もあるのは判ると思います。


ゲームブックの話に戻ると、コンティニューデータとサイコロの統計データは別なデータとして保存したいと考えています。


一つのデータにすることももちろん可能ですが、更なる機能追加やデバッグしなきゃいけない時に別々にデータ保存を行っていた方が良いかもしれないと現時点では予想しています。


他にも見た(表示されないページも含む)ページや使ったフラグ情報の記録も追加する予定があるので、連続する非同期処理を行う場合のコーディングとしてRxJSを使うのが良さそうだよね?と言う事でタイトルにつながります。


RxJSについては下記の投稿で異なるドメイン上の外部ファイルの読み込みで試しましたが、うまく行くかは次の投稿をお待ちください。


ionic, angular(RxJS), JSONP 別ドメインサーバにファイルを置いただけの取得サンプル

https://ncode.syosetu.com/n5283hn/139/

評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ