Created by
sironekotoro
last modified
| #!/usr/bin env perl
use strict;
use warnings;
use Math::Trig 'deg2rad'; # 角度をラジアンにする
use Time::HiRes qw(sleep); # 高精度sleep関数
$| = 1; # 出力を溜め込まず、print 文の実行の都度出力する
my $deg = 0; # 角度の初期値
for ( 1 .. 1000 ) {
sleep(0.5); # この行で0.5秒待つ
# 角度をラジアンに変換
my $rad = deg2rad($deg);
# ラジアンからサインに変換
my $sin = sin($rad);
# sin + 1 を加えた正の値を
# グラフを構成する * の数とする
my $star = $sin + 1;
# 最大値2,最小値0ではグラフに華がないので、
# 10倍の値にする
$star *= 10;
# 小数点は邪魔なので、int関数で小数点を切り捨てた
# 値に丸める
$star = int($star);
# * を $star の数だけ表示する
print '*' x $star . "\n";
# $degに30度加える
$deg = $deg + 30;
}
|