Repo

kjana00@gmail.com

older <-

2009-08-04 00:17:03

今朝は晴れ。朝ごはんはパンとソーセージとゆでたまごとサラダ。環状線の外側では爽やかって言っていいぐらいなのに、OBP まで行くとじっとり暑いのが嫌。

今一つやる気が出ない中作業開始。先週までのは新しく入った大きな変更がほぼ前からある部分と無関係だったから楽だったんだけど、これは結構まともに喰い込んじゃってるのがね……おまけに追加量が多い。おまけに多い割にはまたコピーコードが増えて四つが八つになりましたっていう感じだから、何とかコード通りに描くんじゃなくてもうちょっとましに出来ないものかなっていう気になる。結果。面倒臭くてしょうがないよ……

まあそう言ってばっかりもいられないんで、仕様代わりになる修正コードを作りつつ中身をもうちょっと真面目に見る。やっぱりこの辺りは同じに見えるよねとか、これを括り出したら引数変えた関数呼び出しにばらせるよねとか、でもそれでばらすと結局絵的にコピーしなきゃならないわけだとか。配列にパラメータを一まとめで放り込んでループに任せるっていうやり方が出来ない分、絵の方が面倒。ベクタ信号にうまく出来るとぐっと楽になるけど、割と最初からそのつもりで作っておいたっていうんでないと上手くいかないし。うーん。

それで結局どこから手を付けたもんだかという気分になりつつ、とりあえず C コードに皮を被せてる部分の修正から手を付ける。これにベクタ入力をサポートさせたらっていう話はあるんだな。あるけど、その後をどう展開するかっていうのがちょっと思い付かない……同じ部品を並べた絵を描くのとどっちが簡単で保守性が高いかという話。今のコードがそのまま最後まで参考になると限らないのがまた。……やっぱりコードからお絵描きっていう線はよろしくないのだと思われます……

わざわざ滅多に使わない unsigned char の配列にしておいて終端マーカを -1 にしたコードを書く間抜け、なんていうことをしつつとりあえず書くだけ書く。前まで二つのタイプと二つの方向で区別出来てたから bitwise or でインデックスを作ってたけど、もう一つ直交した軸が加わった上に、直交してない分類が加わるもんだから表の中にその辺りをパラメータで書いて線形探索することにした。高々 10 エントリだし。動かすのは PC 上でだけだし。double * で渡してる値を double のつもりで見てたらそりゃごみに見えるわなとかいうのも直したら出来上がり。

ついでにインデックスに対する防護措置を付け加えてから、直したコードを使ってる部品をちまちま直してみる。こんなものでいいはず、と……それでテストも直した方がいいなと思いつつもちょっと止まる。これ、今の作りをそのまま押すより分解して組み直した方が見通し良くなりそうな気がするんだ……今、コピーペーストで頑張ったんだねっていう感じの四つの関数になってるのが、この作りのまま進めると十個の関数になるわけで。まあ組み直しても、関数十個分だったのがばらした関数十個と二つと後処理が何種類かぐらいになるっていうわけなんだけど。うーん、あんまり変わらないのかな……微妙。

考えつつその良く似た関数がパラメータの違い以外は全く同じ関数であることを確認しようとしてたら違うっていうのに気付いたりする。でも、この違いって、何かものすごくコピーミスっぽい。こっち側にはまる部品はどれもこれも大きくなる窓を取ってるのにこれだけ小さくなる窓を取ってる。窓の位置も違う。おまけに最後に反対側の変数に値を代入してる。……ということで担当の人に質問に行ったら「ああ間違いですね」ということで一安心。やっぱり同じだよね、うん。そうすると今ある部品を並べることも出来るわけだけど……さて?

……という辺りで終わっておいて帰る。晩ごはんは豚汁うどんとなすの塩もみと枝豆。そういえば大根が無くなってたんだよということで若干寂しめ、かというと別段そんなこともなくお腹一杯になったりする。枝豆が多かったのかな。

ちょっと探してたまんがはどうやらまだ出てないのととうの昔に買って読んだはずのだというのがわかったりしつつ WWW 見てたりゲームしてたり。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12