目的不同:
因此,我们只需要设计一个评估函数能使得游戏难度平滑增加。
总分-细分:分各种情况去考虑系统填子的方式。
要保证填充状态依然为死局。
填充状态不能为死局,且根据时间大小,生成不同得分的棋子。
填充的棋子,不能使棋局产生新的连线。
根据时间的不同,生成不同得分的棋子。
平滑性是指每个方块与其直接相邻方块数值的差,其中差越小越平滑。
随着游戏的进行,棋盘中可能存在一些数值很小且数目很少的棋子,我们可以增加这类棋子的产生概率,称为优先性。
让棋局自动连接和填充获得数据,再进行因子分析,根据考虑的因素对到达死局的影响确定权重。
平滑性是指每个方块与其直接相邻方块数值的差,其中差越小越平滑。
由于我们游戏的动作有8个(上,下,左,右,左上,右上,左下,右下),所有每一个棋子的平滑性都需要比较其本身与其周围数字的大小关系。设一个矩阵的初始平滑度为0,然后分别计算每个数字与其相邻数字(右,右下,下)之间的差值倍数,用0减去每一个数字的平滑性就是当前矩阵的平滑度。
连接性是指当前局面所有可以连接的棋子的总个数。
统计当前局面中所有可以产生连线的棋子的个数。
不同局面下,总会存在一些棋子难以消除,我们需要提高生成这些棋子的优先级。其又分为数量上的优先和数值上的优先。
数值优先是指优先生成棋局中数值较小的数字。
我们只考虑在无限模式下的实验结果。
游戏可以无限的进行下去,且不存在有无法消除的数字。
今天尝试了对评估函数做修改,实验对游戏的影响。发现当控制棋子个数过多和场上棋子种类过多、时,游戏反应会变慢,因此我限制了控制棋子的个数,余下的棋子随机生成。同时对随机生成的棋子的范围也做了一定的限制。
下午找潘师兄进行了讨论,没有想到更好的办法解决现有问题。