2002年8月の日記

<2002年09月 2002年07月>

無題

「クイズα」をバージョンアップしました。
最後の文字が"\"になるのを修正しました。
いちいち更新のたびにファイルサイズを書き換えるのは面倒です。

明日は9月1日ですが日曜日で学校は休みです。
私は9月1日の日曜日は夏休みとは思っていません。
新学期の第一日目がたまたま休みになっただけだと思います。
実質連休の日数は増えますけどね。

無題

「ふにゃふにゃ」で落下中に攻撃ができるようになりました。
これで攻撃をする部分の処理はできました。
後はその攻撃が当たった時の処理を書けばようやくゲームとして成り立つようになります。

明日「クイズα」をアップします。
実は8月31日に更新することは前から決めていました。
学校のみんなが宿題で苦しんでいる時に自分のサイトの更新をするっていうのが目的です(←宿題終わってないくせに)。

無題

凄い状態でパソコンがフリーズしました。
普通にWindowsを起動してMusicPlayer3を起動してVC++でソースと睨めっこしていたら5分であっさりフリーズしました。

「ふにゃふにゃ」で跳び上がり中に攻撃できるようにしました。
立っているときの攻撃は攻撃範囲が広い代わりに時間がかかり、ジャンプ中は攻撃前後の隙が少なく、また、ある程度狙いうちもできるようになっています。
ただ、空中でも攻撃しすぎると疲れて動けなくなるので、そうなると大ピンチになります。
攻撃には専用のクラスを使っているので攻撃の処理そのものができていなくても攻撃する時の条件は事細かに決めることができます。

最近スマブラでドンキーコングを恐怖の異種生命体ゾンビーコングと見立てて倒しまくる遊びをやっています。
傍から見るとバカそのものです。

無題

今日で学校の後期夏季講習が終わりました。
最後に掃除をさせられました。
その文手当てを付けてやると言うので期待しているとペットボトル入りのジュースをくれました。
人から物をもらっておいて悪いんですが、無い方が良かったと思っています。

「ふにゃふにゃ」で攻撃周りを少し修正しました。
攻撃する度に疲れた表情をしていたので普通に攻撃するようにしました。
攻撃エフェクトはOR合成でつくっているので背景の色によっては変な状態になります。

無題

「ふにゃふにゃ」で攻撃そのものの処理を見た目だけ作りました。
本当は床にぶつかって跳ねたり誰かにぶつかると凍らせる効果もありますがそのへんは後回しにしておきましょう。
疲れたときのアニメーションも作りました。
やっとそれらしくなってきました。
完成に近づいて大きな変更がなくなったらステージエディタも本格的につくり始めようと思います。

無題

「ドラゴンボールZ」を録画したビデオを物凄く久しぶりに見ました。
悟飯とトランクスが人造人間二人に見事にやられてしまうスペシャルでした。
これがまた笑い所満載のスペシャルで、大爆発に巻き込まれながら普通に喋るリポーターで早速笑わせてくれました。
見終わった後巻き戻してみると…

  • 何故か「ウルトラマン」のマッキー1号が紹介されていた
  • どういうわけかバイキンマンが猫の大王に乗っかられていた
  • あろうことか仮面ライダーRXが地球を粉砕していた
色々録画されていました。

「ふにゃふにゃ」に使う攻撃の時の画像を作りました。
攻撃周りの主人公の動きを作りました。
何度も連続して攻撃すると疲れて暫く動けなくなってしまいます。

「Bomber丸World」に使いたかった何かに似ているBGMは最初から作り直すことに決めました。
いい(≒ろくでもない)メロディが思い付きましたので。

無題

最近することがパソコンか勉強ばっかりだったので体力が落ちているかもしれないと思い、腹筋をやってみたら20回でもきつかったです。
腕立て伏せは30回やっても余裕でしたが…

「ふにゃふにゃ」のジャンプ禁止床を変えました。
[乗っている間はジャンプ力が0]から[乗っている間はジャンプボタンが効かない]に変えました。
前者の方法だとジャンプ直後に1フレーム(≒一瞬)だけ空中にいることになってしまうので、乗っている間は何かが表示されつづけるような床があった場合、ジャンプする度にその表示が一瞬消えるのです。

課題の漢字練習帳1冊終わりました。
腕が痛い……

無題

