コード例 #1
0
ファイル: replay.c プロジェクト: bowkenken/lnl
long	get_replay_key( void )
{
	replay_t	**pp;
	long	*idx;

	if( !g_flg_play_replay )
		return '\0';

	if( g_play_replay_char != '\0' ){
		long	c;

		c = g_play_replay_char;
		g_play_replay_char = '\0';

		return c;
	}

	pp = &(g_replay_cur[REPLAY_SLOT_PLAY]);
	idx = &g_play_replay_idx;

	if( g_play_replay_turn == get_turn() )
		return get_replay_next_key( pp, idx );
	else
		g_play_replay_turn = -1;

	if( g_play_replay_count > 0 ){
		g_play_replay_count--;
		return get_replay_next_key( pp, idx );
	}

	return '\0';
}
コード例 #2
0
ファイル: replay.c プロジェクト: bowkenken/lnl
void	chk_replay_key( long c )
{
	if( !g_flg_play_replay )
		return;

	g_play_replay_char = '\0';

	switch( c ){
	case CASE_EXEC:
		g_play_replay_turn = get_turn();
		break;
	case CASE_ENTER:
	default:
		g_play_replay_count = 1;
		break;
	case ' ':
		g_play_replay_count = 10;
		break;
	case '\0':
	case CMD_KEY_IDLE:
		g_play_replay_char = CMD_KEY_IDLE;
		break;
	case CMD_KEY_CONT_EXEC:
		toggle_continue_exec_mode();
		g_play_replay_char = CMD_KEY_IDLE;
		break;
	case CASE_CANCEL:
	case CASE_EXIT:
	case CASE_SQUARE:
		set_flg_play_replay( FALSE );
		break;
	}
}
コード例 #3
0
ファイル: auto.c プロジェクト: jmwiseman/lst_titus
void turn_ticks(int ticks)// positive speed means clockwise
{
	int speed = AUTO_SPEED;// * abs(ticks)/ticks;
	reset_op();
	int start_ticks = 0;
	titus_controldrive(speed, 0, 0);
	while (get_turn() - start_ticks < ticks)
	{
		delay(20);
	}
	titus_controldrive(0, 0, 0);
}
コード例 #4
0
int calendar::diurnal_time_before( int turn ) const
{
    const int remainder = turn - get_turn() % DAYS( 1 );
    return ( remainder >= 0 ) ? remainder : DAYS( 1 ) + remainder;
}