作者laechan (小太保)
看板mud_sanc
标题[wizs] 农场目前写好的部份
时间Thu Jan 7 14:33:05 2010
最近有点懒散,停工了两天。
贴一下部份的程式码出来,大家有意见都可提出,我会做为
修改的参考。另外有点子亦可提出。
// 暂时定义区
// 以後均会移到 xxx.h
#define MIN_FARM_NUMBER 6
#define MAX_FARM_NUMBER 10
目前农田总数最少是六块,最多先控制在十块田。这是最初
的设定,以後会改为 1~10,或 1~XX。
#define MAX_SKILL_VALUE 900
这是指 heavry 这个技能的上限值。
// farm_data=(["apply_times":申请时间,
// "bag" :(["种子名称":数量,]),
// "farm1":([
// "level":农田等级,
// "now_grow":"目前种植的种子名称",
// "already_plow":已翻了多少程度的土(没这参数不能grow),
// "drought":缺水程度, 缺水会缓慢作物生长
// "weed":长草程度, 草会吃掉田的养份
// "manure":田地养份, 影响作物收成, 50~75 为最佳
// ]),
//
这是 farm_data 的部份。圣殿农场系统与开心农场的基本
差异,在於田地是有等级的。而田地本身的升级靠的就是不
断地种作物、翻土、施肥等。
高等级的田地当然就可以种高等级的作物。
bag 的部份目前没什麽好的想法,最简单解决的方法就是实
装虚拟物品系统,让玩家直接将虚拟种子带在身上即可,但
实装要时间,所以才先借用开心农场的 bag 概念。
但这个以後一定会变更。
drought、weed、manure 跟虫害是田地常见的四种问题,我
目前是将 drought 变成全域变数─所有田地的缺水状况一
致;虫害则是生出实体的虫(玩家可攻击,杀了有经验值),
所以实际上只有 weed 跟 manure 会各个田地的状况不同。
另外,不同的作物,其田地水量以及养份的控制也各不相同
,有些需要给予大量的水,有些需给予大量的养份。这个是
「隐藏设定」,需要各位自行发现。
农田指令说明:
farm 显示农地状况
plow [what] in [num] 进行第几号田的田地翻土
grow [what] in [num] 进行第几号田的作物栽种
weed [num] 进行第几号田的除草工作
watering [num] 进行第几号田的浇水工作
manure [num] 进行第几号田的施肥工作
collect [num] 进行第几号田的作物收成
list -bag 显示袋子里的种子资讯
list -storeroom 显示仓库里的屯放作物资讯
目前有考虑直接 grow 1 xxx 这样的指令语法,但是这样的
语法出 bug 的机率也颇高;另一种语法则是 grow xxx #1
这样的语法,它适合 zmud 的手动者,因为大部份情况均只
需更动後面的数字,例如..
grow rice #1
grow rice #2
grow rice #3
.
.
grow rice #10
这也适合写成 alias、适用 zmud 等。
翻土的部份...
一、一块田要种作物之前要先进行翻土。
二、翻土所需花费的时间,与 heavry 技能值有关。
三、heavry 初定可 learn from 玩家,并可直接被教到 900。
四、翻土会得到 heavry 技能熟练度,我考虑亦可同时得到经验值。
五、翻土时有时会挖到好东西。
作物资料部份,基本的 3x3 种作物已定好资料。
节庆作物的部份目前定了底下的东西...
端午节
zongzi 粽子 等级1
sweetzongzi 甜粽子 等级2
万圣节
pumpkin 南瓜 等级1
中秋节
mooncake 月饼 等级1
pummelo 柚子 等级2
所有的作物都是一季收成,成熟时间则基本上是等级越高的作物
成熟时间越久,然後收成的东西并没有分「数量」,而是依作物
的「完熟度」决定其价格,而影响完熟度的因素包括种植期间遇
到的草害、虫害、温度、水量、养份控制等,这个也是与开心农
场基本上的关键不同处。
(其中水量与温度为全域变数)
由上面也可以看出,基本上并不赞成「每块田地种植不同的作物
」,而比较倾向每块田地种植相同的作物。
另外,视情况,我可能也不会显示该作物「多久後会成熟」,但
是因为成熟时间是设定值,各位种过一次就会知道成熟时间是多
久。
以上是已经写好的部份。
LAechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.161.60
1F:推 justinj :...每次sd时农地的lv会重来吗? 01/07 15:43
2F:推 justinj :...alias可以这样设定吧..alias gl glow $* form... 01/07 15:49
3F:→ laechan :是可以,但我是考量重覆指令时的方便度,另外等级会留 01/07 15:55