「ふにゃふにゃ」で、主人公が時々ヒマそうな顔をするようにしてみました(全身顔ですが)。
ジャンプ失敗のところを直した場所がごちゃごちゃになっていてジャンプ禁止床でもジャンプするように変わっていました。
直しました。
*dy=0;を*(act+1)=0;にして直しました。
文字列表示関数を追加しました。
しかし、フォントサイズを変更して表示しようとするとDeleteObjectでメモリが解放されず毎フレーム終わる度にメモリが減っていきあっという間にエンプティになりました。
つまり、DeleteObjectをフォント変更の度に呼び出すのがいけないのであって、終了時に呼び出せば呼び出すのは一回だけになりメモリ消費も少なくて済むのです。
しかもプログラムの終了と同時にメモリは回復するのです。
プログラム開始時に使えるフォントを幾つか予め用意しておき、フォント変更はそれらを切り替えることによって行うようにしました。
今ではバリバリ快調に動いています。
見た目が変わったので画面写真もアップしておきました。

ちょっと変更するだけのつもりだったのにえらく凄そうなことになってしまったなぁ……

無題

予告通り、「IntersectRect」のサンプルをアップしました。

「ふにゃふにゃ」で主人公が普通に立っているときに瞬きをするようにしました。
それと、スクリプト側から主人公のポーズを指定できるようにしました。
攻撃の処理は厄介そうなので暫く放置されそうな雰囲気です。

「リダクター」で、パレットと絵の本体を読み込む部分を作りました。
減色後の画像のためのメモリ確保も。

無題

「IntersectRect」のサンプルができました。
とてもIf文では対応できないようなパターンでも使えます。
当たり判定をIf文でやっていて苦労した人にとっては感動的なくらいです。
22日にアップする予定です。

サンプル2でエイミーにコテンパンにやられている敵は「Bomber丸World」でボスとして登場する、プララというキャラクターです。
前半に登場しますが、結構強いです。
今日はそのプララのアイコンサイズの絵を描いていました。
というより100%アイコンですが。
ただでさえドット絵が下手なのにたったの4階調でメタリックを表現するのはかなり難しいです。
「Bomber丸World」のマップチップ用と「パネルα」の余ったマス用です。

山側からの風、天気は曇、虹が出ていた

「ふにゃふにゃ」で、四角形の手前に画像を表示しようとした時に画像が消えるバグを修正しました。
原因はswitch文の中に書いていたものと同じbreakをif文の中にも入れてしまったことでした。
switch文にかかるべきbreakがfor文にかかってしまっていたのです。

「IntersectRect」のサンプルを作っています。
Line関数も使います。

「リダクター」の制作も進めています。

無題

「ふにゃふにゃ」の、ビットマップ情報関係の部分の変更が終わりました。
これでステージ情報のクラスへの移動が完了しました。
ビットマップの表示方法も変わりました。
うまくいけばこれで高速化につながるはずです。
今度からは攻撃の処理を作るつもりです。
どんな攻撃になるのかは見てのお楽しみということにしておきます。

もうすぐ学校の後期夏季講習が始まります。

無題

カレーを食べているといきなりスプーンがバキッと折れました。
手がカレーでべちょべちょになってしまいました。

「ふにゃふにゃ」で、ライン関係の処理を別クラスに移しました。
キャラクター関係の処理と比べて、ただの置換だけだったので比較的簡単に、大した問題もなく移行することができました。
ステージエディタも作り始めました。
あと、ビットマップの表示方法を変えたのでこれからその辺の処理を書き直しておきます。

「クイズα」でエスケープシーケンス文字関係でバグがあったので直しました。
今度の更新はこれになるでしょう。

