Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 517956

Перевод с++ на с# - C# для начинающих

$
0
0
Имеется кусок кода:

:

#define PULSE_PER_SECOND            4

void game_loop_unix( int control )
{
    static struct timeval null_time;
    struct timeval last_time;

    gettimeofday( &last_time, NULL );
    current_time = ( time_t) last_time.tv_sec;

    /* Main loop */
    while ( true )
    {
        /*
        * Synchronize to a clock.
        * Sleep( last_time + 1/PULSE_PER_SECOND - now ).
        * Careful here of signed versus unsigned arithmetic.
        */
        {
            struct timeval now_time;
            long secDelta;
            long usecDelta;

            gettimeofday( &now_time, NULL );
            usecDelta  = ( (int) last_time.tv_usec) - ( (int) now_time.tv_usec) + 1000000 / PULSE_PER_SECOND;
            secDelta    = ( (int) last_time.tv_sec ) - ( (int) now_time.tv_sec );
            while ( usecDelta < 0 )
            {
                usecDelta += 1000000;
                secDelta  -= 1;
            }

            while ( usecDelta >= 1000000 )
            {
                usecDelta -= 1000000;
                secDelta  += 1;
            }

            if ( secDelta > 0 || ( secDelta == 0 && usecDelta > 0 ) )
            {
                struct timeval stall_time;

                stall_time.tv_usec = usecDelta;
                stall_time.tv_sec  = secDelta;
                if ( select( 0, NULL, NULL, NULL, &stall_time ) < 0 )
                {
                    perror( "Game_loop: select: stall" );
                    exit( 1 );
                }
            }
        }

        gettimeofday( &last_time, NULL );
        current_time = ( time_t) last_time.tv_sec;
    }

    return;
}

Не объясните что здесь происходит и как его переписать на с#?

Viewing all articles
Browse latest Browse all 517956

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>