Heath's Blog

There is no end, it is just the beginning! - A Game Developer's Notes

战斗数值模拟器

    花了一周时间为策划做了个考察战斗数值平衡的工具。做工具有个好处就是不用受限于别人的工作,自我发挥程度最大,开发效率也就高很多啦。主要设计思想如下图:
   玩家属性和怪物属性根据EXCEL自动产生,可动态修改数值。其核心是逻辑脚本的设计,逻辑脚本建立在Lua之上,支持Lua所有的语法特性和函数库,变量支持直接使用属性名字(呵呵,有点吹了哈,其实就是玩文字替换游戏,加入了自己的一些语法)。第一版只支持单一PK,这当然不能模拟真实场景下的战斗情况,只是个基础,后续功能继续开发。。。
    实现脚本语法着色的时候,在CodeGuru上找到了一位同学写的SyntaxColorize,经过改造之后成功支持Lua,然由于中文的存在且没有使用Unicode,导致Release版下Paste和Load出现着色异常,以前对_T("XXX")和TCHAR不以为然,现在恐怕要重视起来啦。 
    做Timer的时候,突然想到一种不用if-else的更简单实现:
void CCombatTimer::Forward()
{
    m_uMSec 
+= m_uStep;
    m_uSec  
+= m_uMSec / 1000;
    m_uMSec  
= m_uMSec % 1000;
    m_uMin  
+= m_uSec / 60;
    m_uSec   
= m_uSec % 60;
    m_uHour 
+= m_uMin / 60;
    m_uMin   
= m_uMin % 60;
    m_uHour  
= m_uHour % 24;
}

posted on 2009-06-24 20:25 Heath 阅读(1457) 评论(0)  编辑 收藏 引用 所属分类: Game Development


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理