「單機對戰」和「挑戰雲主機」兩種遊戲模式都是處理人機對弈的場景。我們計畫在兩種場景使用相同的 battlepage 頁面,僅配置不同的 ai 引擎。
我們之前已經存在 cloudengine 了,它和本地引擎將有一些不同的實現方式,但卻有一些相同的對外介面。對此,我們做乙個物件導向的抽象思考,以便讓 battlepage 頁面可以使用多型方式呼叫不同的引擎。
在 lib/engine 資料夾下,我們新建乙個 engine.dart 檔案,在其中實現乙個抽象的 aiengine 引擎類,並且將 engineresponse 類從 cloudengine 中移到此檔案中來 — 顯然 engineresponse 是不同引擎公用的:
/// 引擎查詢結果包裹
/// type 為 move 時表示正常結果反饋,value 用於攜帶結果值
/// type 其它可能值至少包含:timeout / nobestmove / network-error / data-error
class engineresponse );
}abstract class aiengine
// 關閉引擎
futureshutdown() async {}
// 搜尋最佳著法
futuresearc
工作 技術 規劃
人之所以迷茫往往是因為找不到工作和生活的重心,感受不到工作或生活的價值。清楚自己的行為,目標和價值三者之間的關係。關注價值優於關注技術。看清從業務到軟體架構的價值鏈條。清楚定位自己在分工體系的位置。處理好自身與技術 業務的關係。不要丟失對業務場景的感受。不要丟失對使用者痛點的體會。不要丟失對業務發展...
工作 技術 規劃
人之所以迷茫往往是因為找不到工作和生活的重心,感受不到工作或生活的價值。清楚自己的行為,目標和價值三者之間的關係。關注價值優於關注技術。看清從業務到軟體架構的價值鏈條。清楚定位自己在分工體系的位置。處理好自身與技術 業務的關係。不要丟失對業務場景的感受。不要丟失對使用者痛點的體會。不要丟失對業務發展...
工作流引擎
工作流引擎 乙個任務清單,task1,task2,task3。這與審批和表達提交沒有任何關係,包括許可權,我理解這是工作流引擎的核心。每個任務有乙個執行程式 service bean dcom等等,實現方法你可以自己定,怎麼方便怎麼來。可能這個程式就是審批,以及審批設計到的資料等,這和工作流引擎有關...