根据游戏状态随机生成敌人属性

3
在我的游戏中,我希望玩家游戏时间越长,敌人就越难以击败(通过随机生成),就像iOS游戏“Dungeon Raid”一样。以下是敌人应该具备的属性:
HP - 生命值 Attack - 攻击力 Time - 敌人攻击需要的秒数(时间越长,敌人越慢) - 该时间取决于攻击量(如果敌人非常强大,则必须慢) Score - 杀死敌人时获得的分数
我认为正确的做法是确定敌人可以获得的最小属性值,然后根据游戏状态和使用算法计算它们来增加这些属性值,但我真的不知道如何做,甚至从哪里开始。

1
你可能是对的,这里不是特别适合这个问题,但是有一个专门处理非代码问题的StackExchange游戏开发网站。你可以在这里找到它:http://gamedev.stackexchange.com/ [顺便说一句 - 你的英语实际上相当不错,所以不要道歉。] - Arkaaito
1个回答

1

您可能想要开始能够在特定范围内生成随机数。最简单的情况是生成在最小值和最大值之间均匀分布的随机数。随着游戏的进行,您可以改变最小值和最大值,使其随着玩家的属性增加而增加。

您可以像这样实现:

NSUInteger BoundedUniformRandomNumber( NSUInteger min, NSUInteger max)
{
    NSUInteger range = max - min;
    u_int32_t randomNumber = (u_int32_t)min + arc4random_uniform((u_int32_t)range);
    return (NSUInteger)randomNumber;
}

请注意,arc4random_uniform来自于stdlib,因此请包含#import <stdlib.h>。此外,arc4random_uniform是半开放的,这意味着它将返回最小值,但永远不会返回最大值。因此,在上述函数中生成的最大值实际上是max - 1
希望这能让你开始工作。

哇,谢谢你的好回答!我一定会尝试开始做这个!我也想做多个类别,比如慢敌人、坦克、强壮等等,这样我就可以相应地生成数字并在游戏越来越高级时添加价值!非常感谢你,亲切的先生! - RaphBlanchet
正如你所说,你正在使用Cocos2d,Ray Wenderlich的教程可能会有所帮助,特别是:http://www.raywenderlich.com/25736/how-to-make-a-simple-iphone-game-with-cocos2d-2-x-tutorial - JRG-Developer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接