发布两款游戏,欢迎大家测试并提出改进意见

runer 2003-04-28 12:56:15
正在努力学习j2me中,希望与大家共同进步

现在五子棋AI还不太高

五子棋
http://www.ibmnb.com/cgi-bin/hope/topic_show.cgi?id=15862&h=1&bpg=1&age=0
泡泡龙
http://www.ibmnb.com/cgi-bin/hope/topic_show.cgi?id=15110&h=1&bpg=1&age=0
...全文
100 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
aiur 2003-05-14
  • 打赏
  • 举报
回复
不会吧,回复up,就会扣信誉分啊
aiur 2003-05-13
  • 打赏
  • 举报
回复
upup
runer 2003-05-10
  • 打赏
  • 举报
回复
这两天笔记本被别人借去了
上网都要蹭别人的机器了 :(
aiur 2003-05-09
  • 打赏
  • 举报
回复
~~~整理好了吗~~~
wdllove 2003-05-06
  • 打赏
  • 举报
回复
向你们学习
wdllove 2003-05-06
  • 打赏
  • 举报
回复
我也在长春真心希望能和你们交朋友
qq:80481317
msn:wdllove@sina.com
pl5th2001 2003-05-05
  • 打赏
  • 举报
回复
如果用神经网络算法可能会更好
wing888 2003-05-05
  • 打赏
  • 举报
回复
楼上的网友,请问什么是神经网络算法?可以介绍一下吗,谢谢。
runer 2003-05-04
  • 打赏
  • 举报
回复
等过几天,整理好了
aiur 2003-05-04
  • 打赏
  • 举报
回复
>>>>>>
另:你误解了我说的第一个内嵌,我意思并不是指两个球或多个球的位置的镶嵌,而是指两个球碰撞之后,发生“形变”,互相进入对方内部,然后再反弹回来的效果(游戏中只是简单化的表示出这个“进入”再“反弹”出来的过程,并没有显示外表真正的形变)
>>>>>>
也许是我的理解有偏差,两个球碰撞以后(其实只有一个移动的球,上一次移动时还没有碰撞到,但经过一次位移后,可能就会进入某一个球的内部,这时就要反弹回来),我想我的问题就是在这个反弹的问题上,也就是你觉得很怪的样子。
能把别人的泡泡龙处理这个问题的源码,贴出来吗,最好加入一点注释~~~

五子棋的AI我还没有详细考虑过,这跟规则也有较大的关系,不过网上有很多的src,可以参考
theninthsky 2003-05-04
  • 打赏
  • 举报
回复
up!
universtiy 2003-05-04
  • 打赏
  • 举报
回复
up
runer 2003-05-03
  • 打赏
  • 举报
回复
这应该还是属于处理技巧的问题

算法问题是指:知道怎么样效果能够好,但是不知道怎么去做

而处理技巧问题就是指:没想到这样做效果好,想到之后很容易实现的

另:你误解了我说的第一个内嵌,我意思并不是指两个球或多个球的位置的镶嵌,而是指两个球碰撞之后,发生“形变”,互相进入对方内部,然后再反弹回来的效果(游戏中只是简单化的表示出这个“进入”再“反弹”出来的过程,并没有显示外表真正的形变)

我最初想写泡泡龙的时候,开始自己考虑的碰撞与粘连处理是:
容器用一个n*m二维数组表示共有m行一行可以放n个球(没考虑奇偶行),而且这个n和m还兼做移动球的一个“相对”的坐标
球以球心(实质是圆心)为中心点,周围有半径为R的圆面积这样大的一个作用范围,在球每移动一步根据坐标检测一下容器数组,看作用范围内是不是有球或者已经到达顶点,如果发现有球或者到达顶点则不管什么位置,立刻停止。
但实际视觉上看起来却是很古怪的样子,想了一下可能是因为根本不符合动力学的规律的原因吧
再后来拿到别人的一个泡泡龙的原代码,看了一下里面对这个问题的处理,感到的确很巧


呵呵,共同学习,共同进步,我现在兴趣再另外一个五子棋游戏上,有机会讨论一下五子棋AI处理的问题
aiur 2003-05-03
  • 打赏
  • 举报
回复
to runer:
我认为这是算法的问题。
其实你说的第一个技巧,所有的泡泡龙游戏当然是肯定是存在的(我写的当然也有),小球在移动的时候,不可能坐标正好与球体相接(移动时的位移距离不是1,有角度的sin cos值,肯定会有内嵌的动作,这时候程序知道小球需要附着,就要计算小球需要附着的位置,根据计算出的位置,将移动的小球粘在该粘的位置,这时候相对小球的先前的位置,当然会有生硬的感觉,这是无法避免的!如果要避免的话,只能将小球放在可以使上方的球消失的位置,这样使玩家不易察觉。而这个就是你说的第二个技巧(也是我正在考虑的算法问题)

上方的球可以附着的位置当然是有限的,除去一些边界,只能是左上,右上,左边,右边,左下,右下,用程序来量化的时候,又要考虑奇偶行的问题,让移动中的小球能够体面,平滑的粘到上方的球上。我现在想到的方法就是,将上方需要附着的球体周围的位置遍历,计算如果有小球附着的话,能否造成消失球,如是,就将移动中的小球放在那个位置,如不是,就将移动中的小球放在造成碰撞的位置(当然,这个也只能是六个位置之一!)

你说的第三条:震动,我认为那是提醒user即将有新的一层球压下,而与实际的计算位置和效果无关。

〉〉〉〉〉〉
总之就是让碰撞发生之后,不要让他立刻停止粘在那里,动几下,晃几下,效果就出来了 :)
〉〉〉〉〉〉
这是当然,程序里当然不可能立刻停止粘在那里,绝对会有误差,别说我不同意,user也不同意,我说了这么多,也不知道你明白了没有,希望共同进步... ^_^
runer 2003-04-30
  • 打赏
  • 举报
回复
to benbenlittle() :
是在长春呀

to ahpaul_nanjing(我是谁呢?):

目前这两个游戏是专为Nokia 7650/3650设计的,别的手机暂时用不了
而nokia7650/3650安装程序一个jar 文件就可以了

等稳定了再考虑推出别的手机的版本
只爱碧螺春 2003-04-30
  • 打赏
  • 举报
回复
To runer (今天真冷):
可以联系一下吗?我的QQ是:125418823

建议最好发布一个JAD,目前有的手机可是通过JAD来加载MIDLET的.
benbenlittle 2003-04-30
  • 打赏
  • 举报
回复
runer 你是在长春吗
runer 2003-04-30
  • 打赏
  • 举报
回复
to aiur:
这其实不应该算是算法的问题
关键是处理的碰撞和粘连的几个小技巧
如果完全按照坐标来计算碰撞和粘连,那么小球就有可能撞在另外一个球体的任何位置,
并且立刻粘在那里,这样看起来就比较生硬了
现在发布的泡泡龙(这个算法其实不是我的),我觉得主要是因为使用了3个小的技巧来让碰撞粘连显得不是那么生硬
1。赋予球一定的弹性(姑且采用这种说法),就是说在球碰撞之后球与球可以内嵌进一部分,然后再反弹回来,粘在该粘的位置,(游戏中处理实质上简单化了,并没有考虑来显示球体外壳的变形,只是简单的坐标位置加一个增量)。
2,球碰撞之后的一个滑动处理,也就是说一个球可以撞在另外一个球的任何位置,但不一定可以粘在那个位置,一个球可以粘接另外一个球的位置是有限的,如果碰撞不是发生在这个恰好可以粘球的位置,那么就会发生一个滑动,这也会让碰撞显得更真实
3。就是背景已有球的整体震动,增加与去掉的效果明显不同

总之就是让碰撞发生之后,不要让他立刻停止粘在那里,动几下,晃几下,效果就出来了 :)
aiur 2003-04-30
  • 打赏
  • 举报
回复
呵呵
请教一下,runer你的泡泡龙游戏里的游戏算法问题:
如何判断粘球的位置,也就是说如何让发射出的小球在碰到上面的小球时,显得不是那么生硬(不完全是按照坐标来算)
mercury1231 2003-04-30
  • 打赏
  • 举报
回复
网页打不开哦。不过还是支持一下,呵呵。
加载更多回复(2)

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