自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

通過編寫互動(dòng)游戲?qū)W習(xí) Bash

系統(tǒng) Linux
編程一個(gè)簡(jiǎn)單的游戲是練習(xí)一門新語言并與其他你掌握的語言進(jìn)行比較的好方法。

編程一個(gè)簡(jiǎn)單的游戲是練習(xí)一門新語言并與其他你掌握的語言進(jìn)行比較的好方法。

學(xué)習(xí)一門新的編程語言是很有趣的。每當(dāng)我嘗試學(xué)習(xí)一門新的語言時(shí),我都會(huì)專注于定義變量、編寫語句和評(píng)估表達(dá)式。一旦我對(duì)這些概念有了大致的了解,我通??梢宰约号宄溆嗟母拍?。大多數(shù)編程語言都有一些相似之處,所以一旦你了解了一種編程語言,學(xué)習(xí)下一種編程語言就是要弄清楚其獨(dú)特的細(xì)節(jié),認(rèn)識(shí)到其中的差異。

為了幫助我練習(xí)一種新的編程語言,我喜歡寫一些測(cè)試程序。我經(jīng)常寫的一個(gè)示例程序是一個(gè)簡(jiǎn)單的“猜數(shù)字”程序,電腦在 1 到 100 之間選一個(gè)數(shù)字,讓我猜這個(gè)數(shù)字。程序會(huì)一直循環(huán),直到我猜對(duì)為止。

“猜數(shù)字”程序鍛煉了編程語言中的幾個(gè)概念:如何給變量賦值,如何寫語句,如何進(jìn)行條件判斷和循環(huán)。對(duì)于學(xué)習(xí)一門新的編程語言來說,這是一個(gè)很好的實(shí)踐實(shí)驗(yàn)。

用 Bash 猜數(shù)字

Bash 是大多數(shù) Linux 系統(tǒng)的標(biāo)準(zhǔn) shell。除了提供豐富的命令行用戶界面外,Bash 還以腳本的形式支持完整的編程語言。

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

你可以通過編寫一個(gè) Bash 版本的“猜數(shù)字”游戲來探索它。這是我的實(shí)現(xiàn):

  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

拆解這個(gè)腳本

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

要給一個(gè)變量賦值,在變量名后面列出 = 號(hào)。例如,語句 guess=0 給 guess 變量分配一個(gè)零值。

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

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

你可以使用任何你喜歡的變量名稱,但是 Bash 為自己保留了一些特殊的變量名稱。一個(gè)特殊的變量是 RANDOM,每次引用它都會(huì)產(chǎn)生一個(gè)很大的隨機(jī)數(shù)。

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

標(biāo)準(zhǔn)的算術(shù)運(yùn)算符,如 +(加)、-(減)、*(乘)、/(除)和 %(模)都適用。

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

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

它是如何工作的

現(xiàn)在你已經(jīng)寫好了你的 Bash 腳本,你可以運(yùn)行它來玩“猜數(shù)字”游戲。一直猜,直到你找到正確的數(shù)字:

  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!

每次運(yùn)行這個(gè)腳本,Bash 都會(huì)隨機(jī)選擇一個(gè)不同的數(shù)字。

這個(gè)“猜數(shù)字”游戲是學(xué)習(xí)新的編程語言時(shí)的一個(gè)很好的入門程序,因?yàn)樗砸环N很直接的方式鍛煉了幾個(gè)常見的編程概念。通過在不同的編程語言中實(shí)現(xiàn)這個(gè)簡(jiǎn)單的游戲,你可以展示一些核心概念,并比較每種語言的細(xì)節(jié)。

你有喜歡的編程語言嗎?你會(huì)如何用它來寫“猜數(shù)字”游戲呢?請(qǐng)關(guān)注本系列文章,看看你可能感興趣的其他編程語言的例子。 

責(zé)任編輯:龐桂玉 來源: Linux中國(guó)
相關(guān)推薦

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-03 16:30:34

Rust編程語言

2021-01-14 08:55:20

C語言編程

2023-02-23 14:30:27

游戲Tcl

2023-02-13 08:26:28

猜數(shù)字Basic

2018-03-29 08:30:48

Linux命令BASH

2021-01-19 09:35:36

Python視頻游戲編程語言

2021-10-04 18:49:46

Fortran 77語言猜數(shù)字

2022-03-10 14:57:35

ArkUIets項(xiàng)目開發(fā)鴻蒙

2020-06-17 17:29:11

BashLinux

2019-10-12 10:12:13

Bash命令行Linux

2017-04-13 10:51:17

Bash建議

2021-02-05 16:03:48

JavaScript游戲?qū)W習(xí)前端

2021-01-01 19:30:21

Python編程語言

2013-12-12 15:53:00

移動(dòng)廣告移動(dòng)游戲互動(dòng)游戲

2022-10-29 19:58:09

Base64Bashshell

2018-01-22 09:12:18

Linuxbashssh
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)