2002年9月の日記

<2002年10月 2002年08月>

うまくいった

やっと「Bomber丸World」のBGMの再生に成功しました。
DMLibでは絶対パスが使えなかったりCSoundのdeleteとMIDI_End()の順番を間違えたりクラスを自殺させなくてはいけなかったりと、兎に角慣れない事なので手間取ってしまいました。
周りから見ればたったの2日で苦労したとは何だってものでしょうが。
密かにひとつBGMが完成したので明日アップします(今日は無理だった)。
実はクリア後ダンジョンのBGMだったりします。
クリア前でも入り口までは入れるんですけどね。

「ふにゃふにゃ」は年内に完成させるつもりです。
いや、させます。

うまくいかない…

「ふにゃふにゃ」で主人公のコピーを設定する機能を廃止してステージの左右端を繋げる機能を付けました。
表示の部分が中途半端にしかできていないので見た目は変な状態になってしまいますが。
それに伴ってスクリプトも少し書き換えました。

「Bomber丸World」のBGMを読み込む機能を付けてみました。
が、メモリエラーばっかり出て作業はかなり難航しています。

MIDIファイルのフォーマット

訳あってMIDIファイルのヘッダを読み込んで表示するソフトを作りました。
「リダクター」のソースを流用して2時間で作りました。
一番苦労したのは数字がバイトごとに逆転しているのを直すところでした。
更新履歴には書きませんが今日アップしておきます。

実を言うと今は更新履歴に何も書き込めない状態なのです。
そうしないとやねうらお氏の所みたいに未来の更新情報が……

嗚呼、受験モードですねぇ…

模試を受けました。
次の模試の申し込みをしました。
センター試験の願書を貰いました。
第一志望の大学の募集要項を取り寄せました。

「ふにゃふにゃ」で、主人公から一定の距離の場所に現れる主人公のコピーを作る機能……のための変数を定義しました。
実装はこれからです。

「Bomber丸World」のBGMの定義ファイルを作り始めました。
定義ファイルの内容は、

  • ファイル名
  • ループ開始・終了位置
  • タイトル
  • 作者からのコメント
が計32個です。

今日は火曜日

「クイズα 問題エディタ」を上げておきました。
自分でもためしに英語の問題集で間違えたことのある問題を打ち込んでみたんですが、結構使いやすくて良かったです。
ただ、答えを書く場所ではリターンキーで次の選択肢に移動するようにしたり、追加した後は問題を書く場所にフォーカスを移動させたりしたほうが良かったかもしれないのでまだまだ改善の余地はありです。

Anti「Cのススメ」は10月7日以降に先延ばしです。

「クイズα」で、出題する問題数を制限する機能(109問の中から20問だけ取り出すとか)を付けようと思いましたが、シャッフルのアルゴリズムやファイル形式との相性が悪く、断念しました。

「甥とは兄弟か姉妹の息子のことです。」を入力しようとしたら「甥とは強大化姉妹の息子のことです。」と変換されました。
強大化姉妹ってどんな姉妹なんでしょう。
考えるだけでも恐ろしい…

ステージエディタ

「ふにゃふにゃ」のステージエディタを少し作ってみました。
主人公の初期状態を設定するウィンドウを作りました。
機能の実装はまだです。
表示画面(プレビューとも言いますね)も見た目だけ作りました。
BitBltとLine関数を使って表示することにしています。

同時進行で「クイズα」の問題作成のプログラムも作っています。
24日の更新はこちらになる可能性も無きにしも非ずです。

Anti「Cのススメ」は中々進みません。
書き出しに気を付けないとCプログラマーに思いっきり悪い印象を与えてしまい、逆効果になる可能性がありますので。

アイデンティティーとアイデンティファイ

IdentityとIdentify読み間違えた…
そのせいでちぐはぐな日本語訳になってしまいました。

「周りを海に囲まれて」のハープの音を直してみました。
まだ変ですけど前よりは聞けるようになりました。

模試の申し込み用紙を貰いました。
これでも一応私は受験生ですからね、模試だって自分から受けるのです。

昨日、ちょっとした不注意から、400時間以上かけたデータが消滅しました。
トホホ…
400時間のデータが消えたらもう開き直るしかないです。
それでもその当日は夜中々眠れませんでした。
まあ、400時間のデータの中には取り返しのつかない間違いをしてしまったことも記録されてしまっていたので、それをやり直せる点では良かったと思っています。
それにしても、消えたのがゲームのセーブデータで助かった……
これが「ふにゃふにゃ」のソースだったら自己紹介のパソコンを叩き壊した回数が少し変わるところでした(バックアップは取ってあるけど)。

