ちょっと手抜きですけど
「BitBlt(応用編)」の真面目なサンプルを作りました。
前のサンプルは、雰囲気や結果はわかってもらえても途中経過や動作に関しては闇の中でした(≒わかりにくい)。
というわけで、今回は雰囲気よりもわかりやすさ重視です。
コード量も半分以下ですし、内容も見た目どおりでわかりやすくなっています。
「CharaBox」で、データの読み込み・書き出しを作りました。
「NeoMupl」も。何か改良しました。
プログラミング関係の話題。プログラミングコーナーを更新したとか、プログラミングの内容に踏み込んだ話とか。
「BitBlt(応用編)」の真面目なサンプルを作りました。
前のサンプルは、雰囲気や結果はわかってもらえても途中経過や動作に関しては闇の中でした(≒わかりにくい)。
というわけで、今回は雰囲気よりもわかりやすさ重視です。
コード量も半分以下ですし、内容も見た目どおりでわかりやすくなっています。
「CharaBox」で、データの読み込み・書き出しを作りました。
「NeoMupl」も。何か改良しました。
「ByValとByRef」を更新しました。
前よりはもうちょっとましなフィクションです。
やっとうちの掲示板に寄生しているヤツが消えてくれました。
今までクッキーを荒されたりして困っていたんですけど、やっと別サーバーの掲示板に行ってくれました。
しかし向こうが勝手にこっちの掲示板を使ってたくせに自分が被害者面するなんて…
「熱・統計力学」は、今年は半分以上が絶対確実に単位を落とすそうです。
なぜなら、テストを受けられる定員が受講者の半分以下だから!
つまり、全員が優を取れる実力でも、下位半分は
バッサリ!
です。
こうなったら何が何でも単位を取ってやります。
「情報リテラシー」でC言語の練習をしました。
九九を表示するプログラムを作れといわれたのですが、つまらないので階乗を計算するプログラムを作りました。
九九のプログラムに負けず劣らずつまらないものですが。
ちなみに、"stdio"とは"Standard Input/Output"の略だそうです。
「電気回路」で、小テストがありました(毎回ですけど)。
それで先生が答を8Ωと言って、私の計算した結果と違うので先生の言った方法で計算しなおしてもやはり同じ結果だったので、「先生間違ってるよ~」と帰り道で思っていたところ、16Ωと答えるべきところを16Aと答えてしまっていたことに気付いたのでした。
普段は計算間違いはしても単位は間違えないように注意してたのに…
最近ぎりぎりの更新ばっかりだったので今回は少し早めの更新にしました。
実質サンプルの6行のコードを解説しただけですが、理由なども含めて解説したので少々長くなっています。
「DataBox」を改良しました。
画像のあるデータと英語名のあるデータの割合を確かめられるようにしました。
画像:69%、英語名:60%でした。
あるゲームの公式画像をドット絵化しています。
縮小して輪郭をなぞって色を塗るのですが、その輪郭探しに一苦労です。
「BitBlt(活用編)」の説明を作り始めました。
ほぼサンプルのソースの日本語訳になりそうですが。
それほどやっていることは簡単なのです。
「ゼルダの伝説-風のタクト」2周目をやっています。
フィギュアコンプリートとできるだけ喋らないプレイを目指しています。
プログラミングの「BitBlt(活用編)」を更新しました。
詳しい内容は後で書きます。
傘が見つかりました。
なくしたところから少し離れた校舎にあったので、校舎から校舎へ移動する際にちょっと失敬した、ということだろうと思います。
そろそろ「プログラミング」のところも更新しないといけないかな~と思ってBitBltのサンプルを作り始めました。
前のはゲーム風味でしたが、今回はお絵かきツール風味になっています。
学校で傘がなくなりました。
誰かが間違えて持っていったか盗んだかのどちらかだと思うのですが、不可解なんですよね。
私の傘は曲がっていて差しにくいためあまり勘違いはしないと思いますし、盗んだにしても、何故安物のボロで差しにくい傘を、それもよりにもよって雨が上がってから持っていくのか…
まあ濡れなかったからよかったんですけどね。
なんでDirectDrawとかDirect3Dとか画像関係の本は腐るほど出ているのにDirectMusicなどの音楽再生関連の本が少ないのだ~ぁっ!
やっとDirectMusicについて書いてある本を見つけたと思ったら、「テンポが変わったらすばらしいじゃありませんか」とか「ただのループ再生はつまらないがランダムに演奏されるので飽きない」とかどうでもいいようなこと(いや、これはこれでいいんですが)をあたかも世界一凄いことのように…いや、そうじゃないんですが。
私としてはリアルタイムのアレンジに最も興味があったのですが。
「ふにゃさん(3)」を作るときにはそれを使ってBGMをひとつのセグメントにまとめ、それをリアルタイムで変化させるようにしたいと思っているのです。
前に戻りますが、テンポの変化なんてものは、MCIにメッセージを送ればできるはずですし、単純の小節をランダムに演奏するだけではただのループの順番を変えているだけなので単調なものは単調です。
トラックかチャンネルの音量を変化させるのは可能なようなので、それなりの効果はあるかな、と思います。
あとは特定の場所にイベントを置くことができれば期待通りのことができるような気がします。
学校では阿弥陀くじと15パズルの秘密というものを教えてもらいました。
さすがは手品で賞をとっただけのことはある…凄いような気がする先生です。
冷蔵庫を使うと電気代がかかる理由は熱力学の第二法則があるせいらしいです。
Javaでとりあえずサンプルを見ながら適当にプログラムを作り始めてみました。
なんか早速推奨されないAPIがどうのこうのと怒られてしまいました。
Java関連で、「砂のページ」というところが面白いです。
アドレスは
http://www.kdn.gr.jp/~shii/sand/index-jp.html
です。
「上に落ちる砂」がお気に入り。
「NeoMupl」で、情報バーの大きさを変えるメニューを作りました。
実際に大きさは変わりませんが、どれを選んだかは記録されます。
これで記録項目"ShowInfoBar"は無意味になりましたが、レジストリに関する設定を変えると消えてくれます。
Javaの開発環境をダウンロードしてきました。
とりあえずネット上に転がっていたサンプルをいくつか見てみて、大体の雰囲気をつかんだ感じです。
具体的にどうコーディングするかはもうちょっと研究が必要そうです。
そろそろサイトの更新期限が近づいています(自分で決めた期限ですが)。
明日明後日で更新しなければならないのですが、ネタが思いつきません。
「NeoMupl」のことですが、ここまできて根本的な問題を忘れていたことに気付きました。
音楽再生をどうするかをまだ考えていなかったのです。
前みたいにVBMP3とかMCIとかいろいろ使ってもいいんですが、できることならそのへんも自分で作りたいのです。
となれば、その構想が出来上がるまでまた開発が中断されそう…
いやいや、そんなことはありませんよ。
最悪の場合、MIDIだけをサポートすればソフトとしては出来上がるんですから。
つまり、あとは圧縮Waveをどう扱うかになるわけです
Javaについての本をもう少し詳しく読んで見ました。
ほうほう、javacを使ってコンパイルするのか。
ハイ、終わり!
やっとJavaアプレットについて書いてある本を見つけました。
ふむふむ・・・Appletクラスを継承して作るのか・・・
ハイ終わり!
立ち読み約6秒で本が要らなくなった美文でした。
なんかサーブレッドって変換位置変だな~と思っていたら「サーブレット」でした。
変換位置は同じですけど。
今日は学校でトランプマジックについての講義がありました。
つまり、どのようにしてタネを仕込むかということをやったわけです。
「devkitAdvance IDE」で、ウィンドウのリサイズの際うまくツリービューが動かなかったのを修正しました。
まだ機能はありませんが、オプションウィンドウをを枠組みだけ作りました。
エミュレータのファイル名を指定できたり、インクルードパスの設定などができたりします。
「ふにゃgba」のマップ管理クラスの表示部分が一応できました。
昨日書いた部分にたった2行の命令を書き加えただけですが、それだけでも5時間ほど考え込みました(その半分以上がゲームをやりながらだったことは内緒です)。
マップのシフト移動の機能を追加して、テストが済めばマップ管理クラスは完成です。
「ふにゃgba」のマップ管理クラスが、もう一息で表示できるところまでいけそうです。
それとは関係なしに、タイトルの背景部分を表示できるようにしました。
思ったより単調になってしまってちょっと不満です。
その単調さは、スクリーンショットを見ていただければ分かると思います。
IDEの方も少し改良しました。
終了時のウィンドウの状態を保存しておき、次回起動時にその状態を再現します。
作業内容ではなく、ウィンドウの状態を、です。
ゲーム自体(「バナナあつめ」のほう)は、画面が狭いので、うまくスクロールを使っていけたら、と思います。
しゃがんでいる間は下が見えたり、上ボタンで上のほうが見られたり、キャラクターの向きによって見える範囲を変えたり・・・
LRボタンはヒントボタンとして使うつもりです。
そしてゲーム自体は十字キーとAボタンだけでできるようにします。
Bボタンはセーブに使おうと思っています。
それと、パレットの変更で気軽に色を変えられるので、それも使ってみようと思います。
そろそろ更新しないといけないようだったので、「ByValとByRef」を更新しました。
各関数の速度の実測値があるので参考にしていただければ、と思います。
構造体とかクラスはByValでは渡せません。
ちなみに、String型がByValで遅くなる原因は、私は、文字列をいったんコピーしてからそれを参照渡ししているからだと思っています。
「ふにゃgba」のタイトルの模様の元を一通りそろえました。
その画像の下には、通常のステージ用のタイルデータを入れるつもりです。
ちょっとしたこだわりなんですが、「ふにゃgba」の色には、無彩色を除き、灰色を混ぜないようにしています。
IDEを改良しました。
レジストリに記録されるウィンドウのサイズを通常のウィンドウのときのサイズにしました。
「ふにゃgba」のキー入力クラスができました。
ただ、その辺の処理が普通のWindowsプログラミングの感覚に反する仕様になっているため、もっと考えて作れよ任天堂って思ったりもしたのですが、うまくクラスでその辺の違いを隠蔽することができました。
先生が日本語の名前をうまく読めなかったと言う理由で、全員に中国語名が与えられました。
私は、"ジョンダオチェンシェン"になりました。
そんなときその中国語名を使って出席を取っていて、先生が気になる一言。
先生「B君(プライバシー保護のため本名は伏せます)は
はて、偶然にも中学校の、変わった名前の友達と同じ名前だなぁ。
B君「在日です」
そういえば父は名前を見てあいつのことを在日じゃないかって言ってたっけな。
バスの中でB君似の人を見かけたけどきっと人違いだったんだろうな。
そう思いながら、名簿を見ると、正真正銘、中学生の頃の私の数少ない友達であったB君ではないですか。
地理の教科書を受け取って、大学で使う教科書はひとまず揃いました。
学校でWebデザインに関する本を少し立ち読みしました。
私はデザインにこだわらないシンプルなページを作っていたので関係ないと思っていたのですが、シンプルなデザインにはシンプルなデザインで役に立つことがあったので、参考になりました。
結局それを買わなかったのはお金がなかったからです。
帰宅途中、電車で降りる駅を間違え、父と同じ電車に乗って帰ることになってしまいました。
まあ、別にいいんですが。
「devkitAdvance IDE」の「全て保存」メニューを作りました。
「ふにゃgba」の開発もそろそろ本格的に始められそうです。
手始めにキー入力クラスを作り始めました(キー入力はそのままでは使いづらい)。
父に頼まれて、仕事用のソフトを作ることになりました。
「devkitAdvance IDE」で、プロジェクトをオープンするときの処理を少し変更しました。
Cソース、C++ソース、Cヘッダ、C++ヘッダをプロジェクトに追加できるようにしました。
あと、プロジェクトの保存ができるようになりました。
これでIDEとして機能するようになりました。
っつったってファイルをツリー表示してテキスト形式で編集するしかできないのでIDEと呼べるのかが微妙なところですが。
「devkitAdvance IDE」の新規作成の「単純なCプロジェクト」と「単純なC++プロジェクト」を完全に実装しました。
そのまんまでもとりあえず動く"main.c","main.cpp"、そのまんまでもとりあえずビルドできる"makefile"、そのまんまでもとりあえず実行できる"make1.bat"が生成(というよりコピー)されます。
あと、ビルド時の処理を少し変えました。
今までは出力ファイル全てがプロジェクトのあるフォルダにできますが、今度からは、ROMのみがプロジェクトのあるフォルダにでき、その他のファイルはプロジェクト専用のフォルダにできます。
こんな感じです。
GB
┣funyagba.dap
┣funyagba
┃┣main.cpp
┃┣makefile
┃┣make1.bat
┃┣main.o
┃┣funyagba.map
┃┗funyagba.elf
┗funyagba.gba
「SharpDevelop」をインストールしました。
「Visual Studio .NET」風の.NET用IDEです。
詳しくは、"http://sharpdevelop-jp.sourceforge.jp/"を御覧ください。
「devkitAdvance IDE」の新規作成の「単純なCプロジェクト」と「単純なC++プロジェクト」を一部実装しました。
プロジェクトファイルの生成、フォルダの作成ができていて、ソースファイル、makefile、make1.batができていません("make1.bat"の名の由来はよく分からない)。
火曜日と金曜日は時間がないのでできるのはこんくらいのものです。