0464デフォルトの名無しさん
2012/01/12(木) 15:56:39.37class EnkakuInterface
{
virtual void onEnkaku( int soutei_dedama ,int option ) = 0;
virtua; void process_enkaku_operation(char* buffer);//ホルコン命令を処理し、onEnkakuを呼ぶ
};
class Evengelion : public EnkakuInterface
{
virtual void onEnkaku(int soutei_dedama , int option )
{
if( soutei_dedama >= 400 )
{
stand_flag( SUPER_BIG_BONUS );
if( option & EVA_OPT_FREEZE )
set_next_enshutsu( EVA_ENSHUTSU_FREEZE );
}
}
Evengelion *slot;
void enkaku_thread()
{
while(true){ receive( HOLL_COMPUTER_SOCK , buf ); slot->process_enkaku_operation(buf);}
}
void main()
{
begin_thread( enkaku_thread );
while(true)
{
slot->process();
}
}
こんな感じなんだろう。どのホルコンにも対応できるよう入り口の共通規格だけ決めて中身のonEnkakuはメーカーが好き勝手に実装する。