【遠古巨坑】【批處理游戲】生死時速最后由 bbaa 于 -4-18 00:18如果發錯版了請版主幫忙移動下,蟹蟹==================之前沒有記錄==================================/02/05 12:27================1.修復了Buf_Player的變量名沖突導致閃退BUG2.增加模塊開關================/02/05 14:28================1.材質更新2.血量顯示優化3.修復了一個可能導致閃退的BUG4.變量名優化================/02/05 16:19================1.合并代碼2.敵方AI部分完成 (5%)3.修復部分bug4.簡化load函數(不寫buf里了)5.修復某個可能導致閃退的bug(修呀修不完)6.更新了image.dll================/02/05 16:45================1.優化LoadMap_New函數 感謝Byaidu提醒================/02/05 16:55================1.屏蔽光標================/02/05 22:24================1.攻擊模塊完成================/02/05 22:45================1.材質地圖更新,邏輯優化================/02/06 11:49================1.敵方有Ai了2.可以玩了3.bug修復================/02/06 12:08================1.材質更新2.防御陣地實裝================/02/06 13:00================1.更多關卡2.開始界面3.More================/02/06 13:51================1.關卡微調2.Bug修復================/02/06 14:07================1.關卡微調2.版權聲明加入================/02/06 14:18================1.關卡繼續微調================/02/06 14:22================1.微調================/02/06 14:50================1.微調================/02/06 20:31================1.微調================/02/06 20:31================1.添加幫助模塊2.更新UI a.更裝b的進度條 b.可選擇關卡游玩 c.增加cover覆蓋層================/02/09 14:50================1.更機智的AI2.更多BUG3.部分BUG修復================/02/09 16:10================1.Bug修復================/02/09 17:55================1.Bug修復(感謝@老劉(一號)同志)================/02/09 20:30================1.添加鏡像圖片API================/02/09 22:35================1.增加了Level4================/02/10 13:30================1.關卡微調2.第4關回血bug修復================/02/10 21:50================1.Level5更新================/02/12 13:22================1.自定關卡支持!2.image.dll重編譯更新!================/02/19 22:45================1.對玩家移動,血量條顯示,玩家死亡判斷進行了一次優化================/04/11 22:11================1.與TJUGERKFER討論是否填坑================/04/12 17:01================1.開始填坑2.重寫尋路3.深度優先搜索棧實現================/04/12 11:32================1.深度優先搜索初步完成================/04/12 17:43================1.深度優先搜索Debug完成================/04/12 20:32================1.添加一堆新地形角色2.敵方單位不再是人工智障3.Deep First Search!!!!================/04/12 22:31================1.@老劉一號提供的DFS優化!!!!感謝大佬================/04/16 12:56================1.更換尋路算法為廣度優先搜索(BFS)!2.敵方單位真的不再是人工智障================/04/16 22:42================1.全新特效效果2.平衡性調整3.增加@老劉一號的新自定義地圖================/04/16 21:53================1.移動效果調整2.性能優化3.新地圖================================================利用Image3.0開發的的一個批處理游戲BFS尋路過程(Apng)(LZ電腦菜請以實際運行效果為準)nload="thumbImg(this)" alt="" />尋路部分代碼
部分截圖nload="thumbImg(this)" alt="" />nload="thumbImg(this)" alt="" />nload="thumbImg(this)" alt="" />下載地址:V2.4自定地圖器:點我Github link:點我nclick="copycode($('code0'));">復制代碼
- :敵方移動開始_BFS
- Set BFS 1>var/BFS.env
- for /f tokens=1 delims== %%i in (var/BFS.env) do (
- Set %%~i=
- )
- Rem 初始化方向順序
- Set BFSMoveX=+0-1+0+1 || REM 上左下右
- Set BFSMoveY=-1+0+1+0
- Rem 初始化起始頂點
- if %SelectX% lss 10 (
- Set BFS_Queue_X=+%SelectX%
- ) else (
- Set BFS_Queue_X=%SelectX%
- )
- if %SelectY% lss 10 (
- Set BFS_Queue_Y=+%SelectY%
- ) else (
- Set BFS_Queue_Y=%SelectY%
- )
- Set /a BFS_Queue_Length=1
- Set BFS_Dist_%SelectX%_%SelectY%=t
- Set BFS_StackPath_X=
- Set BFS_StackPath_Y=
- Set BFS_Next_Path_X=!最近單位X!
- Set BFS_Next_Path_Y=!最近單位Y!
- (
- :BFS_Main
- if !BFS_X!==!最近單位X! (
- if !BFS_Y!==!最近單位Y! (
- if /i !QuickBFS!==Enable (
- Goto :BFS_Finish
- )
- )
- )
- if !BFS_Queue_Length! equ 0 (
- Goto :BFS_Finish
- )
- Set /a BFS_X=!BFS_Queue_X:~0,2!|| Rem 取出隊列
- Set /a BFS_Y=!BFS_Queue_Y:~0,2!
- Set BFS_Queue_X=!BFS_Queue_X:~2!
- Set BFS_Queue_Y=!BFS_Queue_Y:~2!
- Set /a BFS_Queue_Length-=1
- for /l %%b in (0,2,6) do (
- Set /a BFS_Next_X=!BFS_X!!BFSMoveX:~%%b,2!
- Set /a BFS_Next_Y=!BFS_Y!!BFSMoveY:~%%b,2!
- Set IsWalk=True
- if !BFS_Next_X! GEQ 0 (
- if !BFS_Next_Y! GEQ 0 (
- if !BFS_Next_X! Lss 15 (
- if !BFS_Next_Y! Lss 11 (
- for %%c in (%無法通行的方塊ID%) do (
- for /f delims=, tokens=1-2 %%d in (!BFS_Next_X!,!BFS_Next_Y!) do (
- if !MapList_%%d_%%e!==%%c (
- Set IsWalk=False
- )
- )
- )
- if defined Player_!BFS_Next_X!_!BFS_Next_Y! (
- Set IsWalk=False
- )
- if !BFS_Next_X!==!NamePlayer_%敵方EnityId%_X! (
- if !BFS_Next_Y!==!NamePlayer_%敵方EnityId%_Y! (
- Set IsWalk=True
- )
- )
- if !BFS_Next_X!==!最近單位X! (
- if !BFS_Next_Y!==!最近單位Y! (
- Set IsWalk=True
- )
- )
- ) else (
- Set IsWalk=False
- )
- ) else (
- Set IsWalk=False
- )
- ) else (
- Set IsWalk=False
- )
- ) else (
- Set IsWalk=False
- )
- if !IsWalk!==True (
- if not defined BFS_Dist_!BFS_Next_X!_!BFS_Next_Y! (
- Set BFS_Dist_!BFS_Next_X!_!BFS_Next_Y!=t
- Set BFS_Path_!BFS_Next_X!_!BFS_Next_Y!_X=!BFS_X!
- Set BFS_Path_!BFS_Next_X!_!BFS_Next_Y!_Y=!BFS_Y!
- if !BFS_Next_X! lss 10 (
- Set BFS_Queue_X=!BFS_Queue_X!+!BFS_Next_X!
- ) else (
- Set BFS_Queue_X=!BFS_Queue_X!!BFS_Next_X!
- )
- if !BFS_Next_Y! lss 10 (
- Set BFS_Queue_Y=!BFS_Queue_Y!+!BFS_Next_Y!
- ) else (
- Set BFS_Queue_Y=!BFS_Queue_Y!!BFS_Next_Y!
- )
- Set /a BFS_Queue_Length+=1
- )
- )
- )
- goto :BFS_Main
- )
- :BFS_Finish
- if !BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_X! lss 10 (
- Set BFS_StackPath_X=+!BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_X!!BFS_StackPath_X!
- ) else (
- Set BFS_StackPath_X=!BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_X!!BFS_StackPath_X!
- )
- if !BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_Y! lss 10 (
- Set BFS_StackPath_Y=+!BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_Y!!BFS_StackPath_Y!
- ) else (
- Set BFS_StackPath_Y=!BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_Y!!BFS_StackPath_Y!
- )
- (
- Set BFS_Next_Path_X=!BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_X!
- Set BFS_Next_Path_Y=!BFS_Path_%BFS_Next_Path_X%_%BFS_Next_Path_Y%_Y!
- )
- if not !BFS_Next_Path_X!==!NamePlayer_%敵方EnityId%_X! (
- goto :BFS_Finish
- )
- if not !BFS_Next_Path_Y!==!NamePlayer_%敵方EnityId%_Y! (
- goto :BFS_Finish
- )
- set 回合=敵方移動AI處理_BFS
- goto Main