Luaでメニュー選択ルーチンを作ってみました
Windows_3
Luaの文法をまだ覚えていないので、日本語マニュアル見ながら手探りでコード書いてます^^;
関数に引数やローカル変数が使えるのって便利ですね〜
再帰アルゴリズムも簡単に書けそうです^^
function printf(...) print(string.format(unpack(arg))) end function menu_test( items, num ) local n=1,i,j for i=0,200 do -- if GetAsyncKeyState( VK_ESCAPE )~=0 then PlaySound("data\\cancel2.wav") return -1 end if GetAsyncKeyState( VK_SPACE )~=0 then PlaySound("data\\decide2.wav") return n end if GetAsyncKeyState( VK_UP )~=0 then if n>1 then n=n-1 PlaySound( "data\\cursor7.wav" ) end end if GetAsyncKeyState( VK_DOWN )~=0 then if n>" ) for j=1,num do DrawString( 16,j*16, items[j] ) end Flip() Sleep(100) end return 0 end
使い方の例
do menu_items = { "menu item 1", "menu item 2", "menu item 3", "menu item 4", "menu item 5" } menu_num = 5 printf( menu_test( menu_items, menu_num ) ) end
</pp>っていうのは無視して下さい。