・・・会社でゴリゴリ組んじゃったよ。
業務は?w

                                                          • -

#include
#include
#include
#include
#include

enum StoryType { DEATH,HOME,SLEEP,MOVE,ACTIVE,BATTLE};

enum StoryType nowmode=HOME;
int CommandWait=0;
int NextMove=0;//次の行動までの時間
int get_apple=0;
int Enemy_P=0;
int Unit_P=0;
int Enemy_HP=3;
int Unit_HP=5;
int apple=10;
int ret =1;//バトル中の戻り値判断
int DayTime=24;
int Battle(void);
void appleEat(void);
int main()
{

do
{
Sleep(3600);//信憑性無し10秒間(体感6秒くらい?)
switch(nowmode){
case HOME:
if(CommandWait==0){
printf("自宅です。所持りんご数%d\n",apple);
NextMove=rand()%10+1;Unit_HP=5;
}else if(CommandWait==NextMove){
printf("りんご狩りへ出発しました。\n");
CommandWait = -1;
NextMove=rand()%10+1;
nowmode = MOVE;
}else{
printf("ごろごろしています。\n");
}
break;
case DEATH:
if(CommandWait==NextMove){
printf("あなたは復活しました。\n");
nowmode = HOME;CommandWait=-1;NextMove=rand()%10+1;
}else{
printf("あなたは魂の救済中です。\n");
}
break;
case MOVE:
if(CommandWait==NextMove){
printf("リンゴ園につきました。\n");
nowmode = ACTIVE;
}else{
printf("移動中です。\n");
}
break;
case ACTIVE:
NextMove=rand()%21;
switch(NextMove)
{
case 0:
case 1:
case 2:
case 3:
case 4:
get_apple+=rand()%3+1;
printf("りんごをみつけました。\n");
apple++;
break;
case 5:
case 10:
case 15:
printf("敵に遭遇しました。\n");
nowmode = BATTLE;
break;
case 20:
printf("飽きたので帰ります。\n");
CommandWait=-1;
nowmode = HOME;
NextMove=rand()%10+1;
break;
default:
printf("何も見つかりませんでした。\n");
}
break;
case BATTLE:
printf("何かべとべとした物と遭遇。\n");
printf("= = = = =戦闘開始= = = = =\n");
//Unit_HP=5;
Enemy_HP=3;
ret=1;
while(ret){
Sleep(1200);//信憑性無し2秒間(体感1秒くらい?)
ret = Battle();
}
break;
default:
printf("バグる〜とッス。えまーじぇんし〜ッス\n");
}
CommandWait++;
DayTime++;
appleEat();//イベント処理関数に変わりました
if(DayTime>48){DayTime=0;}
}while(1);
return 0;
}
int Battle(void)
{
Enemy_P = rand()%3+1;
Unit_P = rand()%3+1;
if(Enemy_P>Unit_P){
printf("あなたは隙を突かれて%dのダメージ。\n",Enemy_P-Unit_P);
Unit_HP-=Enemy_P-Unit_P;
}else if(Enemy_P

                                                                    • -

コマンドライン対応なのであしからず。コピペで遊べますよ。