小编Tor*_*ore的帖子

如何在Java中补间?

我正在研究用Java创建2D游戏,我遇到了动画问题:如何在Java中进行补间?是否有任何库或者我可以找到绑定的东西?

此外,请理解我不想简单地移动图像,我想以一种方式进行变形,在制作动画图时我可以使用几个关键帧来填充中间帧以生成动画.

java animation

12
推荐指数
1
解决办法
5935
查看次数

找到有界子图之间的最小割集

如果将游戏地图划分为子图,如何最小化子图之间的边缘?

我有一个问题,我试图通过像pacman或sokoban这样的基于网格的游戏进行A*搜索,但我需要找到"附件".外壳是什么意思?用尽可能少子图切割边缘尽可能给出的每个充当软约束的子图的顶点的数目的最大尺寸和最小尺寸.
或者你可以说我希望找到子图之间的桥梁,但它通常是同样的问题.


基于网格的游戏地图示例http://dl.dropbox.com/u/1029671/map1.jpg

鉴于一个看起来像这样的游戏,我想要做的是找到外壳,以便我可以正确地找到它们的入口,从而获得一个良好的启发式,以达到这些外壳内的顶点.

alt text http://dl.dropbox.com/u/1029671/map.jpg

所以我想要的是在任何给定的地图上找到这些彩色区域.


我的动机

我打扰这样做的原因并不仅仅是坚持使用简单的曼哈顿距离启发式的表现,因为外壳启发式可以提供更优化的结果,我不必实际做A*以获得适当的距离计算和当玩sokoban类型的游戏时,也可以在以后为这些围栏中的对手添加竞争阻挡.外壳启发式也可用于最小化方法,以更正确地找到目标顶点.

可能解决方案

该问题的可能解决方案是Kernighan Lin算法:

function Kernighan-Lin(G(V,E)):
  determine a balanced initial partition of the nodes into sets A and B
  do
     A1 := A; B1 := B
     compute D values for all a in A1 and b in B1
     for (i := 1 to |V|/2)
      find a[i] from A1 and b[i] from B1, such that g[i] = D[a[i]] + D[b[i]] - 2*c[a][b] is maximal
      move a[i] …
Run Code Online (Sandbox Code Playgroud)

algorithm artificial-intelligence heuristics graph a-star

9
推荐指数
1
解决办法
1065
查看次数

有没有办法禁用所有firebase日志记录到控制台?

我已经为我的firebase安全规则创建了一些单元测试.这项测试的一部分是试图进行非法操作并声称它们失败了.

我的问题与噪音有关; 当我使用nodeunit运行测试时,firebase客户端会吐出几个与此类似的日志:

FIREBASE WARNING:设置为/ user failed:permission_denied

故意做非法操作时我不想要这个输出,因为它只会导致噪音和混乱.

javascript logging firebase

6
推荐指数
1
解决办法
2498
查看次数

VHDL:如何在inout端口上设置一个值?

我正在尝试测试一个VHDL组件,但我似乎无法得到这个inout端口给我任何行为.我已经尝试将端口设置为从"1"到" - "的所有内容,但它仍然在模拟中显示为"U".任何可能错误的消化?

vhdl

4
推荐指数
2
解决办法
3万
查看次数