Section Next | Prev


002 dice - サイコロ

概要
組み込み変数の乱数を元に、サイコロのシミュレータ(1〜6の乱数を発生)を作成。 引数に数値を指定すると、サイコロをN個なげたように振舞う。

スクリプトと解説 - [text]
#スクリプト 解説
1#! /bin/bash 起動シェルの指定
2# サイコロシミュレータ #
3# #
4ans=0 変数 ans を初期設定
5if [ $# -ne 1 ]; then 引数がない場合(引数の数が1でない場合)
6        echo "usage: die NUMBER_OF_DIES" >&2 使い方を診断出力へ出力
7        exit 1 戻り値1で終了
8else #
9        num=$1 引数の値を num として定義
10fi #
11while (($num>0)) num が0より多い間、16までを繰り返し
12do #
13        let rand=${RANDOM}%6+1 組込み乱数変数$RANDOM(0〜32767)の6の除余に
1を加算することで、1〜6の乱数を得る
14        let ans=$ans+$rand 13で得た乱数を ans に加算(サイコロ複数に対応するため)
15        let num=num-1 引数を減産。サイコロの個数繰り返すため
16done #
17echo $ans 結果を表示

実行例
$ dice 1; dice 1; dice 1
3
5
5
$ dice 2; dice 2; dice 2
8
7
4

Section Next | Prev