• <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年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(7)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            cocos2d-x

            OGRE

            OPenGL

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            官方的Wiki:http://lua-users.org/wiki/TutorialExamples
            以下是關于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了
            看一個實例如下:
            #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")//包含庫文件~~在工具里包含不進來,上面的包含不進來的處理辦法是:
            //把lua51.dll 拷到項目的dubug目錄下,把lua51.lib拷到項目目錄的項目名的文件夾下
            int main ()
            {
             /* 初始化Lua */
             L = lua_open();
             /* 載入Lua基本庫 */
             luaL_openlibs(L);
             /* 運行腳本 ,注意路徑*/
             luaL_dofile(L, "d:\\test.lua");
             /* 清除Lua */
             lua_close(L);
             //printf( "Press enter to exit…" );
             //getchar();
             return 0;
            }
             上面是c++的一個空工程
            下面是test.lua的代碼:是一個石頭剪子布的小的游戲實例      
            代碼如下:
            ---[[
            math.randomseed(os.time()) --[[為隨機數產生器生成一個種子--]]
            user_score = 0
            comp_score = 0  -- 全局變量存分數
            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的函數
              local int_to_string = {"rock","paper","scissors"}  --局部一個table,對照用
              return int_to_string[math.random(3)]
            end
            function EvaluateTheGuess(user_guess,comp_guess)   -- 計算結果的函數
              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 風輕云淡 閱讀(870) 評論(0)  編輯 收藏 引用 所屬分類: LUA
            少妇被又大又粗又爽毛片久久黑人| 人妻无码精品久久亚瑟影视| 久久久无码精品亚洲日韩按摩| 久久久久久无码Av成人影院| 久久久久99精品成人片试看| 国产精品久久久久久久久久免费| 久久人人爽人人爽人人片AV东京热 | 一本一本久久aa综合精品| 亚洲AV日韩AV天堂久久| 草草久久久无码国产专区| 人妻无码精品久久亚瑟影视 | 欧美亚洲另类久久综合婷婷| 亚洲精品白浆高清久久久久久| 久久亚洲高清观看| 亚洲精品乱码久久久久久按摩| 色综合久久综精品| 婷婷五月深深久久精品| 欧洲性大片xxxxx久久久| 久久精品免费一区二区三区| 久久精品国产久精国产一老狼| 91精品国产色综久久| 久久国产精品99久久久久久老狼| 亚洲精品国产综合久久一线| 久久久久国产一级毛片高清版| 久久人人爽人人爽人人片AV不| 一本久久综合亚洲鲁鲁五月天| 国产精品久久久99| 精品久久久久中文字幕一区| 久久99精品久久只有精品| 一本色道久久88精品综合| 91麻豆国产精品91久久久| 色婷婷狠狠久久综合五月| 亚洲?V乱码久久精品蜜桃| 色偷偷88欧美精品久久久| 久久伊人影视| 精品国产乱码久久久久软件| 三级片免费观看久久| 色狠狠久久综合网| 久久久久久久久波多野高潮| 亚洲国产精品久久久天堂| 精品久久久久久无码专区不卡|