轩辕春秋文化论坛 » 设计与修改 » 三国策略游戏之算法篇


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 青木风亮
[quote]S^B(A) A的B次方根[/quote]

这个可以写成A^(1/B)

2004-11-27 16:52 陈珺
第一节 变量命名和公式表示
一.变量命名
如果所有变量都用中文表示,那么一定很麻烦.由于研究算法的需要,需要用一套符号来代替它.
<一>名词命名
[b]名词的命名通常为该变量的汉语拼音首字母组合.[/b]
注意:仅是在通常情况下,有些特殊情况有所不同
以下归纳了要用到的符号:
j-武将
wj-我方武将
dj-敌方武将
ny-农业值
sy-商业值
<二>动词命名
[b]通常用该变量的英文单词的缩写来命名.[/b]对于不懂的英文单词可以暂时用中文代替.
以下归纳了要用到的符号:
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 陈珺
[quote]原帖由[i]幽浪[/i]于2004-11-27, 17:18:03发表
我建议你直接用中文得了。
例:
攻击效果=有效攻击-有效防御

至于程序实现,由程序员搞定。
象上文弄得,伪代码不象伪代码。

难过。 [/quote]
搞这些符号,只是为了方便打字,如果用中文打字,我还不得累死.

2004-11-27 17:46 幽浪
到开发的时候,接过雷锋枪的同志会累死。

2005-1-4 14:25 金圭子
这个后来呢??

2005-1-4 14:34 kingofworl
先顶一下,期待接下来的

2005-1-7 15:23 血→霸图
。。。   真是。。。复杂。。

页: [1]
查看完整版本: 三国策略游戏之算法篇


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.