在一个可以由多个六边形组成的地图中,有一只老鼠,可以向六个方向(上、下,左上,左下,右上,右下)移动,同时,某个或者多个六边形被定义为地洞。游戏开始,人可以在地图上任何一个六边形中放置捕鼠夹;然后,老鼠会以最短路径方式向最近地洞逃逸,每次移动一格;老鼠移动之后,人可以放置下一个捕鼠夹,由此人机次第进行游戏。老鼠每一次移动时,会重新计算最短路径(因为捕鼠夹相当于障碍,会使最短路径改变)。直至:
1 老鼠没有任何机会进入地洞,则人获胜;
2 老鼠最终进入地洞,则电脑获胜。基础AI是老鼠每次找最近的洞...用广搜做完了...要提高AI的话,都能有些什么策略呢?谢谢
1 老鼠没有任何机会进入地洞,则人获胜;
2 老鼠最终进入地洞,则电脑获胜。基础AI是老鼠每次找最近的洞...用广搜做完了...要提高AI的话,都能有些什么策略呢?谢谢
解决方案 »
- VC中一个与时间有关的问题
- ATL中销毁子窗口,MFC中测试的时候出现ASSERT错误!进者有分!
- 请教CListCtrl重新排列的问题
- CHtmlView打开非良构的*.xml文件后 出现的出题
- Edit控件问题,输入为空弹出英文提示对话框该怎么改成中文提示?
- 一个简单菜单禁用/启用问题,在线等
- 我的机器为何老是出现内存益处的情况?
- 我以前用的数据库是access的,现在是否能改用sql sever的,大侠请帮忙
- 怎么把ActiveX控件转化成普通的mfc对话框呢?
- 请问 WIN XP 下用哪个版本的 VC?
- 求教一个关于如何在开发时管理各种生成的文件
- 100分求ocx中GDI+内存增长问题
当前位置可以有m个节点可以走(0 < m <= 6),对于某个可行节点N,求取其到各个洞口i的最短路径Li:
建立一个费用函数Fi = exp(1 - Li).那么节点N的费用为:F(N) = sum(Fi);选取费用最大的节点作为下一步。
我不大清楚楼主手机的计算能力,如果能采用multi-level search,可能效果会更好。
就像下棋一样,算一个"胜率",像这种大小的矩阵,可以提前算出3步的话,基本就可以稳赢了。