自動マインスイーパー

abdev 3 Comments »

友達のmizu君の日記を見ていたら、マインスイーパーを自動で解いてしまうプログラムのことが書かれていました。

下のリンク先をクリックすると、そのプログラムを紹介しているブログサイトへ飛ぶのですが、いやはやあっぱれです。

http://ishi.blog2.fc2.com/blog-entry-184.html

(ダウンロードもできるみたい)

たしかに、マインスイーパーというのはプログラマが毛嫌いする単調な作業をいかに効率よく、早くやるのかというのがポイントになります。こういう動きこそ、プログラム化すべきという作者の意図は同感できるものがあります。でも、これじゃ一生懸命ゲームやってたのがバカバカしくなるので、イマドキながらマインスイーパーにハマっている人は見ないほうが良いですf(^^;;;

エディタエンジンの最適化

abdev 4 Comments »

「AB開発日記」というタイトルに変更したものの、肝心の開発ネタが疎かになっていました。ということで、本日はエディタのネタを語ります。

ABに付属するProjectEditorは独自のエディタエンジンを搭載しており、通常のエディットコントロールと比べると下記のような相違点があります。

・部分的に色が変えられる

・アンドゥ・リドゥでかなり前の状態に戻せる

・Shift-JIS、EUC-JP、UTF-8などの文字コードに対応する

・CRLF、LF、CRなどの改行コードに対応する

このほか、コード補完機能がついていたり、複数のファイルを統合するツールがついていたりするのですが、ProjectEditorエディタエンジンの特徴というとこんなもんです。

しかし、最大のデメリットもあります。

それは重いということ。

数十キロバイトであれば問題ないのですが、数百キロバイト、数メガバイトになってくると、スクロール機能がカチコチになってしまいます。

これではマズイッ、ということで、本日はエディタエンジンの最適化を行います。

独自のエディタエンジンというくらいなので、自前で描画モジュールを抱えておりまして、当然、その中からTextOut関数なんかが呼び出されているワケです。コードエディタという位置づけから、色が変わる恐れがあるので、一文字単位での処理になるのですが、文字数の分だけTextOut関数を呼び出すのはあまり効率が良くありません(現状はこの状態f(–;;;)。

そこで、基本事項ではありますが、下記のような改良を行ったんです。

  • 文字色が同一のものは、まとめてTextOut関数に送る(TextOut関数の呼び出し回数を最小限に留める)
  • いきなりオリジナルのウィンドウDCに描画を行うと、古い情報を消さなければならない(ヘタすると、チラツクし…)。そこで、再描画テクニックの基本事項であるメモリデバイスコンテキストを採用する。

メモリデバイスコンテキストを利用した再描画は、下記のような手順で行えます。

※hdcはウィンドウDC

※memdcはメモリDC

  1. CreateCompatibleDC関数でhdcをコピーし、memdcに格納
  2. CreateCompatibleBitmap関数でhdcと互換性のあるビットマップを生成
  3. memdcに今生成されたビットマップをSelectObject関数で適用する
  4. memdcに向かって、TextOut
  5. BitBlt関数を使って、hdcにmemdcの内容を描画
  6. memdc、ビットマップを破棄

なんか、べた書きになってしまいましたが、まぁ、無難なテクニックです。今まで、ProjectEditorの再描画部分がこの手法じゃなかったのがコワいです…(おっと、因みにRADツールなんかはココらへん、きちんとしております)。

ピッタリQUOカード

abdev 6 Comments »

遅い夕食を買いに、近所のコンビニへ行ったらちょっと珍しい出来事が!

QUOカードを使って色々と買ってみると、なんと残高がピッタリ0円になったんです。たぶん足りないだろうと小銭を準備していたおいらに、店員がニコニコしながらこう言います。

コンビニのおっさん「お客さん、ピッタリです!カード残高0、差額0ですよ!」

おいら「マジッすか!?(なんかわからんけどラッキ〜♪)」

コンビニのおっさん「ほらほら、ホントでしょ。何か良いことあるといいですね〜。はい、レシート」

さぁさぁ、何か良いことはおこるのでしょうか?(宝くじでも買えばいいのかな…)

タイトル変更

abdev 19 Comments »

サイトリニューアルに併せて、タイトルを変えてみました。どうも良い名前が浮かばず、結局、スタンダードな「AB開発日記」に仮決定。

なんか良さそうな名前があったら、コメント願いますm(__)m

ab.comのアップ作業

abdev ab.comのアップ作業 はコメントを受け付けていません

ふぅ〜。なんとかこれで一段落。まだ細かい部分がおろそかになっているので、それは明日以降に持ち越しです。

Virtual PC 2004

abdev 2 Comments »

Windows XP Professional x64 Edition ソフトウェアコンテストの賞品がきました〜\(^^)/

なんでも、Windows XP上で様々なOSを立ち上げることができるそうで、遊び甲斐がありそうなソフトをいただきました(ラッキ〜)。

ということで、さっそく、CDを入れて・・・

「インストールは中断されました」

ハッ

そうだそうだ。おいらのPCはWindows XP x64 Editionだったんだ。ハードウェアを思いっきり制御する必要があるこの手のソフトは、x64 Editionだとダメな場合が多いんだったな〜(それもそのはず。ネイティブコード違うんだから…)

しょうがないんで、不本意ながらも、モバイル用のノートPCにインストールしてみることにしました。

さすがに純x86のノートPCでは正常にインストールでき、Virtual PC 2004はサクッと立ち上がります。

今日はバーチャルPCのみのインストールをしたので、また時間があるときにでも、過去のWindows達を入れてやろうと思います。

動作確認を頻繁に行うおいらにとって、このソフトは無くてはならないものになりそうな予感が・・・

大将という居酒屋で

abdev 大将という居酒屋で はコメントを受け付けていません

今日は仕事を終えてから、久々に飲み屋へと直行しました。お仲間は、毎度のカトーさんと、おいらが借りている新居の大家さんです。

大家さんはカトーさんの幼馴染で、27歳にしながら立派な物件3棟の管理をしております。とても良いアニキ分って感じで、おいらと話が噛み合います。

これから、この三人メンバーで飲みにいくことがちょくちょく出てくるかもしれないな〜と感じた今日この頃でした。

家 × 解体 × ありがとよっ!

abdev 家 × 解体 × ありがとよっ! はコメントを受け付けていません

最近引越しが完了したおいらですが、とうとう、この日がやってきてしまいました。そう、前に住んでいた家の解体日です。

静岡県富士市にあるこの家、晴れた日には庭からは富士山がよ〜く見えました。もともと家の持ち主は祖父なのですが、諸事情により空き家になったということで、大学入学と同時期においらが住み始めたんです。そう、普通では考えられない、一軒家に一人暮らしという、とってもありがたい状況が与えられたのです。

大学4年間を無事に過ごさせてくれたこの家にはとても愛着があります。大勢の仲間も呼びました。週に数回は誰か泊まりに着ていたほど(通称、ホテル山本)。考えてみれば、このような広い空間を自由に使えるということは珍しいことで、飲み会のメイン会場として重宝されるのも無理もありません。

dai_optimistic:20060416161500j:image

築四十数年、祖父、親、その他親戚など、色々な人達が住んできたこの家。最後はおいらの大学生活で役目を終えたということになります。

深夜11時。所要で家の近くまで来たので、解体が始まった家の扉を開けてみました。骨格は残っているものの、壁や床が剥され、無残な姿になっていました。さすがに、「取り壊し」という生々しい現場を見てしまうと、胸が痛みます。蛻の殻になった家の中、一人立ちすくんでしまいました。本当に大勢の人間と接点を持たせてくれたこの家には感謝をしてもしきれません。

もしかしたら、このブログを読んでいる方の仲にも、この家に来たことあるぞ!って人が数名おられるかもしれません。それくらい、人を呼んでやりたい、呼びたくなるような家だったんです。

dai_optimistic:20060416161800j:image

生きている限り、黙っていても時は進んでいき、モノは古くなっていきます。もしかしたら、将来購入する家も、おいらが生きているうちに取り壊す日がやってくるのかもしれません。今の新居だって、立ち退かなければならないときが出てくることでしょう。

dai_optimistic:20060421000958j:image

でも、ずっと一緒の環境というのは、つまらないし、どんどん新しい出来事は起こるし、それに向かっていかなくちゃなりません。ってなことで、この家には感謝の意を表して、その気持ちの分だけ、今与えられている環境でどんどん行動を起こしていこうと思います。

ずぅ〜っと将来、もし、おいらが家を建てるときは、大勢の仲間がしょっちゅう来るような、来たくなるような家にしたい(><。今は、その遠い将来につながるよう、色々なことをがんばるしかないのです。

スパイダーソリティア

abdev スパイダーソリティア はコメントを受け付けていません

仕事詰めになっている今日この頃。ふと、メジャーなゲームに手を出してしまいました。

もちろん、上級者モード。連続クリアを狙います。やり始めると、止まらない・・・

ドラマ版ちびまる子ちゃん

abdev 4 Comments »

見ました〜。静岡県民として、実写版にしたらどんなんになるんだろ〜と心配しつつ、テレビの前にスタンバってしまいました。

アニメに非常に近いストーリーで関心しましたし、きちんと感動シーンもあります。なんたって、主人公のまる子を演じていた役者の子、よく見つけてきたな〜というくらい当てはまっていて、こういうのもアリなんだなと実感してしまいました。

強いて突っ込んでみれば、花輪君がかなりかけ離れていた点くらいかな(っつーか、あの役は誰もできないか…)。

視聴率高そうだし、そのうち夕方あたりに再放送されるでしょうから、見逃した方は一度チェックしてみるといいかも!?

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン