求教:一个人工智能算法(200分)

  • 主题发起人 主题发起人 ARMADA
  • 开始时间 开始时间
A

ARMADA

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在接触UNIX时发现了一个屏保:
一个小点(一个小线段)在屏幕上乱飞,躲避一群其他的点的追击,

我观察恒久,发觉小点的动作智能度非常高,灵巧的转弯,加速,躲避,而后面的追击者也是
随机应变
感叹于程序的精巧,有心把他移植到PC机上,但是苦于数学不佳,故求高手赐教
 
程序有点象一群小鸟在追一只小鸟
 
有难度,感兴趣
 
见过类似的小游戏,“是男人就撑过20秒”
 
能发源码给我吗
testnet@163.com
 
我觉得可以把屏幕分割(只能运动在坐标点上),用随机数实现:
被追点的下一个运动方向是通过随机数产生的,追点的运动方向是和被追点的连线最相
近的方向,如果两点相遇,则被追点的运动方向重新产生。
不知道有没有更好的想法。
 
这不是 离子算法(?)吗
那些点的生命的描述都是同一个class,然后同时启动多个实例,
当然每个实例跑自己独立的线程里,每个实例初始化的参数(就是出生地点的pos)不同
 
有意思感兴趣,顶
 
我只是看到这个屏保在运行,但是没有源程序,甚至没有程序,

程序运行时表现如此
 
好像生命游戏!
 
谁有有关资料?请
 
请找 creation-zy,研究人工智能的老大
 
的确象生命游戏,但是,我一直等待竟然无人能给个建设性意见吗,200分啊,我是不见兔子不撒鹰的啦
 
是不是可以这样思考??
关于逃逸小点的位置:
首先计算与所有追踪点的距离,确定最近追踪点的位置,作为逃避的目标;
然后随机产生一个位置,计算这个位置与所有点的距离,若其最小距离大于
某一个给定的值,则该位置作为小点的逃逸位置,如此重复,可解决逃逸点的位置
问题;

关于追踪点的位置:
对于没一个追踪点,同样随机产生一个位置,如果这个位置比当前的距离小则接受
为下一位置。如果程序要求追踪点不能追上逃逸点,则还得控制其距离大于一个给定的
极小数,

这样应该是可以实现的
 
首先计算与所有追踪点的距离,确定最近追踪点的位置,作为逃避的目标;
然后随机产生一个位置,计算这个位置与所有点的距离,若其最小距离大于
某一个给定的值,并且与逃避目标的距离大于远距离,则该位置作为小点的逃逸位置,如此重复,可解决逃逸点的位置
问题;
 
说的在理,
我还要等一等
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部