| Category: | Fun Stuff |
| Author/Contact Info | Sean Cross (symuc@familycross.com) |
| Description: | Reminiscent of the status bar that showed the progress of the startup of the classic game "Doom", this code will print a status bar of variable width with an optional header and/or footer. |
####################################
## FUNCTION: StatusBar ###############
##################################################
## ##
## Generates a statusbar that is of variable ##
## width, and is very adaptable, optionally ##
## displaying the percentage as well. ##
## ##
## ARGS: ##
## 0) The text preceeding the bar ##
## 1) The current value ##
## 2) The maximum value ##
## 3) The size of the bar (in characters) ##
## 4) Display the percentage? ##
## 5) The text following the bar ##
## Returns: ##
## NULL ##
## ##
##################################################
sub StatusBar {
my $level;
my $numdots;
my $numblanks;
my $pre=$_[0];
my $cur=int($_[1]);
my $max=int($_[2]);
my $size=int($_[3]);
my $disp=$_[4];
my $i;
my $post=$_[5];
$level = $cur/$max;
$numdots = int($level * $size);
$numblanks = $size - $numdots;
print $pre . "\t";
print " [";
for($i = 0; $i < $numdots; $i++) {
print ".";
}
for($i = 0; $i < $numblanks; $i++) {
print " ";
}
print "]";
if($disp ne "") {
printf(" ($cur/$max, %3.2f%%)", (int($level*10000)/100));
}
print " $post\r";
}
Edited 2002-01-16 to fix html entities dvergin |
|
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Doom-Style Status Bar
by particle (Vicar) on Jan 17, 2002 at 05:15 UTC | |
|
Re: Doom-Style Status Bar
by simon.proctor (Vicar) on Jan 17, 2002 at 03:32 UTC |