甲府方重信Blog

...Shigenobu Koufugatas Blog

  • Increase font size
  • Default font size
  • Decrease font size
Error
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
  • Unable to load Cache Storage: database
Home 業務日誌 Adaプログラミング Adaチュートリアル セクション18.3 - 欠けているすべての構造(操作の場所)

Adaチュートリアル セクション18.3 - 欠けているすべての構造(操作の場所)

E-mail Print PDF

セクション 18.3 - 欠けているすべての構造 (操作の場所)

プログラムの主要なコンポーネントすべてと前に進む前に、それらの目的を認識しようとするのは、最上のことです。 このための一つの方法は、重要な操作とデータ値について考えることです。そして、もしそれらがプログラムの構造において「ホーム」を持っているか定めるのです。わたし達は既に、タグ付け型の基本的な階層をカバーしているので、ニーズのほとんどをカバーしているように思われます。わたし達が必要とする、操作の種類について考えていきましょう。そして、それらが定義されたところで、自分たちの現在の設計におくことが容易でないようなものがあるかどうかを見極めます。

わたしは、コマンドのほとんどは、Occupant型に設定されるべきだと考えます(ということは、Occupantsパッケージにおかれます)。より特殊な型に対しては上書きされる可能性があるとしても。プログラマーは、プレイヤーが行うこと以上のことをコマンドでさせたいと考えるかもしれません。; 例えば、モンスターとマジックソードのコマンドには役立つでしょう。プログラマーが、ユーザーにモンスターを「get」することが出来るとは考えていなかったとしても、プログラマーはユーザーがそれを試したときに、納得のいくメッセージ(例外を上げることなしに)をプリントしたいかもしれません。もう一方で、部屋がものを「get」するのは想像するのが容易ではありません。(プログラマーがそのことがなんらかの意味を持つと定義することが出来るとしても)。そこでわたし達の目的に対して、わたし達は多くの操作をOccupantに設定することになります。

このパーサーパッケージは、ものにコマンド、Look、Get、Dropなどをさせることができるようにする必要があります。これは、Look、Get、Dropなどのような操作のように聞こえます。そして、それらに対応するタグ付けされた型を定義する様々なパッケージの仕様におかれる必要があるでしょう。わたし達は、ここに後で戻ってくるでしょう。しかし、現在のところまでにわたし達が開発してきた構造のように、取り扱いは容易でしょう。

このパーサーは、テキストを分離する必要があり、プレーヤーオブジェクトがなにかするために、メッセージを送信します。うーむ、わたし達は、このプレーヤーオブジェクトをどのように耳つけることが出来ればよいのでしょうか。わたし達は、広域変数を定義することが出来ます。しかし、このゲームはマルチプレーヤーゲームにすることができるように、よりフレキシブルにする必要はないかもしれません。ここでは、「Me」が何かを返すような関数を定義し、これをプレーヤーを表現できるようにしましょう。これにより、わたし達は、「Me」が誰であるかを変える関数を作成することは容易です。

さて、この関数「Me」はどこにおくべきでしょうか。Occupantクラスの一部にすることができるでしょう。しかし、わたしはあえて分離したパッケージに、セットアップし「現在の世界の状態」を追跡できるようにしておきたいのです。このように、残りのすべてのパッケージは、特定のコマンドに対し反応し、それらに与えられる要求に対応するだけで、 それらは特別に情報を要求することなしに、その世界の状態についてグローバルな情報を必要としないのです。(もしくは、有効でさえあるのです)。わたしは、このパッケージが世界一般の状態を追跡し続けることから、パッケージ「World」と呼ぶことにします。

わたし達は、有益なパッケージとして、パッケージUstringsをすでに認識しています。そして、わたしはわたし達が必要なものについては考慮したつもりです。そこで、わたし達はプログラムSmallに対する基本的な構造を手に入れたように思います。

出典: http://www.adahome.com/Tutorials/Lovelace/s18s3.htm

Last Updated on Tuesday, 30 September 2014 14:04  

ニュース速報

Joomla!はどんな種類のウェブサイトでも簡単に構築できます。あなたがパンフレットサイトを望んでいたり、あるいは大規模なオンラインコミュニティを構築中であったりするにせよ、Joomla!は数分間で新しいサイトを設置し、必要とする特別な機能を追加することができます。何百もの入手可能なエクステンションが、あなたのサイトを拡張し、あなたがインターネットへ伸ばす手をより広げてくれる新しいサービスを届ける助けとなるでしょう