2015年05月17日

その1「if文で複数の条件式を満たす場合、なぜか思い通りに動作しない」

正しく書いているはずなのに、うまくいかない。
たぶん仕事や授業でプログラミングを経験してきた人にとっては当たり前のことかもしれませんが、独学でやってくると意外とハマりやすいので忘備録に記しておきます。

まず、うまくいかない例

a=6
b=8
if a&2{dialog "check1"}
if b&8{dialog "check2"}
if (a&2)&(b&8){dialog "check3"}

一つ一つの条件式は正しく動作するのに、つなげるとうまくいかない。


この場合は、以下のようにすると動作します。

a=6
b=8
if a&2{dialog "check1"}
if b&8{dialog "check2"}
if (a&2)=2&(b&8)=8{dialog "check3"}

説明は、その分野の方にお任せします。

タグ:HSP
posted by Taddi at 15:08| Comment(0) | HSP忘備録

開発が超低速モードの時は

前回の更新から1ヶ月半が過ぎました。
やはり新年度に入ると仕事や家庭が忙しくなり、趣味に時間を割くことが難しくなります。
それに伴って、Holdall2の開発は超低速モードです。

しかし、進展があろうがなかろうが、スクリプトに目を通し続けることが、開発し続ける上で必要不可欠だと考えています。
そこでTaddiは、プログラミングできない時も、空き時間にスクリプトを見直せるようにプリントアウトするようにしています。
そうすると自然に、スクリプト内のコメントや、条件式なども見栄えを意識するようになるので、久しぶりにプログラミングをする時にも、スムーズに開発に取り掛かることができます。

sakura.png

プリントアウトする時はサクラエディタを使用しています。
色分け印刷できるので見やすく、強調キーワードを複数指定できるのが魅力です。
ちなみに、スクリプトから定数と自作命令を抽出して強調キーワードに指定しています。

RPGのように開発が長期に及ぶ作品は、やはりスクリプトの視認性が重要ですね。
締切があるわけではないので、今後もマイペースに進めていきます。
タグ:HSP
posted by Taddi at 12:04| Comment(1) | 雑記

2015年03月31日

リファクタリングの実施中

リファクタリング (refactoring) とはコンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理すること。
引用元:Wikipedia
Holdall2ですが、2月ごろから開発が軌道に乗り始めましたが、ここにきて開発が停滞しています。
Holdallの制作により、どのようなデータを用意して、どのような処理をさせればよいか、全体像はつかめています。
しかし、それと同時にメンテナンスをする難しさも痛感しました。
そこで、今回は定期的に開発中のソースコードを整理しながら制作することにしました。
リファクタリングについてはTaddiの中で以下のようにルールを決めました。
  1. タイミング
    一つのまとまった処理が完結した時
    (例)メニュー画面の「そうび」の部分が完成した時
  2. 対象
    - 変数、関数の命名規則
    - モジュールの相関関係
    - コメントの編集
    - ソースコードの整形

現在は、ダンジョン内でメニューを開くところまでできています。

つよさの確認、装備の変更も実装しました。

装備については、今回から主装備、副装備の概念を導入しました。

両手武器、片手武器、盾を装備することになるので、この処理にはてこずりましたが、

現在は、おおよそ想定した通りに動く状態になりました。


そして、制作を始めて最初のリファクタリング・・・。

始めて2週間近くになりますが、まだ終わりません。

特に変数の命名については、前作のソースコードを引っ張ってきている部分もあるため、

統一するのに手間取っています。


data_itemという変数があるかと思えば、item_dataという変数があったりで、混乱の原因がそこらじゅうに転がっています。

(異なるモジュール空間なので実害はないですが、視認性は最悪(T_T) )


こんな時、頼りになるのはLe.Antillaの検索「指定キーワードへ移動」です。

複数のソースファイルを縦断して検索することができるので、置き換え忘れを防ぐことができるだけでなく、

モジュールの相関関係を調べるときにも役立ちます。


難航している今回のリファクタリングですが、そろそろ目途もついてきたので、今週中には終わらせたいと思います。

posted by Taddi at 21:24| Comment(0) | 開発日記(Holdall2)