Retro RPGの戦闘を実装する-設計編

順番が前後しましたが、レトロRPGの戦闘シーンを設計してみたいと思います。
戦闘方式をレトロRPGに限って大別するとドラクエ方式とFF方式がメジャーです。今回はドラクエ方式について検討してみます。
続きを読む

カテゴリー: JavaScript, ゲーム作成 | コメントは受け付けていません。

dq ライブラリの設計ポリシー – DQ.Control

dqライブラリについて少しずつまとめておきます。
まずはコントロールについてですl。
続きを読む

カテゴリー: dq | タグ: , | コメントは受け付けていません。

JavaScriptの全角・半角変換

下のような記事を目にしました。
7割が経験、Web サイトの入力フォームに「イライラ」――アイシェア調べ

イライラ経験者に、どういったことが原因だったのか聞いたところ(複数回答形式)、「数字が全角・半角入力指定されていた」が73.2%と大多数を占め1 位。2位は「入力項目がとても多かった」で65.9%。以下「住所や郵便番号をすべて手入力する必要があった(43.1%)」「カタカナが全角・半角入力 指定されていた(41.5%)」「メールアドレスを2回記入させられた(39.6%)」「必須項目が指定されていなかった(34.1%)」の順に

確かに「全角にしろ」、「半角で入力しろ」と言われたくないかもしれませんね(個人的にイライラするほどのことでもありませんが)。
そこで、JavaScriptライブラリに全角・半角変換でも追加しようかとアルゴリズムを調べていましたが、MITライセンスなライブラリが既に存在したので意気消沈orz

続きを読む

カテゴリー: JavaScript, プログラミング | タグ: | コメントは受け付けていません。

jQuery.jsのCDNによるロード

いつも今更な内容ですが、jQuery.jsのCDNをMicrosoftとGoogleが提供しているようですね。
(CDNって言葉、今までしりませんでした(汗))

続きを読む

カテゴリー: JavaScript, プログラミング | コメントは受け付けていません。

RPGの道具を実装する-設計編

RPGの道具を設計します。
これまでと同じ部分は省略しながら検討します。

分析

道具の基本は使うということです。道具は何回も使えるものや回数に限りがあるものがあります。
続きを読む

カテゴリー: JavaScript, ゲーム作成 | コメントは受け付けていません。

JavaScriptでObject要素を操作する

JavaScritpでオブジェクト要素のdata属性を変更しようとすると、ieだけうまく参照先を変更してくれません。
どうも、object要素自体を置き換える必要があるようです。

続きを読む

カテゴリー: JavaScript, tips, プログラミング | コメントは受け付けていません。

RPGの攻撃を実装する-実装編

前回設計した戦闘中の攻撃をJavaScriptで実装していきます(今回は表面化していませんが、jQueryの使用が前提です)。

続きを読む

カテゴリー: JavaScript, ゲーム作成 | タグ: | コメントは受け付けていません。

RPGの攻撃を実装する-設計編

魔法に引き続き「攻撃」の実装について検討します。

攻撃は単純に自分(from)の攻撃力と対象(to)の防御力からダメージを計算すればいいわけですが、武器の種類によって追加ダメージがあったり複数攻撃だったりするわけで、魔法にならって武器に攻撃の責務を任せたほうがいいかもしれません。
ただ、武器の場合、そのほとんどはデフォルトのストラテジーでOKって感じでしょうか。

続きを読む

カテゴリー: JavaScript, ゲーム作成 | タグ: | コメントは受け付けていません。

JavaScript流Strategyパターン

今思いついたのだけれど、JavaScript流のStrategyパターンとは直接メソッドを書き換えることじゃないだろうか。

Context = function() { this.foo = ConcreateA.foo; }
Context.prototype.foo = function() {}
ConcreateA.foo = function() {
//実態
}
カテゴリー: JavaScript, tips, プログラミング | コメントは受け付けていません。

アンカーがクリック出来ない

なぜだか、ieではクリックできるのにFirefox等のその他ブラウザーではクリック出来ないという現象が発生しました。

続きを読む

カテゴリー: html/css | コメントは受け付けていません。