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

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

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

エラーが発生しました。

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

129/210

HTTPクライアントサービス, Observable, リアクティブプログラミング

また新しいプログラミング概念のお勉強です。


一言で言うとアプリとWeb上のデータのやり取りをする方法ですね。


ゲームブックの例で言えば、ネットのどこかにあるシナリオデータを取り込む技術です。


以下、Angularの公式記述の引用です。


HTTPによるバックエンドサービスとの通信

https://angular.jp/guide/http#http%E3%81%AB%E3%82%88%E3%82%8B%E3%83%90%E3%83%83%E3%82%AF%E3%82%A8%E3%83%B3%E3%83%89%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A8%E3%81%AE%E9%80%9A%E4%BF%A1

---------------------引用

ほとんどのフロントエンドアプリケーションは、データをダウンロードやアップロードし、他のバックエンドサービスにアクセスするため、HTTPプロトコルによってサーバーと通信する必要があります。 Angularは、Angularアプリケーション向けのHTTPクライアントのAPIとして、@angular/common/http内にHttpClientサービスクラスを提供しています。


中略


前提条件


HttpClientModuleを使用する前に、次の基礎的な理解が必要です。


TypeScriptプログラミング

HTTPプロトコル

Angularの概念の紹介で説明されている、Angularアプリケーションのアーキテクチャ

Observable技術とオペレーターについて。Observablesガイドを参照。


---------------------引用終わり


前提条件の最後のObservable技術について全く知らないのでこれについて見ていきます。


以下、Angularの公式記述の引用です。

Observableを使用して値を渡す

https://angular.jp/guide/observables#observable%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E5%80%A4%E3%82%92%E6%B8%A1%E3%81%99-

---------------------引用

Observableは、アプリケーションの中でパブリッシャーとサブスクライバー間でメッセージを渡すためのサポートを提供します。 これらはAngularで頻繁に使用され、イベント処理、非同期プログラミング、および複数の値の処理のためのテクニックです。

---------------------引用終わり


正直、ここですでにお腹いっぱいですが、もう一つ関連する引用を見ていきます


RxJS ライブラリ

https://angular.jp/guide/rx-library#rxjs-%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA

---------------------引用

リアクティブプログラミングは、データストリームと変更の伝播 (Wikipedia) に関する非同期プログラミングのパラダイムです。RxJS (Reactive Extensions for JavaScript) は、非同期またはコールバックベースのコード (RxJS Docs) の作成を容易にする observables を使用したリアクティブプログラミング用のライブラリです。


RxJS は Observable 型の実装を提供します。Observable 型は、型が言語の一部となるまで、そしてブラウザがそれをサポートするまで必要です。ライブラリはまたobservablesを作成して作業するためのユーティリティ関数を提供します。これらのユーティリティ関数は、次の用途に使用できます。

---------------------引用終わり


しばらく、この辺りを咀嚼してテストできるまでを優先したいと思います。


また、ゲームブックの方ですが、シナリオデータの受け渡しを割り切ったおかげで組み込みたい仕様が色々増えています。


実現するかは未定ですが、一部ご紹介です。(備忘録でもあります)


・キャラクターデータ

 主人公は固定でなくてもいいですよね。

 いわゆるサイド:ライバルみたいな書き方も可能にしたいです。

 可能ならスキルみたいなものも取り入れたいところ

 現在のステータス保持と新たにセットも考慮が必要


・アイテムデータ

 テキストとフラグでカバーできるとは言え欲しい機能かも?


・ステータスデータ

 HP,AP,GPだけではなく、場面によっては〇〇への好感度や敏捷・幸運等も

 シナリオフレーバーとしてあると良いかも?


・ミニゲーム

 現状、バトルしか無いですがクイズ(何問正解的な)やパズル的な条件分岐もあって良いかも?

 setInterval()を使えば、時間制限イベントも作れそうですね。

 問答によって好感度などを変化させるのも面白い気がします。

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

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

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

↑ページトップへ