うちの家族は私以外腐ったものに対して鈍感です。
腐っているとわかっているものに味をつけて食べようとしたり、凄い臭いがしているのに気付かずに食べて美味しいと言っていたり、そのことに料理している時点で気付かなかったりします。
私自身は賞味期限のわからないものや少しでも臭いの違うものは絶対に食べないので逆に気にしすぎかもしれません。
皆さんも腐ったものには気をつけましょうね(^^

無題

「ふにゃふにゃ」のスクリーンショットを更新しました。
一見すると我慢大会と大欠伸みたいですね。
このゲームにはふにゃが二人登場して区別できないのですが、例外があります。
それがスクリーンショットに移っているピンク色のやつです。
色も違えば名前も違い、性格まで違ってしかもストーリーには関わらないキャラクターです。
所謂おまけキャラです。
基本的にはただの色違いですが、幾つかのポーズが微妙に違っています。
ある条件(まだ決めてない)を満たせば設定プログラムで選べるようにしています。
ついでに、攻撃のプログラムも作ってみました。
攻撃の当たり判定が無いので無意味ですが。

無題

「ふにゃふにゃ」にステージ定義ファイルの読み込み部分を作りました。
ステージ定義ファイルは、始めの4バイトが「f2s1」、次の32バイトがステージタイトル、その後に二人の主人公の初期状態、使用する線の数、線の初期状態、という構成になっています。
これからの予定は、ステージ定義ファイルとスクリプトファイルがあればステージ定義ファイルを先に読み込んでからスクリプトを実行し、スクリプトしかなければスクリプトだけで実行し、ステージ定義ファイルしかなければスクリプトは別に用意されたものを実行し、どちらも無ければエラーを出すようにするつもりです。

まだ開発に時間がかかるかもしれないので、開発室を本格的に作るかもしれません。
もし作ることになったら、「Bomber丸World」の情報も流してみようと思います。

「mciSendString」で、入力ミスがあったので修正しておきました。
……プログラミングのコンテンツ、メインとか言っておきながらかなり手抜きですね、すみません。

無題

プログラミングのところを更新しました。
使える機能を挙げたら本当にキリが無いmciSendStringです。
MSDNライブラリに挙げられているだけでも数十個あったので、実際に使えるのは百個を超えるものと思われます。
パソコンによっても機能が違ってきます。
例えばうちでは"type mpegaudio"としてもMP3は鳴りません。

「ふにゃふにゃ」で、スクリプトクラスで行っていた処理の一部を別のクラスに移しました。
それと、ステージ定義ファイルのフォーマットも大雑把に決めてみました。
つまり、実際の動作は変わっていません。

それに伴って(どう伴うかは別として)、入力した文字のASCIIコードを表示するソフトを作ってみました。
やっていること自体は簡単だったのにVBでは文字をUnicodeで扱っているためそれに気付くのにかなり苦労しました。
「VisualBasic初心者連盟」の掲示板で質問しようと思ったら関係のあることが既に書き込まれていたのでそれを参考にさせて頂きました。

IMEツールバーが消滅しました。
経験からすれば、Windowsを再インストールしないと直らない状態です。
きっとどこかのファイルにツールバーを消すような情報があるんでしょうが、それを探すような技術は全然ありませんので、このまま使いにくい状態が暫く続きそうです。

無題

あくまでこのサイトのメインはプログラミングですからね。
ソフトの更新が多いのは変更点が多いからに他ならないのです。

そんなわけで次に更新する場所はプログラミングのところで、内容は「mciSendString」です。
MIDIでもWaveサウンドでもAVIでもWMAでも場合によってはMP3でも再生してしまうあれです。
あれはあれでもあのあれの色違いじゃありませんよ(わからんだろうなぁ)。
兎に角(『うさぎにつの』って読むなよ)、「MusicPlayer」の2以降に使われているあれです。
mciSendStringってできることが物凄く多いのでよく使われるものしか紹介はしません。

ルターとルソーを間違えた

「ふにゃふにゃ」にステージセレクト機能を付けました。
ステージファイルを開くことができます。
ステージファイルに関しては多少制限がありますが、問題は無いでしょう。

ボス戦に使う音楽も作っていました。
よくわからない音楽ですが今回のボスにはそっちの方が合っているはずです。
あまり関係ありませんが、「Bomber丸World」のボス音楽はまともです。

伸縮転送系の処理に少し苦戦しています。
どうしても他のHDCを介して描画を行わないとうまくいかないのですが、そのためにはプログラムを大幅に変更する必要があるのです。

最近タイプミスが激しくなって困っています。
ここに書こうとした中でも「あるのです」の「の」を「ま」と間違えたり(ローマ字入力です)、「タイプミスが」の後に何故か「あ」を余計に書いてしまったり、プログラムの中でも、「current」と書くべきところ7箇所のうち実に6箇所で間違えて「currect」と書いていたのです。
どうやったらこんなにも凄まじいタイプミスができるのか自分でも不思議でなりません。

社会のテストで「ブライス」と書こうとして「ブラウス」と書いてしまった人の気持ちがよくわかる、しみじみ……

<2002年09月 2002年07月>