halida/planet-conquer

关于部队增长的逻辑

Closed this issue · 8 comments

目前是

if planet_count <= max or res < 1:
    planet_count = planet_count * res + cos

我比较倾向于:

new_count = int(planet_count * res + cos)
if planet_count < max or new_count < planet_count:
    plant_count = new_count

考虑以下两点,看看你们的看法

  • 当星球上的单位数正好是max时,我倾向于停止增长
  • 当res < 1时也有可能在增长,这时候如果单位数超过max,我觉得也不应该增长

恩, 我觉得这样的逻辑合理. 只有小于最大数量, 以及数量是减少的情况下才改变数量.

同意,并且代码改为如:

new_count = int(planet_count * res + cos)
if planet_count < max and new_count <= max or new_count < planet_count:
plant_count = new_count

2012/3/4 resty-daze <
reply@reply.github.com

目前是

if planet_count <= max or res < 1:
   planet_count = planet_count * res + cos

我比较倾向于:

new_count = int(planet_count * res + cos)
if planet_count < max or new_count < planet_count:
   plant_count = new_count

考虑一下两点,看看你们的看法

  • 当星球上的单位数正好是max时,我倾向于停止增长
  • 当res < 1时也有可能在增长,这时候如果单位数超过max,我觉得也不应该增长

Reply to this email directly or view it on GitHub:
#12

这样的话,我觉得应该实现成增加的时候会超过max时增长到max?

难道不是这样么?
new_count = int(planet_count * res + cos)
if new_count < max :
plant_count = new_count
else:
plant_count = max

在new_count < plant_count时就不是这样...

为什么不是这样,不是同样减少的么?

FireYang方法考虑不全。

new_count = int(planet_count * res + cos)
if new_count < max :
plant_count = new_count
else:
plant_count = max

如果planet_count > max, new_count < planet_count, 这时planet_count = new_count

2012/3/5 FireYang <
reply@reply.github.com

为什么不是这样,不是同样减少的么?


Reply to this email directly or view it on GitHub:
#12 (comment)

fixed ac8b1
current logic:

new_count = int(planet_count * res + cos)
if planet_count < max:
    planet_count = min(new_count, max)
elif new_count < planet_count:
    planet_count = new_count