Linux中國

通過「猜數字」遊戲學習 Basic

本教程讓你通過編寫一個 「猜數字」 遊戲來探索 Basic。

用多種語言編寫同一個應用是學習新的編程語言的好方法。大多數編程語言都有某些共同點,如:

  • 變數
  • 表達式
  • 語句

這些概念是大多數編程語言的基礎。當你理解了它們,你就可以開始研究其他的東西了。

編程語言通常有一些相似之處。當你了解了一種編程語言,你就可以通過認識其差異來學習另一種語言的基礎知識。

用標準程序進行練習是學習新語言的一個好方法。它使你能夠專註於語言,而不是程序的邏輯。在這個系列文章中,我使用了一個「猜數字」的程序,在這個程序中,計算機在 1 到 100 之間挑選一個數字,並要求你猜出來。程序循環進行,直到你猜對數字為止。

這個程序鍛煉了編程語言中的幾個概念:

  • 變數
  • 輸入
  • 輸出
  • 條件判斷
  • 循環

這是學習一種新的編程語言的很好的實踐。本文主要介紹 Basic。

在(Bywater)Basic 中猜數字

對於 Basic 編程語言,沒有真正的標準。維基百科說:「BASIC 初學者通用符號指令代碼 Beginners' All-purpose Symbolic Instruction Code )是一個通用的高級編程語言系列,旨在方便使用」。BWBasic 的實現是在 GPL 下提供的。

你可以通過編寫一個「猜數字」遊戲來探索 Basic。

在 Linux 上安裝 Basic

在 Debian 或 Ubuntu 中,你可以用以下方法安裝 Basic:

$ apt install -y bwbasic

下載 Fedora、CentOS、Mageia 和其他任何 Linux 發行版的最新版本 tarball。解壓並設置可執行,然後從終端運行它:

$ tar --extract --file bwbasic*z

$ chmod +x bywater

$ ./bywater

在 Windows 上,下載 .exe 版本

Basic 代碼

下面是我的實現:

10 value$ = cint(rnd * 100) + 1
20 input "enter guess"; guess$
30 guess$ = val(guess$)
40 if guess$ < value$ then print "Too low"
50 if guess$ > value$ then print "Too high"
60 if guess$ = value$ then 80
70 goto 20
80 print "That&apos;s right"

Basic 程序可以是編號的,也可以是不編號的。通常情況下,寫程序時最好不編號,但用編號的行來寫,可以更容易地引用各個行。

按照慣例,編碼者將行寫成 10 的倍數。這種方法允許在現有的行之間插入新的行,以便進行調試。下面是我對上述方法的解釋:

  • 10 行:使用內置的 rnd 函數計算一個 1 到 100 之間的隨機值,該函數生成一個 0 到 1 之間的數字,不包括 1。
  • 20 行:詢問一個猜測,並將該值放入 guess$ 標量變數。30 行將該值轉換為一個數字。
  • 40 行和 50 行:根據比較結果,給猜測者以反饋。
  • 70 行:回到循環的起點。
  • 60 行:通過將控制權轉移到 80 行來打破循環。80 行是最後一行,所以程序在這之後退出。

輸出示例

下面是將該程序放入 program.bas 後的一個例子:

$ bwbasic program.bas
Bywater BASIC Interpreter/Shell, version 2.20 patch level 2
Copyright (c) 1993, Ted A. Campbell
Copyright (c) 1995-1997, Jon B. Volkoff

enter guess? 50
Too low
enter guess? 75
Too low
enter guess? 88
Too high
enter guess? 80
Too low
enter guess? 84
Too low
enter guess? 86
Too high
enter guess? 85
That&apos;s right

開始學習

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

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

via: https://opensource.com/article/23/2/learn-basic-coding-game

作者:Moshe Zadka 選題:lkxed 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    捐贈 Let&apos;s Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...