discordで音楽botを作成する際に今流している曲がどこまで再生されているかを出したかったので作りました。
いろいろな場所に応用が効くと思います。
/*
nowposition: 現在の進捗
all: 全てのタスクの量
length: プログレスバーの長さ
nowblock: 現在の進捗の位置を表す記号
block1: すでに作業が終了した場所に出すブロック
block2: まだ作業が終わってない場所に出すブロック
*/
function getprogress(nowposition,all,length,nowblock,block1,block2){
var oneblockamount = all / length;
var nowblock = Math.floor(nowposition / oneblockamount);
var progresstext = "[" + block1.repeat(((nowblock - 1) < 0) ? "0" : nowblock - 1) + "☆" + block2.repeat(length - nowblock) + "]";
return progresstext;
}
var progress = getprogress(10, 20, 11, "⭐︎", "■", "□");
console.log(progress); // [■■■■■⭐︎□□□□□]
コメント
@hn9024
0
進捗が0の時にバー自体の長さが変わってしまってますね。
あと、もう少し計算も簡略化できるかと思います。