All pastes #99977 Raw Edit

Miscellany

public text v1 · immutable
#99977 ·published 2006-07-25 20:03 UTC
rendered paste body
private static void DrawPercent( int percent )
        {
            int oldX = Console.CursorLeft;
            int oldY = Console.CursorTop;
            int totalblocks = 20;
            int blocks = percent / 5;
            int remainingblocks = totalblocks - blocks;

            Console.SetCursorPosition( 0, oldY + 1 );

            Console.Write( "[" );

            for( int i = 0; i < blocks; i++ )
                DrawBlock( percent );

            for( int i = 0; i < remainingblocks; i++ )
                Console.Write( "=" );

            Console.Write( "]{0}%", percent );
            Console.SetCursorPosition( oldX, oldY );
        }

        private static void DrawBlock( int percent )
        {
            ConsoleColor oldColor = Console.BackgroundColor;
            Console.BackgroundColor = GetColor( percent );
            Console.Write( " " );
            Console.BackgroundColor = oldColor;
        }

        private static ConsoleColor GetColor( int percent )
        {
            if( percent < 20 )
                return ConsoleColor.DarkRed;
            else if( percent < 40 )
                return ConsoleColor.Red;
            else if( percent < 60 )
                return ConsoleColor.Yellow;
            else if( percent < 80 )
                return ConsoleColor.Green;
            else
                return ConsoleColor.Blue;
        }