lua腳本編程模擬
粒子進入磁場的時候在電場中經過的距離是2b,所以 eq 2b=mv2/2,這是mv的平方出2
粒子進入磁場後由左手定則可以判斷出其受力水平向左,所以向左邊做圓周運動,所以Bqv=
mv2/r,這是mv的平方除以r,可以算出粒子圓周運動的半徑r=mv/Bq.因為『粒子以一定速度第一次經過界面進入磁場,經過一段時間,從坐標原點o再次回到電場』,所以推斷一下,粒子回到電場的時候是水平向右的,也就是轉過了270度(因為粒子最開始是豎直向上進入的,只有這樣它才能從原點回來).所以半徑r=b,解得B=mv/bq.
第三次進過界面坐標位置也就是第二次進入磁場的坐標,所以算出橫縱位移.
因為它進入電場速度是水平向右,受豎直向上的力,所以水平做勻速運動,豎直做初速度為零的勻加速運動.
x方向:x=vt
y方向:y=at2/2(這是二分之一at的平方)
v是第一問的,由ma=eq算出a,所以,結果就不算了
B. lua腳本語言的概念解釋
Lua 教程
lua
Lua 是一種輕量小巧的腳本語言,用標准C語言編寫並以源代碼形式開放, 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。
Lua 是巴西里約熱內盧天主教大學(Pontifical Catholic University of Rio de Janeiro)里的一個研究小組於 1993 年開發的,該小組成員有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。
設計目的
其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。
Lua 特性
輕量級: 他用標准C語言編寫並以源代碼形式開放,編譯後僅僅一百餘K,可以很方便的嵌入別的程序里。
可擴展: Lua提供了非常易於使用的擴展介面和機制:由宿主語言(通常是C或C++)提供這些功能,Lua可以使用它們,就像是本來就內置的功能一樣。
其它特性:
支持面向過程(procere-oriented)編程和函數式編程(functional programming);
自動內存管理;只提供了一種通用類型的表(table),用它可以實現數組,哈希表,集合,對象;
語言內置模式匹配;閉包(closure);函數也可以看作一個值;提供多線程(協同進程,並非操作系統所支持的線程)支持;
通過閉包和table可以很方便地支持面向對象編程所需要的一些關鍵機制,比如數據抽象,虛函數,繼承和重載等。
Lua 應用場景
游戲開發
獨立應用腳本
Web 應用腳本
擴展和資料庫插件如:MySQL Proxy 和 MySQL WorkBench
安全系統,如入侵檢測系統
第一個 Lua 程序
接下來我們使用 Lua 來輸出"Hello World!"
實例(Lua 5.3)
print("Hello World!")
C. Lua 為什麼在游戲編程領域被廣泛運用
Lua雲風在九十年代就開發游戲引擎並建設個人網站(雲風工作室),在游戲開發領域聲望高。網易《大話西遊II》是首個在市場上取得成功的國產網路游戲。所以後來國內游戲開發行業紛紛受此影響採用Lua。
《大話西遊》用的腳本語言是微軟的JScript(JavaScript的一種方言),維護不便bug多,受系統IE版本的影響兼容性差。所以2002年網易開發《大話西遊II》時,決定在客戶端內嵌別的腳本語言。當時該項目技術負責人雲風認為要挑不出名的語言,讓做外掛的人搞不懂(《大話西遊》一代被外掛《月光寶盒》搞死了),於是就選擇了Lua 4.0。

