Repo

kjana00@gmail.com

older <-

2011-11-12 01:38:04

今朝は雨。朝ごはんはパンとサラダとソーセージ。朝から足元が鬱陶しくてかなわない。いい加減、修理するなり別の靴買うなり、かな。

こう天気が悪いと外の小屋に機材を運ぶのも何だよなということで他のこと。とりあえず switch で書いた状態遷移のコードを別の書き方にしてみよう。このままだといじるの大変そうな上に、緊急時の状態遷移が即座に実行されない場合があるっていうのがわかってるし。二系統の状態遷移のために微妙にコードが重複してるのも気持ち悪いし。

ある状態に入った時に、次の状態を決めた後でしばらく待ちを入れられるようになってる。単純に static 変数のカウンタが > 0 の間はカウントダウンしかしないっていうコードなんだけど、緊急時に次の状態を決めてもこのカウンタ分の待ちがそのまま残ってた。条件判断を散らしたくなかったから、二系統それぞれの static 変数を外からいじれなかったのね。ファイルスコープの static 変数にしたら済む話ではあるけど、それはそれでスコープ閉じてない変数が増えるのが嫌だし。

switch 文でやってるところも何か嫌。これから状態増えたらどんどんこの switch がふくらんでいくんですねと思うとちょっと。enum で状態表してるけど何だか error prone な気もするわけで。ということで、状態そのものを次の状態決定とカウンタ設定をする関数で表して、この関数が構造体を受け取って中身を書き換えるっていう形に直してみた。cyclic reference ってどうやって解消するんだっけと実験したりしつつ。二系統を別のファイルにして、構造体も関数郡も static にしてやったから、別系統の状態を間違って設定して状態遷移が壊れることはなくなった、と。カウンタの処理だの緊急時の処理だの構造体から関数取り出して呼び出すだのは共通化。似たような小さい関数が大量に増えるのはしょうがないか。緊急時の状態遷移は普通の状態関数を呼ぼうとする前に処理。カウンタも現在状態も次状態も緊急時の状態関数の中で適当に処置。これで、問題無いはずだよね……

……というのをちゃんと確認するのはいつになるだろうと思いつつ、雨が上がって天気が良くなってきたから昨日の続きっていうか、緊急停止コードの動作確認をもうちょっとというか。でもくもってるのに変わりはないからあんまり昨日と出来ることは変わらず。しょうがないから自席で定常化電源使って遊んでみたり。一応、ちゃんと止まるよな……何か良くわからない大電流が流れてる様子があるけど。何だろ、これ。

このやり方で負荷の方だけ本物にして確認の後、外で入力も本物にしてみて様子を見ようかという話。まあ、来週だ、来週。ということで今日はおしまいで帰って晩ごはんに豆とパンチェッタのトマトスープなフジッリ。適当に白菜も放り込んだりして。トマトスープだと白菜煮込んでも苦味が出ないのかな。何でもトマトの味になってわからないだけ、っていう話もあるかも。それにしてもちょっとフジッリ多過ぎたわ……

後は WWW 見たりゲームしたりまんが読んだり寝たり。何か寝過ぎたような。それでちょっと潜って 15 階まで行っておいた、ぐらいな感じ。この辺うろつくには装備がちょっと怪しい。それで闘技場でミスリルゴーレムに負けたのがちょっと痛い。もうちょっと勝ち進むと獲得の巻物出るから、何かいいアーティファクトが出る可能性もあったんだけど。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12