chamekanの日記

2005-09-10OnBoardC開発環境改善

[]Palm横シュー

一応、敵弾関係のアルゴリズムを入れ、三角関数テーブルテスト用に放射状に間歇的に発射させる実験をしてみた。

角度は、64方向分(π/32単位)だが、このゲームに関してはそれで十分っぽいか。

弾のグラフィックはテスト用のいい加減なもの。

と思ったけど、一応、画面の隅から発射して、長辺での間隔を一応みたほうがいいのか。

これは、中央に64方向の弾を一気にセットした実験。

いずれにしても、以前に書いたように、当てる系は当てる系で、別の算出という手もある。

OnBoardC開発環境改善のあれこれ。

OnBoardCのはてなグループにも書きましたけど、こっちとどっちが目に触れやすいかわかんないので、一応転載します。

もうすこし早く書こうと思ってたんですが、ちと出張をはさんだりして、気力がなくなってました(^_^;)。

ClipBoard拡張

http://muchy.sakura.ne.jp/review/clips.html

たしか、このClipsというソフトを導入したんだと思います(^_^;)。

忘れかけ。

ただし、いま、muchyさんが移転されたばかりでダウンロードできません。

これは、実は、旧muchyのダウンロードカウンター用のcgiを呼んでるためです。URLCGIに渡すパラメータのとこを見ると、旧muchyでの置き場所がわかり、それを現サーバーでの置き場所に読み直すと実は、現サーバーに置いてあります。しかし、それを勝手ダウンロードする方法を広く公開するのも現段階では問題があるのかもしれません。

一応簡単な類推で入手は可能なので、類推してみてください。

よっぽどのときは、手助けします。

キーボード入力改善

http://www.geocities.com/nagamatu/KeyReplace/

これは、こちらのKeyReplaceというソフトを使用しました。

キーを押すと、それのchr、keycode、modifiersというパラメータがあるようです。で、それを途中でフックして書き換えてくれるので、つまり、キーの割り当てがないところ(あるいは既に設定された文字)を、適当な文字に置き換えできます。

で、キーを押されたときにこれらのパラメータがどうなるか、というのがわかっているといいんですが、フツーのひとには、わかりません(^_^;)(PalmないしSonyが勝手に決めた法則やし(^_^;))。

どっかにちゃんとした資料があるのかもしれないですが(^_^;)。

ここが、悩む第一段階。

で、

http://muchy.sakura.ne.jp/review/mkkeyeventviewer.html

このmkKeyEventViwerを導入します。

これで、キーを押したときの前述の3つのパラメータを表示してくれます。

しかし!

1回キーを押して離すまでに、やたらと、いろんなコードがでてくるんですよ(^_^;)。

わたしは、とりあえず、以下のように設定したいと思ったのですが。

UX-50の【青●】キー(以下●と表記)(そういうのがあるんですよ、他の機種はどうなるのかわかりませんが)を使って、同時押しで、{、}、|を入力したいと思ったのですが、UX-50での覚えやすさから。

●+E →{

●+R → }

●+I → |

と設定しようと思ったのです。

E、Rの下にあたるS、Dが●との同時押しで、<、>になってるので、それを上にずらして{、}がいいかな、というのと、Iは、形が|に近いからです。

で、

●を押し、押したままEを押し、Eを離し、●を離すなどとやってると、やたらとイベントが発生して、なにがなにを指しているのかわかりません(^_^;)。これが、第二の悩むポイント。

で、

chrというのは、文字のアスキーコードかと思ってたんですが、どうも、ある種のイベントの種類を表しているというのがわかってきました。

chr 1720 は、キーを押した、ということみたいです。

chr 1721 は、キーを離した、ということみたいです。

chr 012D は、キーリピートが発生している、ということみたいです。

それを元に、さっきのソフトでのイベントの値を見ると、読み解けます。

KeyCodeが、基本的には文字のアスキーコードですが、文字が割り当てられていないところは、違うコードになっているところもあります。

Modifiersが、シフトとか、くだんの●キーとか、ctrlとか(これはUX-50にあるキーですが。つまり、モードを指定するもの、ということでしょうね)の場合で、いろんなビットが立つようです。UX-50の●キーでは、0008になっています。

以上のような知識を得た上で、変換する数字を決めていきます。

わたしの場合は、とりあえず、{、}、|用に3つの変換規則を決めました。

それをひとつ例示すると、

chr 1720→1720

keyCode 9065→007B

modifiers 0008→0008

chr 1721→1721

keyCode 9065→007B

modifiers 0008→0008

