Esempio n. 1
0
int main()
{
	while (1)
	{
		scanf("%s",inst);
		if (inst[0] == '8')
			break;
		pos = 0;
		int over = 0;
		A = B = 0;
		while (1)
		{
			switch (inst[pos])
			{
				case '0':command0();break;
				case '1':command1();break;
				case '2':command2();break;
				case '3':command3();break;
				case '4':command4();break;
				case '5':command5();break;
				case '6':command6();break;
				case '7':command7();break;
				case '8':over = 1;break;
				default:over = 1;break;
			}
			if (over || pos > 255)
				break;
		}
		printf("%s\n",inst);
	}
	return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
    ActiveObjectEngine active_objevt_engine;

    std::unique_ptr<ICommand> command1(new SleepDelayCommand( 1000, &active_objevt_engine, 'A' ) );
    std::unique_ptr<ICommand> command2(new SleepDelayCommand( 5000, &active_objevt_engine, 'B' ) );
    std::unique_ptr<ICommand> command3( new SleepDelayCommand( 500, &active_objevt_engine, 'C' ) );
    std::unique_ptr<ICommand> command4(new SleepDelayCommand( 10, &active_objevt_engine, 'E' ) );
    std::unique_ptr<ICommand> command5(new SleepDelayCommand( 4500, &active_objevt_engine, 'D' ) );

    active_objevt_engine.AddCommand( std::move( command1 ) );
    active_objevt_engine.AddCommand( std::move( command2 ) );
    active_objevt_engine.AddCommand( std::move( command3 ) );
    active_objevt_engine.AddCommand( std::move( command4 ) );
    active_objevt_engine.AddCommand( std::move( command5 ) );
	
    active_objevt_engine.Run();
    return 0;
}