任何人都可以阐明如何构建这样的程序吗?
他们会使用哪些 Java 类来跟踪这么多粒子,然后检查它们是否有碰撞检测之类的东西?粒子需要知道它们靠近什么粒子,或者它们不靠近任何东西,这样它们就可以下落等。
这是一个示例,以防您不确定什么是沙盘游戏。
主要是数组。
最简单的物理模型是在颗粒静止时移除颗粒(例如,当世界位置下方、左下方和右下方被填充时):相反,相应的世界坐标被填充。这使得计算易于管理. 如果世界坐标的左下方或右下方是空闲的,则允许颗粒向下移动。可以忽略运动颗粒之间的颗粒碰撞,而不会损失太多的逼真度。
(我无法完全理解这些天我们必须节省多少 CPU 能力!)
简单的版本可以在一个宽松的星期五晚上轻松实现(就像我刚才所做的那样)。只需使用代表您的字段的 2D 数组(字节、整数等)制作一个程序。在每个刻度中,遍历所有元素并进行检查:
这就是基础。接下来,您必须添加检查,例如不“重复”谷物的计算(在新位置设置标志,在以下迭代中检查)。
我跟着这个教程,它非常好,不是太长,但仍然指出了常见的陷阱和类似的东西。