これが、●+E→{にするための変換規則です。

1720は押したとき用。これだけで、入力できるようになるんですが、ソフトによっては押したときと離したときでKeyCodeが違っていると誤動作する可能性なども考えられ、1721の離した時用の設定も組にしてます。

9065の下二桁65(hexで)は、実は「e」のアスキーコードです。なんか、●+eのkeycodeとして臨時で、そういう法則でコード付けしているようです。これを変換して、007B、これは「{」のアスキーコードです。

modifiersの0008は、●を押しているということですが、これは、そのままにしてます。

というわけで、機種が変わると、また、ちょっと考える必要がでてくると思いますが、いちおう以上のようなパースペクティブを頭にいれて、いろいろ思考錯誤してみてください(^_^;)。

わからない場合は、わたしのわかる範囲で協力します。

2005-09-03かんどーしてます(^_^;)。

[]OnBoardC開発のための小さな改善

とりあえず、ソースコピペするのに、Palm標準のカットバッファの容量の小ささには、いらいらさせられる。というわけで、クリップボード拡張ソフトを導入。

あと、いらいらするのが、実は、キーボードから中カッコ({})が入力できないことである。Cで中カッコが入力できないとどれだけいらいらするかは、想像におまかせする(^_^;)。これについても、改善ツールを導入しようと思っている。そのノウハウについては、またいずれ。あと、orに使うこいつ(|ないし||)が入力できないのもいらいらする。ブール代数的に変形できるときは、&&でいけるようにしようかなというぐらいなのである(^_^;)。

というわけで、内蔵キーボードで「{, }, |」が打てるようになった!!(^_^;)

ぐはー。

しょうもないことだが、全国約5名(?)くらいのOnBoardCユーザーにとっては、朗報じゃないだろうか(^_^;)。Cで、中カッコを入力するのにストレスがかかるという状況ほど、うざいものはないだろう(^_^;)(従来は、Graffitiという手書きで入力するか(しかし、2になってから入力法がわからん(^_^;))、近辺の中カッコをコピペしてたのだ(^_^;)。わたしだけなのか?(^_^;))。Lispでカッコを入力するのにストレスがかかるほどじゃないかもしれんが(^_^;)。

ちと、今夜くらいにノウハウを書きます。

しょーもないことだが、たぶん、クリップボード拡張とあわせて、むちゃくちゃ生産性があがりそう(^_^;)。いや、趣味だから、生産的なものはつくってないのだが(^_^;)。

FeerFeer2005/09/06 23:50なんてこった。めっちゃ知りたいっす。
うちのNX70Vでも、{}とか|とか打てないし
セミコロンもないし、大変なんです。だから入力は全部グラフィティ。もう、大体の記号が書けるまでに上達してしまいました…wしかも誤入力ほぼゼロ。
ハードウェアキーボードが使いたくてNX70V買ったのに、宝の持ち腐れだったんですよね。
ぜひノウハウを知りたい!どうやったんですか~!

chamekanchamekan2005/09/11 03:37あー。しばらくチェックしてなかった(^_^;)。
けっこう簡単なんで、明日あたりにでも書きます。

2005-08-30ほげほげ。

[]Palm横シュー

というわけで、Palm用横スクロールシューティングの試作というか、テスト中。

http://web.kyoto-inet.or.jp/people/chame/shoot.zip

zipファイル解凍すると、shoot.PRCとmap.PDBというファイルができるので、両方をPalmインストールしてください。例によって、不備がある可能性が高いです。

今回、テストで、かなりいい加減に作っているので、遅い機種、メモリの少ない機種ではやばそうです。PalmOS5.0以上の機械には入れないほうがいいでしょう。

今回の進展。

件の弾の連射ができるように。

PADの操作感をやや改善(以前は、PADの絵ぎりぎりで判別してたが、やや広げた)。

地形のスクロールする様子がデモ程度に見られる。

やる気のない敵が一応でてくる。

いちおう、敵に弾が当ると爆発する。

・・・という程度。

Palmでも、横スクロールシューティングができそうだ、という未来の予感でも感じてもらえば。

VencelVencel2013/09/19 02:08This arcitle keeps it real, no doubt.

DipsonDipson2013/09/20 21:14Superb inrofmation here, ol'e chap; keep burning the midnight oil. http://yghbglrll.com [url=http://xonjbz.com]xonjbz[/url] [link=http://icqofdjmckj.com]icqofdjmckj[/link]

KatyaKatya2013/09/23 14:52Deep thinking - adds a new dimiosenn to it all. http://udroya.com [url=http://laaptegbx.com]laaptegbx[/url] [link=http://vvebttsfsv.com]vvebttsfsv[/link]

2005-08-29

[]シューティング開発

WinCopyBitmapは、WinCopyRectangleより遅い、らしい。

あと、画面をBitmapで取得して、そこを直接書き換える、というノウハウもあるようだ。

内野研究所さんのつくられている怒首領蝿(Palm用、最後の文字が違う)とかをみると、かなり高速にグラフィックが描写されているようで。

ま、高速化は、あとに見据えつつ、とりあえずArm系で我慢できるようなら、先に他のところを探求しようかな、と。

こういうのをつくるとき、どれだけ汎用化して考えるか、という問題がいつでも付きまとうが、OnBoardCプログラミングとしては、とりあえず、動くコードを書いて、問題がでたら、あとで考える、というほうが、先に進みそうな気がする。作らないで考えるだけより、作ってから考えるほうが、個人のホビープログラミングとしては、よさそう。

MariaMaria2013/09/21 17:10It's always a pleasure to hear from someone with exsiptere.

AxelAxel2013/09/22 19:31That's a posting full of <a href="http://tskvfoiyv.com">inshgit!</a>

LindelaniLindelani2013/09/22 23:37Great thgnkini! That really breaks the mold! http://gbysqbtgjs.com [url=http://mlgpcdjyaej.com]mlgpcdjyaej[/url] [link=http://qysgormw.com]qysgormw[/link]

NathanNathan2013/09/25 08:23Superior thinking <a href="http://lxjyawhwul.com">deemostratnd</a> above. Thanks!

AxyAxy2013/09/26 04:02This has made my day. I wish all pongsits were this good. http://axepjdo.com [url=http://wqouwum.com]wqouwum[/url] [link=http://fkkzsdmn.com]fkkzsdmn[/link]

2005-08-28というわけで。

さびしいので、本家サイトモバイルネタのみ、こっちにも転載することにしました(^_^;)。

本家サイトモバイルネタ以外がうざいひとなどは、こっちをチェックしてもらう、という感じか。

[]Palmシュー実験

とりあえず、画面下部のタップでパッド代わり+ハードボタンで弾発射な実験を作ってみた。

操作としては、いけそうな感触。

ちなみに、上の画像は、イメージで(実際の画面をキャプチャするのがめんどかった(^_^;))、実際のプログラムパッドと自機しか表示されない。

というわけで、ぜんぜんゲームになってない、最初の操作の実験プログラムですが、人柱なひとは、自己責任で(バックアップを取る、なにが起こってもこちらで責任をとれないことを承知の上)、以下のPRCファイルPalmに入れて、操作感覚を報告してもらいたかったり(^_^;)。

http://web.kyoto-inet.or.jp/people/chame/shoot.PRC

5wayNavigationがついてない機械は相手にしない、とか、勇ましく言いたいが、そもそもそういう機械を持っていない。PalmIIIcとかVisorPrismとかPalm505とかも相手にしたい、とは思っているのだが、そういうPalmOS3.5系のカラー機以上でなんでもかんでもいけるという方法では、こういう操作法くらいしか残されてないような気がする。そもそも、旧来、Palmで、2方向以上のリアルタイムゲームは非常にやりにくかった。

[]Bhajis Loops購入

ちと、@irBitwayの取り扱い停止が8月末なので、気張って、決済について調べて、購入してみた。

決済方法が何種類かあるのだが、クレジットカードは嫌いなので持ってない(というか、持てないが(^_^;)。かつて、持ってた)し、Edyというのは、とんでもないことに購入するひとのPCハードウェアEdyリーダが付いている必要があるらしい。

ということで、「デジコイン」というサービスを使用。

どうも、日本信販がやってるサービスらしい。

Web上で、デジコイン自体の会員登録。で、Web上から、デジコイン購入金額を入力。支払い方法がいろいろあるので、とりあえず、近所にあるファミマの機械から入金することに決定する。と、なんか、取引番号みたいなののメールが来る。

で、ファミマに出かけて、ファミネット(ファミポートかも)とかいう変な機械(今回初めて使った)で、なんか、入金みたいなボタンを押して、取引番号を入れると、プリンタバーコードの入った紙を打ち出すので、それをレジに持っていって、レジで現金を払う。

で、しばらく喫茶店で、Palmプログラミングなどをして時間を潰し(入金まで1時間くらいかかる場合があるとか)、家に帰って、「デジコイン」のサイトログインすると、入金されていることを確認。

その後、@irBitwayのサイトで、商品のとこをクリックして、決済に「デジコイン」を選ぶと、デジコインのID、Passwordを聞いてくるので、入力。で、デジコインの残高から、商品の値段の分が引き落とされる。

で、ダウンロード画面になって、Palmソフトダウンロードができて、登録パスワードが後からメールかなんかでくるようだ(2、3日かかることもあるとか。まだ来てない→あっという間に来た。たぶん、数十分くらい)。

というような手順であった。

ダウンロード販売ソフトを購入するのは、初めてである。

さてさて、レジストコードが来るのはいつだろう。

というわけで、あっというまにレジストコードが来たので、今日、日中ちょっと使ってみる。

[]Fossil WristPDA

これ、いま、たしかに、微妙な値段ですなあ。かつては、もちと、してたような。

腕時計自体嫌いなのでしてないので、ほとんどいらないのだけど、気にはなる(^_^;)。

これにOnBoardC入れてプログラミングしたら、変態ですな(^_^;)。

腕時計という形態をいかした特殊なソフトを開発するとおもしろいかもしれないが、しかし、バッテリがもたないらしいので、いずれにしても使い道が(^_^;)。

IpunkIpunk2013/09/19 20:08Your's is the inetlligent approach to this issue.

WilianWilian2013/09/20 12:36Wow, your post makes mine look <a href="http://wvbrsiq.com">felbee.</a> More power to you!

AmirrAmirr2013/09/22 07:16What I find so innisertetg is you could never find this anywhere else. http://gempfbmpskg.com [url=http://hgdkjntvj.com]hgdkjntvj[/url] [link=http://daulheues.com]daulheues[/link]

ErikaErika2013/09/23 11:22That really <a href="http://lkxhtynmhqn.com">catrupes</a> the spirit of it. Thanks for posting.