8の倍数

「ふにゃふにゃ」の隠れ機能と同様に、「Bomber丸World」のBGMは32個です。
DWORD型の変数を無駄なく利用できます。
この処理を作るためにどれだけサイズがでかくなるものやら…

「周りを海に囲まれて」のハープの音がおかしくなっていました。
近いうちに直すつもりです。
まともにコードのことを知らないと変な音楽ばかりできてしまいます。

今度の更新は多分24日、「Anti『Cのススメ』」にしようと思います。
TabIndexについては知らない人はいないでしょう。

MusicPlayer6開発中止

「ふにゃふにゃ」で、ダメージの処理、ダメージによるゲーム終了、ダメージを受けるが凍らない時の処理、凍るがダメージを受けない時の処理、相手の攻撃を一切受け付けない時の処理(無敵というわけではないです)などを作りました。
このゲームの隠れ機能は8個にすることにしました。
そうすれば1バイトの変数の各ビットに一つずつ追加機能の情報を書き込むことができて無駄がないからです。

DirectMusicをC++で使えない問題が結局解決しなかったので、「MusicPlayer6」の開発は中止です。
VBもLearning Editionなので、DLLを作ることができません。

リンク集に「The Phoenix Gamers」を追加しました。

DMLibはとても便利

「MusicPlayer4」をバージョンアップしました。
追加の位置を変更しました。

「Bomber丸World」のDirectMusicがビルドできない問題が解決しました。
とはいっても原因がわかってそれを直したわけではありません。
結局どうにもならなかったので、他の人の作ったDLLを使うことにしました。
BBEさんの「簡易DirectMusicDLL」なんですが、見てみるとなんと私にとって非常に理想に近いものではないですか!
これだとリンカエラーもでないし……ムフフ…
ただ、たった一つだけ理想と食い違う部分があるのでその部分を変えてくれるよう頼んでみるつもりです(変えなくても充分動きますけど)。
次の更新は「The Phoenix Gamers」とのリンクになるかもしれません。

昨日の日記に間違いがありました。
BGMのことは「ふわふわふにゃ」の方です。
トゲが186個もあったらもうたちまち2重3重に取り囲まれてしまいます。

ふにゃふにゃふにゃ

「ふにゃふにゃ」で、ランダムステージセレクト機能と、ゲームが終わってタイトルに戻った時今までプレイしていたステージが選択中になる機能をつけました。
前作に引き続き秘密機能もつける予定です(というよりもうそのために使うクラスも作っています)。
今のところ予定しているのは、

  1. ニコニコ(前作と同じ)
  2. 隠れキャラ
  3. 画面反転
などです。
画面を左右反転させても設定でキー操作を左右反対にすると問題なく操作できるのであまり意味はありませんが。
BGMできません。
プログラムはできたのに…

「ふわふわふにゃ3」で結構いい記録が出ました。
185.292秒間逃げおおせました。
1と3は生き残ったミリ秒数がそのまま得点になります。

IE6最悪…

今を遡ること数日間(←たったそれだけ?)……
ゲームボーイを買おうと思っていたのですが、肝心の欲しいソフトがどこに行ってもなかったので(とはいっても2ヶ所しかいっていない)、本体も結局買えないままでした。

そして今日!
少し遠出をしてとうとう見つけたのです!
DQM2ルカ編です。
しかし結局弟に取り上げられてしまいました(それでもいいけど)。

「ふわふわふにゃ」で当たり判定を外してトゲを200個出してみました。
数秒で完全に取り囲まれてしまいます。
数値計算の関係でトゲは左上に向かって動きやすくなっています。
除算のときに小数点以下を切り捨ててしまうのが原因です。

「ふにゃふにゃ」で普通のダメージの処理を作りました。
凍った時の処理をちょっといじっただけです。

InternetExplorer6をインストールしました。
すると、アイコンがぼやけて見え辛くなりました。
しかも、フォントに関わらず希臘文字が下手な字になりました。
さらに、よくフリーズするようになりました。
IE6をアンインストールしてIE5に戻しました。

Anti「Cのススメ」でもやろうかなぁ…

オゾンの中を飛んで行け!

