91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Lua編寫猜數字游戲

發布時間:2021-10-20 14:36:54 來源:億速云 閱讀:193 作者:iii 欄目:編程語言

本篇內容主要講解“怎么用Lua編寫猜數字游戲 ”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用Lua編寫猜數字游戲 ”吧!

Lua 代碼

首先,你必須設置一個偽隨機數生成器,這樣你的玩家就有一些不可預知的東西來嘗試猜測。這是一個兩個步驟的過程:首先,你根據當前的時間生成一個隨機種子,然后在 1 到 100 的范圍內選擇一個數字:

math.randomseed(os.time())number = math.random(1,100)

接下來,創建一個 Lua 所謂的table來表示你的玩家。表就像一個 Bash 中的數組或 Java 中的 ArrayList。你可以創建一個表,然后分配與該表相關的子變量。在這段代碼中,player 是表,而 player.guess 是表中的一個條目:

player = {}player.guess = 0

處于調試的需求,可以輸出這個秘密數字。這對游戲并不合適,但對測試很有幫助。Lua 中的注釋是在前面放雙破折號:

print(number) --debug

接下來,設置一個 while 循環,當分配給 player.guess 的值不等于代碼開始時建立的隨機的 number 時,循環將永遠運行。目前,player.guess 被設置為 0,所以它不等于 number。Lua 的不等式數學運算符是 ~=,誠然這很獨特,但過一段時間你就會習慣。

在這個無限循環的過程中,首先游戲會打印一個提示,讓玩家明白游戲的內容。

接下來,Lua 會暫停,等待玩家輸入猜測的數。Lua 使用 io.read 函數從文件和標準輸入 (stdin) 中讀取數據。你可以將 io.read 的結果分配到一個變量中,這個變量是在 player 表中動態創建的。處理玩家輸入的問題是,即使它是一個數字,它也是作為一個字符串讀取的。你可以使用 tonumber() 函數將這個輸入轉換為整數類型,將結果賦值回初始為 0 的 player.guess 變量:

while ( player.guess ~= number ) do  print("Guess a number between 1 and 100")  player.answer = io.read()  player.guess = tonumber(player.answer)

現在 player.guess 包含了一個新的值,它將與 if 語句中的隨機數進行比較。Lua 使用關鍵字 ifelseif 和 else,并用關鍵字 end 來結束該語句:

  if ( player.guess > number ) then    print("Too high")  elseif ( player.guess < number) then    print("Too low")  else    print("That's right!")    os.exit()  endend

最后,函數 os.exit() 在成功后關閉應用,關鍵字 end 使用了兩次:一次是結束 if 語句,另一次是結束 while 循環。

運行應用

在終端上運行游戲:

$ lua ./guess.lua96Guess a number between 1 and 1001Too lowGuess a number between 1 and 10099Too highGuess a number between 1 and 10096That's right!

就是這樣!

直觀且一致

從這段代碼中可以看出,Lua 是非常一致且相當直觀的。它的表機制是一種令人耳目一新的數據關聯方式,它的語法也是簡約而高效的。Lua  代碼中幾乎沒有浪費的行,事實上,這個例子中至少有兩行可以進一步優化,但我想把數據轉換作為它的步驟來演示(也許你可以找到我所指的兩行,并對它們進行重構)。

Lua 非常易于使用,它的文檔閱讀起來很愉快,主要是因為它的內容實在是不多。你會在短時間內學會核心語言,然后你就可以自由地探索 LuaRocks,發現別人貢獻的各種很棒的庫。

到此,相信大家對“怎么用Lua編寫猜數字游戲 ”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

lua
AI

临武县| 南投市| 师宗县| 连江县| 庆云县| 湟源县| 榆中县| 榕江县| 莆田市| 鞍山市| 西乡县| 瑞安市| 上林县| 尉犁县| 龙游县| 云浮市| 定州市| 敦化市| 福海县| 沧州市| 望奎县| 巴林左旗| 万年县| 桃源县| 咸宁市| 绥阳县| 茶陵县| 驻马店市| 黔西县| 保靖县| 敦化市| 瓦房店市| 沿河| 宁明县| 灌南县| 泸西县| 涡阳县| 乌什县| 宁陵县| 博湖县| 容城县|