• <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
            <2012年3月>
            26272829123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(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 風輕云淡 閱讀(854) 評論(0)  編輯 收藏 引用 所屬分類: LUA
            国产福利电影一区二区三区久久久久成人精品综合 | 伊人久久综合无码成人网| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 亚洲欧美伊人久久综合一区二区 | 久久亚洲精精品中文字幕| 国内精品久久久久影院优| 欧美综合天天夜夜久久| 久久最新免费视频| 69国产成人综合久久精品| 无码任你躁久久久久久老妇| 久久精品国产亚洲精品2020| 久久99国产精品成人欧美| 久久久久高潮综合影院| 亚洲中文字幕无码久久2020| 日本免费久久久久久久网站| 婷婷综合久久中文字幕蜜桃三电影| 久久精品成人免费看| 奇米综合四色77777久久| 久久99精品久久久久久野外| 久久国产亚洲精品无码| 狠狠色婷婷久久一区二区| 国产精品成人久久久久久久| 久久ZYZ资源站无码中文动漫| 久久只这里是精品66| 久久久久一本毛久久久| 99久久国产综合精品网成人影院| 国内精品人妻无码久久久影院| 精品伊人久久久| 日韩影院久久| 久久免费大片| 精品久久人人做人人爽综合| 99久久免费只有精品国产| 久久91精品国产91久久户| 欧美大香线蕉线伊人久久| 午夜精品久久久久久久久| 久久天天躁狠狠躁夜夜不卡| 久久天天躁狠狠躁夜夜2020一| 久久午夜无码鲁丝片秋霞 | 国产精品久久自在自线观看| 久久久久久伊人高潮影院| 三级三级久久三级久久|