「ふわふわふにゃ3」を作りました。
最初のトゲが普通に追いかけてきて、1秒ごとに現れる新しいトゲが前のトゲを追いかけます。
下手な逃げ方をしてはすぐトゲに取り囲まれてしまいます。
私は2分近く持ちこたえました。
BGMなどの機能もつけて10月1日にアップします。
一応画面写真だけ今日アップしておきます。

オゾンの臭いを嗅いでみました。
教科書にあった記述…
「オゾンは特有の刺激臭を持つ気体で…」
臭かったです。

腹筋30回と腕立て伏せ30回をやってみました。
今回は普通にできました。

秘密の更新(どこが)

またも更新履歴にない更新です。
ダウンロードのVBソースに「2つの構文の速度比較」を追加しました。
リンク集にもあるとあるサイトで話題になった事があります。
プログラミングの「VB小ネタ」で高速化について載せました。
小ネタに載せたことを速度比較で実際に使っています。
実は自己紹介も更新しました。
私についてよりわかるようにはならないと思いますが…

「Bomber丸World」のDirectMusic関連の不都合は未だに直りません。
DirectX SDKインストールしなおしたのに…
もうここまできたらやねうらお氏の所に文句を言いに行くしかなさそうです。

犬の話

今朝家の外が五月蝿いので見てみると、家に犬が入ってきていました。
うちはマンション(英語ではアパートらしい)なので犬は飼ってはいけないことになっており、何故そこにいるのかわからない状態でしたが、管理人に連絡して連れて行ってもらいました。
夜になって買主の方が御礼を言いに来てくれました。
お菓子を貰いました。
も~かったも~かった♪

学校で世界史の補習がありました。
今度は弁当を食べられました。
3時20分からだったので当たり前ですが。

やはり昨日は書きたくて書き忘れていたことがありました。
昨日数学の教科書の問題を解いていたんですが、それが大学の入試問題が練習問題みたいに見えてしまうほど難しかったのです。
それともう一つ、夏休み一杯かけてどうしても解けなかった問題がようやく解けました。
やり方が間違っていたようですが、未だにどこがどういう風に間違っていたのかがわかりません。

Rect関数

予告通り、「IntersectRect」を更新しました。
次は「TabIndex」にでもしようかと思っています。
思っているだけですので必ずするとは限りませんが…

「ふにゃふにゃ」で、ステージ情報クラスに移行できていなかった部分があったので修正しました。
「まちかどバトル」の遅さは未だに解決策が出ません。
蓄積ダメージの処理もそろそろ作ろうかと思います。

何かを書きたいと思った時、本当に書きたいことを忘れてしまって、どうでもいいことしか書けなかったという経験、皆さんにもありますよね?

謎の物体

散髪に行って来ました。
少し遠くまで行っていたんですが……その帰り!
ある団地の芝生に!
誰も入らないような場所に!
なぜか!
タマネギが置いてあったのです!
これは何か異常感を感じませんか?
きっと宇宙人が置いて行ったんですよ!!!
…ってどういう発想してんだ。

「ふにゃふにゃ」のステージエディタの制作を進めてみました。
ステージ情報を記録するための構造体を作りました。

絶対273度の怪

今日は何故か冷房についている温度計が0℃を示していました。

「ふにゃふにゃ」の「まちかどバトル」のステージ、サンプルステージよりも単純なつくりなのに動作が遅いです。
小さいのに。
ビットマップ表示も少ないのに。
ラインも少ないのに。
仕掛けも少ないのに。
色々試してみましたが、背景の表示に時間がかかっているようです。
サンプルステージよりも大き目の背景なので描画自体は速くなってもおかしくないんですが…

学校でタイル模様を見ていて思いました。
この模様の上にグラフを描いてみたらどうなるだろう……
というわけで、ダウンロードページに歪んだ平面上に関数のグラフを描くソフトのソースを追加しておきました。
あまりにもつまらないものなので更新扱いは無しです。

凍て付いた教室

それは今日の物理の授業の前の事でした。
物理教室には前の日から鍵が掛かっており、授業の時まで入れない状態でした。
しかし、鍵を開けて入ってみると、中は冷蔵庫の中のように恐ろしく寒くなっていました。
冷房が一番低い温度に設定されていたのです。
昨日から教室内には誰も入れなかったのに何故…?

「Bomber丸World」は戦闘中に逃げるのが当たり前のRPGです。
何しろ敵に強いのが多いのです。
場所によってはボス以上に。
特にニストなんて不死身だし。
しかしそんな敵でも多くはある程度ダメージを与えれば相手の方から逃げてくれるのです。
いくらゲームの中でも、無駄な戦いは避けたいものですね。

