2007/07/18

日常のタスクを自作言語で書いてみた

 
最近の日常のタスクをちょっと、自作言語でコーディングしてみました。
 
自己満足(※1)で書いておりますが、興味のある方はご覧ください。
 
※1
これ自身は自己満足というよりも、
どんな出来事でも、頭の中でプログラムに直してしまう事が多くなってきた。
 
 
プライベートの頭の中では、常に Event(Task) というものが実行され続けているとお考え下さい。

#include "system.h"
 
//  タスク関数の名前定義
#define TASK_BOOK_WRITER   "book_writer" // 本の執筆
#define TASK_VM                  "vm"            // Virtual Machine
#define TASK_SLEEP,             "sleep"         // 睡眠や食事
#define TASK_PLAY_NDS,        "play_nds"     // NDS
#define TASK_PLAY_PSP,        "play_psp"     // PSP
#define TASK_LOOK_COMMIC,  "commic"      // コミック
#define TASK_LOOK_ANIM,      "anim"         
// アニメ
 
class Main{

  Event(Task){
   var task;
  
   whiletrue ){
       task = feel_random();  // 気分次第のタスクを取得
   
       CALL_FUNCTION( task ); // タスクを実行する
   
       SLEEP();    // 他のイベントを受け取るために、脳にゆとりを。。
    }
  }

 
  Function(feel_random){
     var rand;
     rand = RANDOM(1,100);

 
     // 30% の確率で
     if( rand<=30 ){ return TASK_SLEEP; }

 
     // 20% の確率で
     if( rand<=50 ){ return TASK_PLAY_NDS; }

 
     // 10% の確率で
     if( rand<=60 ){ return TASK_LOOK_COMMIC; }
  
     // 2% の確率で
     if( rand<=62 ){ return TASK_PLAY_PSP; }
  
     // 18% の確率で
     if( rand<=80 ){ return TASK_LOOK_ANIM; }
  
     // 10% の確率で
     if( rand<=90 ){ return TASK_BOOK_WRITER; }

 
     // 10% の確率で
     return TASK_VM; 
  }
}






 
う~ん、80%はリフレッシュという恐ろしいタスクだ( ´д`)
 
 
一応簡単に解説しますと、単純乱数で確率を決めて、それによって動的関数を呼び出しています
 
CALL_FUNCTION() ってのはC言語で言う、関数ポインタみたいなものですね。
 
 
これ書いてて思ったのはリフレッシュタスク以外の優先度をあげるべきというのに
気づきました。。

0 件のコメント:

コメントを投稿