|
剪刀石头布,一把剪刀,一块石头,变成小白兔。 一把剪刀,两把剪刀,亲亲小白兔。 一把剪刀,一块布,抓住小白兔。 一块布,两块布,我是老鹰,不是兔。我们一起来写一个SHELL编程脚本,让我们hi起来。
- #!/bin/bash
- #by author www.jfedu.net 2024
- #######################
- #编写脚本,实现人机<石头,剪刀,布>游戏;
- #通过随机数获取计算机的出拳;
- #出拳的可能性保存在数组中,GAME[0],GAME[1],GAME[2]分别是3种不同的可能;
- #RANDOM%3表示随机产生0 1 2三个数;
- GAME=(石头 剪刀 布)
- NUM=$(echo $RANDOM%3|bc)
- COMPUTER=${GAME[$NUM]}
- echo "请根据下列提示,选择您的出拳手势: "
- echo "1.石头"
- echo "2.剪刀"
- echo "3.布"
- function jfcmd1(){
- echo ""
- if [ $NUM -eq 0 ]
- then
- echo "计算机出石头"
- echo "---------------"
- echo -e "\033[31m平局,你们不分秋色\033[0m"
- elif [ $NUM -eq 1 ]
- then
- echo "计算机出剪刀"
- echo "---------------"
- echo -e "\033[31m恭喜,你赢了\033[0m"
- else
- echo "计算机出布"
- echo "---------------"
- echo -e "\033[31m不好意思,计算机赢了\033[0m"
- fi
- }
- function jfcmd2(){
- if [ $NUM -eq 0 ]
- then
- echo "计算机出剪刀"
- echo "---------------"
- echo -e "\033[31m平局,你们不分秋色\033[0m"
- elif [ $NUM -eq 1 ]
- then
- echo "计算机出布"
- echo "---------------"
- echo -e "\033[31m恭喜,你赢了\033[0m"
- else
- echo "计算机出石头"
- echo "---------------"
- echo -e "\033[31m不好意思,计算机赢了\033[0m"
- fi
- }
- function jfcmd3(){
- if [ $NUM -eq 0 ]
- then
- echo "计算机出布"
- echo "---------------"
- echo -e "\033[31m平局,你们不分秋色\033[0m"
- elif [ $NUM -eq 1 ]
- then
- echo "计算机出石头"
- echo "---------------"
- echo -e "\033[31m恭喜,你赢了\033[0m"
- else
- echo "计算机出剪刀"
- echo "---------------"
- echo -e "\033[31m不好意思,计算机赢了\033[0m"
- fi
- }
- read -p "请选择 1‐3:" person
- case $person in
- 1)
- echo "你出石头"
- jfcmd1
- ;;
- 2)
- echo "你出剪刀"
- jfcmd2
- ;;
- 3)
- echo "你出布"
- jfcmd3
- ;;
- *)
- echo "必须输入 1‐3 的数字"
- esac
复制代码
|
|