2001-08-23 (木)
*RPGの作り方とWindowsのAPIの謎(愚痴)
ポケステに電池を入れて昨日のプログラムを動かす.が,どうも上手くいかない.よく考えたら,以前使ってたポケステ用のライブラリにPCM再生用の関数が用意されてたことに気付く.こちらは,ポケステ側で符号なし8ビット>符号付10ビットに変換している.こっちのほうがデータの容量くわなそうだし,使わせてもらうことにする.すると,何も問題なくいきなり動いてくれた(^^;
最近はプログラミングに手を出しやすい時代になったのか,プログラミング系のBBSやメールなどで色々な質問が出てきます.中には「RPGの作り方を教えてください」とか言うものまで.そういう人は素直にRPGツクールとかに走りましょう.メールや掲示板でRPGの作り方なんて聞かれて答える人なんていません.せめて,「BGMの再生」とか「マップのスクロール」とか「スプライト表示の方法」といったものくらいまでです.そこから先は,自分で考えて作ってください.というか,そこがプログラミングです.教えてもらったものしか作らないようなら,自分で作るのは諦めてください.もちろん,まともな質問も多いですよ.
話は変わりますが,
DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LPTSTR lpBuffer // pointer to buffer for current directory );
このAPI,なんか妙に浮いてる気がするんですけど….普通に考えたらパラメーターの順番逆じゃないですか?GetModuleFileNameとか,他の文字列を返すAPIは(私の知っている限り)殆ど普通なんですけど….この順番になっている理由を知っている方がいたら教えてもらいたいです.なんだかWindowsの設計段階でのミスな気がしてならないです.このパラメーターの順番間違えているのに気付かなくて,「コンパイラは警告してくるけど何でなんだぁ!」とか分け分からなくなった人が他にもいるはず(いますよね?)