次回の更新予定日は9月9日です。

無題

今日は先生の携帯電話は鳴りませんでした。

「ふにゃふにゃ」で、主人公同士の縦方向の当たり判定を作りました。
ぶつかると少し跳ね返ります。
後残っているのは、結果の記録、ステージの作成、凍らないダメージ処理、凍り付く時間の調整、ステージランダムセレクト機能、ステージエディタ、などです。

「Bomber丸World」に使う音楽を幾つか作りました。
「Bomber丸」のへっぽこ音楽をアレンジしたものが多いです。
町の音楽がそれにあたります。
今ファイルとして存在している音楽のタイトルを挙げておきます。
「何故この音楽か、それが謎」
「周りを海に囲まれて」
「宮殿でドーナツを食べたい」
「狂わされた存在」
「オバケが出たぞ!」
前の3つがへっぽこアレンジ曲です。
希望があればアップしてみますがなければしません。

無題

学校で英語の時間、先生の携帯電話が鳴りました。
先生は必死に弁解しながら教室の外に出て行きました。
どうやら緊急の電話だったようです。

昼食を昼に食べ損ねました。
今日は授業が午前中だけで終わるはずだったのですが、夏の世界史補習受講者は2学期に入っても残りをすることになっていて、午後にも補習があったのです。
補習の開始時間は13時10分、授業が終わったのは12時40分、HRが5分で掃除が10分、10分ぼーっとしていて、1時5分、弁当箱を取り出して、蓋を開け、箸を手に持ち、手をつけようとしたその瞬間…
ガラッ…
「よーし、夏の講習の続きやるぞ~!」
その後2時間に渡って補習は続き、終わった瞬間に私と同じくして昼食を食べ損ねた2・3人が遅い昼食を食べ始めていました。

「ふにゃふにゃ」で、主人公同士の当たり判定を作りました。
それと、仮公開です。
あくまで仮なので、更新履歴には書きません。
scriptフォルダの中を見られるようにしておいたので、プログラミングが少しでもできるという人はスクリプトの中身を覗いてみてもいいかもしれません。
ダウンロードした人はできれば動作報告をお願いします。

何故かファイルのアップロードに梃子摺ってしまいました。

無題

「ふにゃふにゃ」で、攻撃の当たり判定と攻撃に対する反応を作りました。
これでようやくゲームとして成り立つようになりました。
それで弟と対戦してみると3勝7敗でした。

それにしても、人と対戦して負けても「まあ仕方ないか…」と諦められるのにコンピュータと対戦して負けると「をんのれえぇ~、計算機の分際でぇ~~!!!」と思ってしまうのは私だけでしょうか。

画面写真をアップしようと思いましたがうまく撮れなかったのでやめました。
攻撃エフェクトには多くの色を使っているので画面写真の色数が増えて鬱陶(うっとう)しくなるのです。

無題

「MusicPlayer4」で項目を追加する位置を選択中の項目の直後に変更しました。
これでかなり便利に使えるようになりました。

「MusicPlayer3」で日本語のファイル名のファイルを開くとエラーが起こっていましたが、調べてみると、どうやらDirectMusicLoaderは日本語のファイル名を認識しないらしくて、ファイルを見つけ出すことができなかったようです。
C/C++などで作ればファイル読み込みは自前で行ってその先頭のポインタを渡すことで解決するのですがVBでは難しいと思います。
調べて何かわかればその内容をプログラミングのページに書きます。

今日から2学期です。
避難訓練をしてそれでグラウンドにでたところで始業式を始めるというなんともせこいプログラムが組まれていました。
その後は忘れた頃に返って来る、模試の判定結果が返されました。
第1志望のところがC判定でした。
ただ、夏休みで大分脳味噌がとろけてきているのでこれから相当勉強しないと合格できそうにないです。

無題

IntersectRectについて新しい、というより当たり前の事がわかりました。
次の更新はこのことになりそうです。

明日から新学期です。
プログラミングをしている時間が短くなりそうです。
(↑既に短くなっている時期だろ!)

蛍光灯は付けたらできるだけ早く消した方が電力消費が少ないのは当たり前ですが、実は蛍光灯を消してすぐに付けるよりは付けっぱなしの方がいいのです。
興味があったら調べてみてください。
最近の蛍光灯は進歩しているのでいつもこの通りとは限りませんが…

<2002年10月 2002年08月>