Repo

kjana00@gmail.com

older <-

2009-05-30 01:26:11

今朝は晴れ。朝ごはんはパンとソーセージとゆでたまごとサラダ。やけに爽やかっていうか、昨日の晩は 20℃ とかいってたしどうも気温の変化が極端。

思い付いちゃうと手を付けたくなるもので、ということで結局昨日の晩ごにょごにょ考えてたことを実行に移す、ふりをしてやってる最中にもっとざっくりした機械化で十分なのに気付いてそういう方向へ。表示名からアクセスする構造体のメンバと配列中のインデックスと、二つある配列のどちらを選ぶのかが見えるなというのにふと気付いたんで。っていうか何で今まで思い付かなかったんだろうっていうレベル。まあ仕様が決定するまでは放置っていう気分が強かったからねぇ。とりあえずだらだらと並んでた出力の羅列が普通のコードと配列にしたリストになったんで満足しておく。数えるのが自動になったのは大きいよ、うん。

もう一つ小さい構造体配列で、こっちは普通にオフセットからインデックス求められるからでテーブル使った構造に直して、フラットな構造の出力のリストについては数えるのとリストアップが字面上同じ構造になるから関数定義をするマクロにまとめてみて、最後に一つ残った手で羅列してるのをどうしようかとちょっといじってみてあきらめるところまで。初期値をファイルに落とす時に使った EXCEL の表からオフセット求めて設定ファイルのオフセットと突き合わせられないかと思ったんだけど何か微妙にずれるんだな。設定ファイルにあるのはターゲットハードウェアでのメモリマップ上でのもの。でもこの配列があるリージョンは byte align にしてる風だから char なら 1、short なら 2 っていう感じで適当に合いそうなんだけど…… padding 分かな。追求する時間があるかどうか怪しいんで今日のところは妥協。

それで最低限のテストっていって何をやったのかというメールでの質問に答えるのもあって、実際にデバッグ出力を生かしてテストを一通りやり直してみる。入力は大丈夫で、NVRAM 模擬周辺も平気。出力は一連のシーケンスを確認するっていうのと合わせてずっと見てたわけだしやっぱり平気。パラメータを取り込むのは……あれ? 何か変……

ベクタ変数については行ベクタじゃなくて列ベクタを取るようにしたんだったということで解決。間違ってないよね。二次元行列のやつが問題。中身の変数と形が一致してたら大丈夫だけど、一行増やしたら何か一行分余分に読んで次の列にはみ出しちゃってる。最大値を小さい方に合わせるっていうのはちゃんと働いてるんだよねとか、行数だの列数だの間違えてるわけでもないんだなとか、デバッグ出力させつつ色々と悩んでみた挙句にふと気付く事実。ループ回数の上限は小さい方に合わせる必要があるけど、行列の形自体が変わるわけじゃないんだからインデックスを調整した m だの n だので計算したら駄目やんな。元の行列のサイズで計算せな。……直った。良かった……

そんなこんなで妙に消耗しつつメールの返事を書いたところで終わっておく。宿題終了、でも実現しなきゃいけないのかどうかをはっきりさせた覚えのない部分をどうしたもんだろうという質問を加えつつ。エミュレータでは本来の動きは実装してないんですが、と。それで帰って晩ごはんにそば。たけのこ残ってるし若竹煮、というのから若竹そばな方向に行って、結局いつものとり汁にたけのことわかめが加わるという方向に落ち着いたという。何となく買ったポテトチップスを空けてから食べる晩ごはんでお腹一杯。

後はメール読むだの WWW 見るだのゲームするだの。24 階のランダムクエストに突入したら、ターゲットに会う前にえらい目にあったりする。何だこのトラップだらけ……

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12