labunix's blog

labunixのラボUnix

進化しないライフゲーム

■進化しないライフゲーム

 参考:ライフゲーム
 http://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B2%E3%83%BC%E3%83%A0

■ハイフンが左から右に進むだけ。
 スペースが増加するととらえる。

※基本停止は[Ctrl]+[C]です。

$ cat lr.sh
#!/bin/bash
lr=""
while true ;do
  clear
  echo -n "$lr-"
  lr="$lr "
  sleep 0.1
done

■振動子が4のblinker。
 いわゆる読み込み中。
 「バックスラッシュ」を「エン」と解釈してしまうとつまらないかも。。。
 そんな時は全角で。。。

$ cat blink.sh
#!/bin/bash
ELEMENT=('|' '/' '-' '\')
cnt=0
while true ;do
  clear
  echo "${ELEMENT[$cnt]}"
  let cnt=(${cnt}+1)%4
  sleep 0.5;
done

■実行途中の画面リサイズには対応してませんが。。。
 上の2つの組み合わせ。

$ cat round.sh
#!/bin/bash
WIDTH=${COLUMNS}
if [ "$WIDTH" == "" ];then
  WIDTH=80
fi
ELEMENT=('|' '/' '-' '\')
cnt=0
lr=""
while true ;do
  clear
  echo -n "${lr}${ELEMENT[$cnt]}"
  let cnt=(${cnt}+1)%4
  lr="$lr "
  sleep 0.2;
done

■キータイプ効果。
 ライフゲームと関係ないけど。。。

$ cat yokoku.sh
#!/bin/bash
if [ $# -eq 0 ];then
  echo "Useage: $0 word"
  exit 1
fi
MSG=$(echo "$@" | sed s/"."/"& "/g)

for list in $MSG;do
  echo -ne "$list"
  sleep 0.5
done
echo ""
unset list
exit 0

話がそれたところで、今回はここまで。