这一次灰谷会手把手带领大家制作自己的迷你模拟器。
我们不去制作过于复杂的东西,所以我们假定一个比较简单的问题模型,然后对它进行模拟。
你可以自己搞一个不一样的但是形式相似的问题,然后做出与我最终成型代码不同的产品出来。
布林的世界:布林达斯
有一个迷你世界,叫做Blingdas。
在Blingdas世界中,有一个小机器人,叫做Bling。它要与一个邪恶的怪兽Kaiju作战!
我们要模拟Bling对Kaiju造成的DPS,给出暴击、力量两个属性的权值,让Bling能够更有效地武装自己,击败邪恶的大怪兽。
图:机器人大战怪兽的剧情,想一想是不是还有一点小激动呢!
Bling最多可以存储100点能量。
Bling使用一个强力技能进行攻击:SMACKTHAT.EXE(中译“打脸。EXE”)。很强力对不对!
这个技能能够造成238点机械伤害。另外,Bling的每点力量属性,都能让这个技能造成的伤害提高1点!
这个技能没有冷却,有1.5秒的公共冷却,消耗30点能量。
Bling使用一个更强力的技能回复能量:BSoD(“蓝屏”)。
这个技能有6秒冷却,1.5秒的公共冷却,回复50点能量。
怪兽Kaiju非常耐打,它受到的所有机械伤害都降低30%。
但是怪兽Kaiju害怕电击,它受到的所有电击伤害都提高30%。
似乎Bling只会造成机械伤害,所以所有伤害都降低了30%?我们还是设定“机械伤害降低30%”吧,如果Bling学会了造成其他类型伤害的新技能就不需要大幅改动了。
第一个C++工程
你手头有没有C++编译器和IDE呢?如果没有的话,你可以现在安装一份,然后跟上我的进度。
不要害怕,编程根本不是什么非常难的东西。即使你没有任何编程经验,你也可以做出来的。
即使有不明白的地方,百度一下,肯定能够找到详细的解释。
IDE你可以理解为“编辑器”,其实和记事本是相同的作用。而编译器则负责把你所写的代码处理成.exe可执行文件。
Code::Blocks是一个开源的IDE,能够连接多种不同的编译器。开源也就意味着免费使用,单凭这一点对大家而言微软的Visual Studio就非常没有竞争力了。
下载链接:[http://www.codeblocks.org/downloads/26]
下载“codeblocks-12.11mingw-setup.exe”,它还顺便附带了一份GCC编译器,这样你就不需要额外去下载、安装、连接编译器了。GCC也是开源的。
打开Code::Blocks,然后选择菜单项 File(文件) - New(新建) - Project...(工程),新建一个空工程。
填写工程名并选择保存目录后,最后一步直接点“Finish(完成)”,不需要更改。
图:新建一个Empty Project(空工程)。
在Code::Blocks中,新建文件也是一样的顺序。现在你有一个空工程,你可以选择菜单项 File - New - File...,来新建第一个文件。
C/C++ Header是头文件,C/C++ Source是源文件。我们第一个文件是源文件,选择“C/C++ Source”。
第一步问你选择C语言还是C++语言,我们选择C++;第二步让你选择文件保存位置,选择后按一下“All”,然后按一下“Finish”,文件就建成了。
图:建好第一个源文件后界面的样子。
然后我们就可以输入程序代码,想要调试时,点击左上角的齿轮+三角图标就可以编译并执行。
习俗约定
在给东西取名的时候,你经常能看到我起一些这样的名字。
这里是其中一些的含义解释,是给其他程序员看的,如果你不会编程那么你只需大概扫一眼就可以了:
“ptr”:指针(pointer)的缩写。
“val”:值(value)的缩写。
“ref”:引用(reference)的缩写。
后缀“_t”:类型(type)的缩写,一般用于自定义类型或者类的名字。
其他常用的后缀包括
“_e”——枚举(enum)
“_a”——数组(array)
“_m”——矩阵(matrix)
“_i”——索引(index)