找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 753|回复: 0

SHELL编程实现石头剪刀布脚本

[复制链接]

22

主题

21

回帖

164

积分

管理员

积分
164
发表于 2024-8-21 16:28:35 | 显示全部楼层 |阅读模式
剪刀石头布,一把剪刀,一块石头,变成小白兔。 一把剪刀,两把剪刀,亲亲小白兔。 一把剪刀,一块布,抓住小白兔 一块布,两块布,我是老鹰,不是兔。我们一起来写一个SHELL编程脚本,让我们hi起来。
  1. #!/bin/bash
  2. #by author www.jfedu.net 2024
  3. #######################
  4. #编写脚本,实现人机<石头,剪刀,布>游戏;
  5. #通过随机数获取计算机的出拳;
  6. #出拳的可能性保存在数组中,GAME[0],GAME[1],GAME[2]分别是3种不同的可能;
  7. #RANDOM%3表示随机产生0 1 2三个数;
  8. GAME=(石头 剪刀 布)
  9. NUM=$(echo $RANDOM%3|bc)
  10. COMPUTER=${GAME[$NUM]}
  11. echo "请根据下列提示,选择您的出拳手势: "
  12. echo "1.石头"
  13. echo "2.剪刀"
  14. echo "3.布"

  15. function jfcmd1(){
  16. echo ""
  17. if [ $NUM -eq 0 ]
  18.   then
  19.     echo "计算机出石头"
  20.     echo "---------------"
  21.     echo -e "\033[31m平局,你们不分秋色\033[0m"
  22.     elif [ $NUM -eq 1 ]
  23.     then
  24.       echo "计算机出剪刀"
  25.       echo "---------------"
  26.       echo -e "\033[31m恭喜,你赢了\033[0m"
  27.   else
  28.     echo "计算机出布"
  29.     echo "---------------"
  30.     echo -e "\033[31m不好意思,计算机赢了\033[0m"
  31.   fi
  32. }

  33. function jfcmd2(){
  34. if [ $NUM -eq 0 ]
  35.   then
  36.     echo "计算机出剪刀"
  37.     echo "---------------"
  38.     echo -e "\033[31m平局,你们不分秋色\033[0m"
  39.     elif [ $NUM -eq 1 ]
  40.     then
  41.       echo "计算机出布"
  42.       echo "---------------"
  43.       echo -e "\033[31m恭喜,你赢了\033[0m"
  44.   else
  45.     echo "计算机出石头"
  46.     echo "---------------"
  47.     echo -e "\033[31m不好意思,计算机赢了\033[0m"
  48.   fi
  49. }

  50. function jfcmd3(){
  51. if [ $NUM -eq 0 ]
  52.   then
  53.     echo "计算机出布"
  54.     echo "---------------"
  55.     echo -e "\033[31m平局,你们不分秋色\033[0m"
  56.     elif [ $NUM -eq 1 ]
  57.     then
  58.       echo "计算机出石头"
  59.       echo "---------------"
  60.       echo -e "\033[31m恭喜,你赢了\033[0m"
  61.   else
  62.     echo "计算机出剪刀"
  63.     echo "---------------"
  64.     echo -e "\033[31m不好意思,计算机赢了\033[0m"
  65.   fi
  66. }

  67. read -p "请选择 1‐3:" person
  68. case  $person  in
  69.         1)
  70.         echo "你出石头"
  71.         jfcmd1
  72.         ;;
  73.         2)
  74.         echo "你出剪刀"
  75.         jfcmd2
  76.         ;;
  77.         3)
  78.         echo "你出布"
  79.         jfcmd3
  80.         ;;
  81.         *)
  82.           echo "必须输入 1‐3 的数字"
  83. esac
复制代码


懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表