現在,2013年,Lua和其他流行腳本語言Python、JavaScript各分秋色:
語言規范精簡、運行時庫小。其創始人稱Lua是穿過針孔的語言(Passing a Language through the Eye of a Needle),他加入的任何語言特性都能用C API簡單的調用。
易於創建受限環境,C語言一端可以控制暴露給Lua腳本的任何功能。我猜這也是《魔獸世界》的插件語言選用Lua的原因。
性能方面,雖然仍然比Python快,但不如V8(谷歌的JavaScript實現)。
D. 如何編寫簡單的lua小腳本
您好,我來為您解答:
首先,寫一個腳本需要一些什麼工具呢,很簡單,一台電腦(廢話),記事本等文本編輯器(也可以用h5地圖編輯器裡面的lua編輯器或者下載一個lua編輯器),幫助文件。
如果我的回答沒能幫助您,請繼續追問。
E. lua能做像TC或按鍵精靈那樣的腳本嗎
TC不知道是什麼,不過幾乎任何語言都能做按鍵精靈,不過都是重復造輪子。
會不會被檢測就看游戲的檢測機制了,我認為只要高度模擬鍵盤滑鼠設備,很難被檢測到,就是讀取游戲畫面可能比較難做
如果游戲本身支持lua拓展,那麼自然用lua做一些輔助腳本最好,這也要看游戲開發的介面有多少
F. lua腳本目前應用的多嗎主要用途是
Lua一般用於嵌入式應用,現在越來越多應用於游戲當中,魔獸世界,憤怒的小鳥都有用到。
Lua極易嵌入到其他程序,可當做一種配置語言。
還有很多需要性能的地方,比如:游戲腳本,nginx,wireshark的腳本
可以直接使用 C 代碼寫的函數。
比如corona 移動應用開發平台,跟PhonePap類似,不過使用Lua做開發語言,應用可以build到iOS,Android,kindle fire,nook平台; 伺服器端應該也是Lua。
moai 跟corona相似,免費。
在給軟體提供嵌入式腳本編程能力上,Lua是絕佳選擇。如果需要腳本語言功能強大,Python是絕佳選擇。Ruby在網路方面的庫比較多,而Perl長於字元串處理。可以說他們各有千秋。
G. Openresty伺服器使用lua腳本寫的Hello World簡單實例
這篇文章主要介紹了Openresty伺服器使用lua腳本寫的Hello
World簡單實例,OpenResty
(也稱為
ngx_openresty)是一個全功能的
Web
應用伺服器。它打包了標準的
Nginx
核心,很多的常用的第三方模塊,以及它們的大多數依賴項,需要的朋友可以參考下
Openresty提供了豐富的介面和變數給Lua,開發者可以充分利用Lua語言特性和這些介面進行高效率開發。萬事開頭難,但是對於編程來說能寫出Hello
world就已經算是成功一半了。
1、安裝openresty
2、配置nginx
代碼如下:
server
{
listen
80;
server_name
localhost;
#charset
koi8-r;
#access_log
logs/host.access.log
main;
location
/
{
root
html;
index
index.html
index.htm;
}
location
/lua
{
default_type
text/plain;
content_by_lua_file
/opt/lua/bin/test.lua;
}
........
}
3、新建
/opt/lua/bin/test.lua
代碼如下:
local
welcome
=
'Hello
World'
ngx.say(welcome)
4、訪問即可
H. Lua是什麼編程語言
Lua 是一個小巧的腳本語言。 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定製功能。Lua由標准C編寫而成,幾乎在所有操作系統和平台上都可以編譯,運行。Lua並沒有提供強大的庫,這是由它的定位決定的。Lua 有一個同時進行的JIT項目,提供在特定平台上的即時編譯功能。
Lua腳本可以很容易的被C/C++代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。不僅僅作為擴展腳本,也可以作為普通的配置文件,代替XML,ini等文件格式,並且更容易理解和維護。 Lua由標准C編寫而成,代碼簡潔優美,幾乎在所有操作系統和平台上都可以編譯,運行。一個完整的Lua解釋器不過200k,在目前所有腳本引擎中,Lua的速度是最快的。
I. 怎麼使用lua腳本
LUA腳本語言基本使用方法是本文要將介紹的內容,主要是來學習Lua腳本語言的使用方法,具體內容來看本文詳解。
先要把下邊這些語句加入到VC中的頭文件,一般是加到StdAfx.h中
extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" #pragma comment(lib, "lualib.lib") #pragma comment(lib, "lua.lib") }
然後一般來說都使用一個全局的LUA庫定義的這個東西
lua_State* g_Lua;
並且在工程處初始化時也給LUA初始化
g_Lua = lua_open(); **加這句 /* load Lua base libraries */ 網上一些教材中這么寫的 lua_baselibopen(g_Lua); 不過我這簡單的例子中不用到這些也行 lua_tablibopen(g_Lua); lua_iolibopen(g_Lua); lua_strlibopen(g_Lua); lua_mathlibopen(g_Lua);
緊接著聲明介面函數,注冊上函數
lua_register(g_Lua, "Message", myMessage);
好,初始化部分完了,看看介面函數的寫法。
函數必須這樣的格式來寫
static int Func(lua_State *L) { 靜態型函數,而且必須帶參數為lua_State結構指針 返回的值是代表返回的數據個數,比如return 2;就可以代表 返回兩個整數啊,浮點數什麼的,象LUA的腳本編寫就可以這樣 i, j = Func() , 這樣就表示可以從Func介面函數中得到兩個返回值了 return 0; }
執行腳本語句可以讀文件,也可以直接讀函數名
注冊了
lua_register(g_Lua, "Message", myMessage); static int myMessage(lua_State *L) { OutputDebugString("OK"); return 0; } lua_dofile(g_Lua, strCurPath); //讀文件,必須給出完整的文件路徑名稱 lua_dostring(g_Lua, "Message()"); //直接讀函數
文件中只要寫上
Message()
就可以了。
J. lua腳本求完成下面簡單的題目編程
local ranTable = {}
for i=1,10 do
table.insert(ranTable,math.random(1,100))
end
local Cnt = 0
for k, v in pairs(ranTable) do
print(v)
Cnt = Cnt + 1
end
print("Size of Table",Cnt)
