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

詳解LUA 5.1編譯及實例操作

移動開發 iOS
因為在vs2005中lua是外來的,所以要讓vs2005能找到lua的頭文件和庫文件(lua5.1中只有一個lua51.lib),具體內容來考哪本文詳解。

LUA 5.1編譯及實例操作是本文要介紹的內容,以前沒接觸過,并且能找的資料也少之又少, 花了兩天的時間才搞定..一般的都是在vs2005中開發(我的就是),以下是關于vs2005中使用lua。

以下是我在vs2005編譯方法:

1、打開vs命令行工具、   工具->visual studio 2005 command prompt

2、到lua-5.1的目錄也就是etc的上一級目錄    :cd/d d:\lua-5.1

3、執行:etc\luavs.bat(注意:這里是\,不是/)

4、然后lua51.dll ,lua51.lib,lua.exe就生成在src路徑下了~(注意因為是lua5.1的所以沒有luac.exe,以前的版本有)

因為在vs2005中lua是外來的,所以要讓vs2005能找到lua的頭文件和庫文件(lua5.1中只有一個lua51.lib),在vs中包含,于是:工具->選項->項目和解決方案->vc++ 目錄  右邊選擇包含文件把src的路徑包含進來(關于頭文件的)。

還有庫文件同意的操作,不過這里就是后來一直出錯的點,這里這種方式包含的庫文件是包含不進來的,后面講到的一種方法可正確包含

頭文件和庫文件都包含進來后就可以在c++中使用lua了

看一個實例如下:

  1. #include <stdio.h> 
  2. #include <iostream> 
  3. extern "C"  
  4. {  
  5.    #include "lua.h"  
  6.    #include "lualib.h"  
  7.    #include "lauxlib.h"  
  8. }//在工具中包含文件的那個~~  
  9. /* Lua解釋器指針 */  
  10. lua_State * L;  
  11. #pragma comment(lib,"lua51.lib")//包含庫文件~~在工具里包含不進來,上面的包含不進來的處理辦法是:  
  12. //把lua51.dll 拷到項目的dubug目錄下,把lua51.lib拷到項目目錄的項目名的文件夾下  
  13. int main ()  
  14. {  
  15.  /* 初始化Lua */  
  16.  L = lua_open();  
  17.  /* 載入Lua基本庫 */  
  18.  luaL_openlibs(L);  
  19.  /* 運行腳本 ,注意路徑*/  
  20.  luaL_dofile(L, "d:\\test.lua");  
  21.  /* 清除Lua */  
  22.  lua_close(L);  
  23.  //printf( "Press enter to exit…" );  
  24.  //getchar();  
  25.  return 0;  

上面是c++的一個空工程

下面是test.lua的代碼:是一個石頭剪子布的小的游戲實例

代碼如下:

  1. ---[[  
  2. math.randomseed(os.time()) --[[為隨機數產生器生成一個種子--]]  
  3. user_score = 0 
  4. comp_score = 0  -- 全局變量存分數  
  5. lookup = {};     --輸贏對照表  
  6. lookup["rock"]={rock = "draw",paper = "lose",scissors ="win"}  
  7. lookup["paper"]={rock = "win",paper = "draw",scissors = "lose"}  
  8. lookup["scissors"]={rock = "lose",paper = "win",scissors = "draw"}  
  9. function GetAiMove()  --Ai的函數  
  10.   local int_to_string = {"rock","paper","scissors"}  --局部一個table,對照用  
  11.   return int_to_string[math.random(3)]  
  12. end  
  13. function EvaluateTheGuess(user_guess,comp_guess)   -- 計算結果的函數  
  14.   if(lookup[user_guess][comp_guess]=="win") then  
  15.      print ("user win the game")  
  16.      --print()  
  17.      user_scoreuser_score=user_score+1         --小錯誤 ~已改  
  18.   elseif (lookup[user_guess][comp_guess]=="lose") then  
  19.      print ("user lose the game")  
  20.      --print()  
  21.      comp_scorecomp_score=comp_score+1  
  22.   else  
  23.       print ("draw!")  
  24.       --print()  
  25.   end  
  26. end 

下面開始

  1. print ("game begin:enter q to guit game")  
  2. --print() --換行?  
  3. loop = true 
  4. while loop==true do  
  5.   --print()  
  6.   print("user: "..user_score.." comp: "..comp_score)  
  7.   print()  
  8.   print("p--布  r--拳頭  s--減")  
  9.   print("請輸入:")  
  10.   --io.open()  
  11.   user_guess =io.stdin:read '*l'    --出錯的地方,這里是l不是1  
  12.   --user_guess = "r" 
  13.   print()  
  14.   local letter_to_string = {r="rock",s="scissors",p="paper"}    --亦是局部的一個table 對照用的  
  15.   if(user_guess == "q") then  
  16.      loop = false 
  17.   elseif(user_guess == "r") or (user_guess == "s") or(user_guess =="p")  then  
  18.      comp_guess=GetAiMove()  
  19.      EvaluateTheGuess(letter_to_string[user_guess],comp_guess)  
  20.   else  
  21.      print ("invalid input,try again")  
  22.   end  
  23. end  
  24. --]] 

小結:關于詳解LUA 5.1編譯及實例操作的內容介紹完了,希望通過本文的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-25 15:21:02

Lua字符串

2009-08-20 11:01:51

C#操作內存

2011-08-24 15:28:02

Lua編譯器解釋器

2009-09-07 05:50:59

C# Timer用法

2012-05-08 11:01:45

linux守護進程

2013-01-15 15:18:46

Linux守護進程

2009-08-18 17:05:08

C#操作xml文件

2011-06-29 11:06:12

Qt Qvfb

2011-07-05 14:29:44

Ubuntu QT Mysql

2011-08-23 17:06:03

2011-07-04 15:13:31

QT MPlayer 移植

2011-07-06 16:25:10

iPhone 程序 調用

2011-07-19 13:20:22

Xcode

2009-12-24 09:16:11

C#泛型

2011-08-23 16:48:41

Lua 5.1API 函數

2011-07-26 18:11:56

iPhone Sqlite 數據庫

2019-09-12 08:32:40

Linuxsed命令語法

2009-08-26 14:03:26

C#打印原理

2010-01-13 10:14:45

2017-06-14 22:11:57

數據庫MySQL死鎖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜天堂精品久久久久 | 在线看91| 国产91在线观看 | 久久大陆| 日韩中文字幕视频在线观看 | 在线观看特色大片免费网站 | 国产一区二区三区四区 | 国产精品99久久久久久久vr | 日韩av大片免费看 | 国产一二区视频 | 国产 欧美 日韩 一区 | 伊人网影院 | 嫩草网| 成人福利视频 | 91精品国产综合久久婷婷香蕉 | 日韩在线国产 | 羞羞涩涩在线观看 | 97人人草 | 精品96久久久久久中文字幕无 | 亚洲国产福利视频 | 亚洲精品一二三 | 国产精品1 | 性色在线| 日韩欧美一区二区三区免费观看 | 国产精品视频一区二区三区四区国 | 国产一区二 | 狠狠干网站 | 久久国产视频播放 | 国产精品乱码一区二三区小蝌蚪 | 午夜精品影院 | 国产乱码久久久久久一区二区 | 久草资源在线 | 欧美精品久久 | av先锋资源 | 日本免费一区二区三区 | 久久久91精品国产一区二区三区 | 国产精品一区二区久久 | 精品美女在线观看视频在线观看 | 久久国产精品一区二区三区 | 久久出精品 | 国产欧美日韩综合精品一区二区 |