成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

通過編寫互動游戲學習 Bash

系統 Linux
編程一個簡單的游戲是練習一門新語言并與其他你掌握的語言進行比較的好方法。

編程一個簡單的游戲是練習一門新語言并與其他你掌握的語言進行比較的好方法。

學習一門新的編程語言是很有趣的。每當我嘗試學習一門新的語言時,我都會專注于定義變量、編寫語句和評估表達式。一旦我對這些概念有了大致的了解,我通常可以自己弄清楚其余的概念。大多數編程語言都有一些相似之處,所以一旦你了解了一種編程語言,學習下一種編程語言就是要弄清楚其獨特的細節,認識到其中的差異。

為了幫助我練習一種新的編程語言,我喜歡寫一些測試程序。我經常寫的一個示例程序是一個簡單的“猜數字”程序,電腦在 1 到 100 之間選一個數字,讓我猜這個數字。程序會一直循環,直到我猜對為止。

“猜數字”程序鍛煉了編程語言中的幾個概念:如何給變量賦值,如何寫語句,如何進行條件判斷和循環。對于學習一門新的編程語言來說,這是一個很好的實踐實驗。

用 Bash 猜數字

Bash 是大多數 Linux 系統的標準 shell。除了提供豐富的命令行用戶界面外,Bash 還以腳本的形式支持完整的編程語言。

如果你對 Bash 不熟悉,我推薦你看這些介紹:

你可以通過編寫一個 Bash 版本的“猜數字”游戲來探索它。這是我的實現:

  1. #!/bin/bash
  2.  
  3. number=$(( $RANDOM % 100 + 1 ))
  4.  
  5. echo "Guess a number between 1 and 100"
  6.  
  7. guess=0
  8.  
  9. while [ "0$guess" -ne $number ] ; do
  10. read guess
  11. [ "0$guess" -lt $number ] && echo "Too low"
  12. [ "0$guess" -gt $number ] && echo "Too high"
  13. done
  14.  
  15. echo "That's right!"
  16. exit 0

拆解這個腳本

腳本中的第一行,#!/bin/bash 告訴 Linux 使用 Bash shell 來運行這個腳本。每個腳本都以 #! 字符對(LCTT 譯注:釋伴)開始,這表示它是一個 shell 腳本。緊跟在#! 后面的是要運行的 shell。在本例中,/bin/bash 是指 Bash shell。

要給一個變量賦值,在變量名后面列出 = 號。例如,語句 guess=0 給 guess 變量分配一個零值。

你也可以使用 read 語句提示用戶輸入一個值。如果你寫了 read guess 語句,Bash 會等待用戶輸入一些文本,然后把這個值存儲在 guess 變量中。

要引用一個變量的值,在變量名前使用 $。所以, 在 guess 變量中存儲了一個值后, 你可以使用 $guess 來檢索它。

你可以使用任何你喜歡的變量名稱,但是 Bash 為自己保留了一些特殊的變量名稱。一個特殊的變量是 RANDOM,每次引用它都會產生一個很大的隨機數。

如果你想在存儲一個值的同時執行一個操作,你需要用特殊的括號把語句括起來。這將告訴 Bash 先執行該語句,而 = 則將結果值存儲在變量中。要評估一個數學表達式,使用 $(()) 圍在你的語句上。雙括號表示一個算術表達式。在我的例子中,number=$(( $RANDOM % 100 + 1 )) 評估表達式 $RANDOM % 100 + 1,然后將值存儲在 number 變量中。

標準的算術運算符,如 +(加)、-(減)、*(乘)、/(除)和 %(模)都適用。

這意味著語句 number=$(( $RANDOM % 100 + 1 )) 產生一個 1 到 100 之間的隨機數。模數運算符(%)返回兩個數相除后的余數。在這種情況下,Bash 將一個隨機數除以 100,剩下的余數范圍是 0 到 99,通過在這個值上加 1,你可以得到一個介于 1 和 100 之間的隨機數。

Bash 支持像循環這樣的條件表達式流程控制。在“猜數字”的游戲中,只要 guess 中的值不等于 number,Bash 就會繼續循環。如果猜的數小于隨機數,Bash 就會打印“太低”,如果猜的數大于數字,Bash 就會打印“太高”。

它是如何工作的

現在你已經寫好了你的 Bash 腳本,你可以運行它來玩“猜數字”游戲。一直猜,直到你找到正確的數字:

  1. Guess a number between 1 and 100
  2. 50
  3. Too high
  4. 30
  5. Too high
  6. 20
  7. Too high
  8. 10
  9. Too low
  10. 15
  11. Too high
  12. 13
  13. Too low
  14. 14
  15. That's right!

每次運行這個腳本,Bash 都會隨機選擇一個不同的數字。

這個“猜數字”游戲是學習新的編程語言時的一個很好的入門程序,因為它以一種很直接的方式鍛煉了幾個常見的編程概念。通過在不同的編程語言中實現這個簡單的游戲,你可以展示一些核心概念,并比較每種語言的細節。

你有喜歡的編程語言嗎?你會如何用它來寫“猜數字”游戲呢?請關注本系列文章,看看你可能感興趣的其他編程語言的例子。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-10-08 15:27:18

掃雷BashLinux

2021-01-12 06:42:50

Lua腳本語言編程語言

2022-06-03 16:59:13

編程語言Awk

2023-01-13 18:55:09

游戲Ada編程語言

2021-01-14 08:55:20

C語言編程

2021-01-03 16:30:34

Rust編程語言

2023-02-23 14:30:27

游戲Tcl

2023-02-13 08:26:28

猜數字Basic

2021-01-19 09:35:36

Python視頻游戲編程語言

2021-10-04 18:49:46

Fortran 77語言猜數字

2018-03-29 08:30:48

Linux命令BASH

2019-10-12 10:12:13

Bash命令行Linux

2022-03-10 14:57:35

ArkUIets項目開發鴻蒙

2020-06-17 17:29:11

BashLinux

2013-12-12 15:53:00

移動廣告移動游戲互動游戲

2021-02-05 16:03:48

JavaScript游戲學習前端

2021-01-01 19:30:21

Python編程語言

2017-04-13 10:51:17

Bash建議

2018-01-22 09:12:18

Linuxbashssh

2022-10-29 19:58:09

Base64Bashshell
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久91精品国产 | 成人福利片 | 久草在线 | 久久久在线视频 | 最新黄色在线观看 | 欧美日韩一二三区 | 美女久久久久久久 | 国产精品日韩欧美一区二区三区 | 亚洲日韩中文字幕一区 | 丁香久久 | 亚洲国产自产 | 久久久久国产一区二区 | 欧美日韩不卡合集视频 | 国产在线视频三区 | 九九热免费观看 | 久久久久久久电影 | 亚洲一区二区三区四区五区午夜 | 国产亚洲精品精品国产亚洲综合 | 精品无码久久久久久国产 | 国内精品伊人久久久久网站 | 国产乱码精品一区二区三区中文 | 日韩国产欧美视频 | 日韩高清中文字幕 | 亚洲免费视频网址 | 一区二区三区免费 | 欧美日韩视频网站 | 久久曰视频| 日韩欧美一区二区在线播放 | 国产精品免费一区二区三区四区 | 欧美一区二区在线免费观看 | 午夜精品久久久久久久99黑人 | 一本色道精品久久一区二区三区 | 国产日韩一区二区三区 | 中文字幕蜜臀 | 亚洲成人免费视频在线观看 | 国产精品久久久久久久久久妇女 | 丁香久久 | 欧美九九九 | 日韩靠逼 | 国产欧美精品一区二区 | 99福利在线观看 |