PCgame 版 (精华区)

发信人: ghost (正在奋发中,wait), 信区: mud
标  题: 2
发信站: 听涛站 (Wed Jun 21 17:37:02 2000), 转信

  第一部份有说到character的结构, 但实际做起来确稍为复杂了些 real-time
的精髓在於人物都能有自己的意志和个性而动作 我们这一部份将讨论这个:

    对一个人物而言, 他不管他的想法是什麽, 他一次也一定只能作一件事 而仅
管一次只能有一件事件进行, 可是人物的意志绝对不能用一串命令来构成 这段话
的意思是说, 我们在设定游戏时绝对不可以让人物去执行一连串没有判断的命令 
就是说我们要对每个动做都加以判断後才执行 要达成我所说的想法, 人物必定要
有两个指标: 一个指向人物的执行命令, 而一个指向人物的思考叙述 

    所以我们在char的结构再加进这些:
    char * command;
    MOB_CTRL * current;

    char * command是人物目前须要去执行的命令 在第二部份提到game_loop处理
时, 每个单位时间要检查人物是否有命令要做, 若无则跳过 MOB_CTRL是人物的思
考程式叙述 我们可以加入许多判断 
struct mob_ctrl {
           MOB_CTRL * next ;
           char * desc;
                }
desc是一串判断式和命令集...例如:

    if char_say=="你好吗?"
    do_command say "你好"

    如上例... 我们先判断如果有人对这个人物说:"你好吗?", 人物就把say "你好
"这个字串送到command里...甚至我们可以判断如果人物上一个动作为完成时是否要
中断!! 当然这可以是再慢慢考虑的部份

--
我是沧海一小龙
游到东来游到西
找寻未知的东西
只求逍遥在人间
                         

※ 来源:.听涛站 cces.net.[FROM: 匿名天使的家]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:0.800毫秒