
标题: 三国策略游戏之算法篇 [打印本页]
作者:
陈珺 时间: 2004-11-26 18:28
序言
长期以来,游戏的算法问题一直困扰着广大程序员和玩家,即使是一些经典之作也不例外。在本文中主要讨论三国策略游戏简单的算法问题,至于复杂的算法问题还希望大家在以后的实践中摸索。
算法是函数解析式的集合。
由于电脑对一些数学符号的输入不支持或不方便,为了更方便的写本文,特整理了本文所用到的数学符号:
A^B A的B次方
A^(1/ A的B次方根
log A B 以A为底,B的对数
A/B 分数
关于三国策略游戏的一些常用变量:
wl 武力
zl 智力
zz 政治
ml 魅力
ts 统率
ww 威望
yl 义理
tl 体力
作者:
青木风亮 时间: 2004-11-26 18:38
S^B(A) A的B次方根
这个可以写成A^(1/B)
作者:
陈珺 时间: 2004-11-27 16:52
第一节 变量命名和公式表示
一.变量命名
如果所有变量都用中文表示,那么一定很麻烦.由于研究算法的需要,需要用一套符号来代替它.
<一>名词命名
名词的命名通常为该变量的汉语拼音首字母组合.
注意:仅是在通常情况下,有些特殊情况有所不同
以下归纳了要用到的符号:
j-武将
wj-我方武将
dj-敌方武将
ny-农业值
sy-商业值
<二>动词命名
通常用该变量的英文单词的缩写来命名.对于不懂的英文单词可以暂时用中文代替.
以下归纳了要用到的符号:
att 攻击
def 防御
add +
sub -
mul *
div /
<三>下标
当遇到一个动作有多种实现方式的时侯就需要用到下标.比如要表示我方对敌方的攻击值,攻击值有很多方面,有火攻的攻击值,水攻的攻击值,等等
下标用[]表示,比如:wjgj[hg],wjgj[sg],下标通常用汉语拼音首字母表示
二.公式表示
1.符号
cin 输入
cout 输出
2.表示法:cin(),cout()
例:cout(wfgj[j])=cin(wjwl)/cin(djwl)*cin(wjbl)就代表:
我方武将攻击=我方武将武力/敌方武将武力*我方武将兵力
思考以下式子的意义)
1. cout(wjgj)=cin(wjwl)/cin(djwl)*cin(wjbl)
2. cout(djsubtl)=cin(wjwl)/cin(djwl)*cin(djtl)
3. cout(wjtl)=cin(wjtl)-cin(wjsubtl)
作者:
幽浪 时间: 2004-11-27 17:18
我建议你直接用中文得了。
例:
攻击效果=有效攻击-有效防御
至于程序实现,由程序员搞定。
象上文弄得,伪代码不象伪代码。
难过。
作者:
陈珺 时间: 2004-11-27 17:27
原帖由幽浪于2004-11-27, 17:18:03发表
我建议你直接用中文得了。
例:
攻击效果=有效攻击-有效防御
至于程序实现,由程序员搞定。
象上文弄得,伪代码不象伪代码。
难过。
搞这些符号,只是为了方便打字,如果用中文打字,我还不得累死.
作者:
幽浪 时间: 2004-11-27 17:46
到开发的时候,接过雷锋枪的同志会累死。
作者:
金圭子 时间: 2005-1-4 14:25
这个后来呢??
作者:
kingofworl 时间: 2005-1-4 14:34
先顶一下,期待接下来的
作者:
血→霸图 时间: 2005-1-7 15:23
。。。 真是。。。复杂。。
欢迎光临 轩辕春秋文化论坛 (http://www.xycq.org.cn/forum/) |
Powered by Discuz! 5.0.0 |