• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 132  文章 - 51  trackbacks - 0
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(7)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            cocos2d-x

            OGRE

            OPenGL

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            官方的Wiki:http://lua-users.org/wiki/TutorialExamples
            以下是關(guān)于vs2005中使用lua
                以下是我在vs2005中編譯方法:
                1:打開vs命令行工具、   工具->visual studio 2005 command prompt
                2:到lua-5.1的目錄也就是etc的上一級目錄    :cd/d d:\lua-5.1
                3:執(zhí)行:etc\luavs.bat(注意:這里是\,不是/)
                4:然后lua51.dll ,lua51.lib,lua.exe就生成在src路徑下了~(注意因為是lua5.1的所以沒有l(wèi)uac.exe,以前的版本有

              因為在vs2005中l(wèi)ua是外來的,所以要讓vs2005能找到lua的頭文件和庫文件(lua5.1中只有一個lua51.lib),在vs中包含
            于是:工具->選項->項目和解決方案->vc++ 目錄  右邊選擇包含文件把src的路徑包含進(jìn)來(關(guān)于頭文件的)
             還有庫文件同意的操作,不過這里就是后來一直出錯的點(diǎn),這里這種方式包含的庫文件是包含不進(jìn)來的,后面講到的一種方法可正確包含

                 頭文件和庫文件都包含進(jìn)來后就可以在c++中使用lua了
            看一個實例如下:
            #include <stdio.h>
            #include <iostream>
            extern "C"
            {
               #include "lua.h"
               #include "lualib.h"
               #include "lauxlib.h"
            }//在工具中包含文件的那個~~
            /* Lua解釋器指針 */
            lua_State * L;
            #pragma comment(lib,"lua51.lib")//包含庫文件~~在工具里包含不進(jìn)來,上面的包含不進(jìn)來的處理辦法是:
            //把lua51.dll 拷到項目的dubug目錄下,把lua51.lib拷到項目目錄的項目名的文件夾下
            int main ()
            {
             /* 初始化Lua */
             L = lua_open();
             /* 載入Lua基本庫 */
             luaL_openlibs(L);
             /* 運(yùn)行腳本 ,注意路徑*/
             luaL_dofile(L, "d:\\test.lua");
             /* 清除Lua */
             lua_close(L);
             //printf( "Press enter to exit…" );
             //getchar();
             return 0;
            }
             上面是c++的一個空工程
            下面是test.lua的代碼:是一個石頭剪子布的小的游戲?qū)嵗?     
            代碼如下:
            ---[[
            math.randomseed(os.time()) --[[為隨機(jī)數(shù)產(chǎn)生器生成一個種子--]]
            user_score = 0
            comp_score = 0  -- 全局變量存分?jǐn)?shù)
            lookup = {};     --輸贏對照表
            lookup["rock"]={rock = "draw",paper = "lose",scissors ="win"}
            lookup["paper"]={rock = "win",paper = "draw",scissors = "lose"}
            lookup["scissors"]={rock = "lose",paper = "win",scissors = "draw"}
            function GetAiMove()  --Ai的函數(shù)
              local int_to_string = {"rock","paper","scissors"}  --局部一個table,對照用
              return int_to_string[math.random(3)]
            end
            function EvaluateTheGuess(user_guess,comp_guess)   -- 計算結(jié)果的函數(shù)
              if(lookup[user_guess][comp_guess]=="win") then
                 print ("user win the game")
                 --print()
                 user_score=user_score+1         --小錯誤 ~已改
              elseif (lookup[user_guess][comp_guess]=="lose") then
                 print ("user lose the game")
                 --print()
                 comp_score=comp_score+1
              else
                  print ("draw!")
                  --print()
              end
            end
            --下面開始
            print ("game begin:enter q to guit game")
            --print() --換行?
            loop = true
            while loop==true do
              --print()
              print("user: "..user_score.." comp: "..comp_score)
              print()
              print("p--布  r--拳頭  s--減")
              print("請輸入:")
              --io.open()
              user_guess =io.stdin:read '*l'    --出錯的地方,這里是l不是1
              --user_guess = "r"
              print()
              local letter_to_string = {r="rock",s="scissors",p="paper"}    --亦是局部的一個table 對照用的
              if(user_guess == "q") then
                 loop = false
              elseif(user_guess == "r") or (user_guess == "s") or(user_guess =="p")  then
                 comp_guess=GetAiMove()
                 EvaluateTheGuess(letter_to_string[user_guess],comp_guess)
              else
                 print ("invalid input,try again")
              end
            end
            --]] 

            posted on 2011-06-28 10:06 風(fēng)輕云淡 閱讀(876) 評論(0)  編輯 收藏 引用 所屬分類: LUA
            思思久久好好热精品国产| 国产精品久久久久久福利漫画 | 国产成人精品综合久久久久| 久久久久亚洲AV无码观看| 国产精品一久久香蕉国产线看观看| 国产成人久久精品麻豆一区| 中文无码久久精品| AAA级久久久精品无码区| 精品国产乱码久久久久久人妻| 欧美激情精品久久久久| 伊人久久成人成综合网222| 久久国产乱子伦精品免费强| 久久久久久久女国产乱让韩| 精品人妻伦九区久久AAA片69 | 久久福利青草精品资源站| 亚洲精品国精品久久99热| 18岁日韩内射颜射午夜久久成人 | 精品国产乱码久久久久久浪潮| 欧洲人妻丰满av无码久久不卡 | 99久久国产主播综合精品| 亚洲精品乱码久久久久久自慰 | 久久无码精品一区二区三区| 97久久精品午夜一区二区| 亚洲国产另类久久久精品小说| 久久精品国产精品亜洲毛片| 国产精品欧美亚洲韩国日本久久| 漂亮人妻被黑人久久精品| 欧洲成人午夜精品无码区久久| 大香伊人久久精品一区二区 | 国产高清国内精品福利99久久 | 香蕉久久久久久狠狠色| 人人狠狠综合久久亚洲高清| 婷婷久久精品国产| 久久丝袜精品中文字幕| 精品久久人人妻人人做精品| 久久91精品综合国产首页| 94久久国产乱子伦精品免费| 久久国产精品二国产精品| 久久精品亚洲福利| 欧美性大战久久久久久| 久久青青色综合|