你一定要过得好,不然对不起我的不打扰。虽然我有一万个想见你的理由,但唯独少了一个见你的身份,不是我们不够好,只是时间不凑巧。
感谢你们,那无数个陪伴我熬夜的灿烂星空!
[2016年5月23日]
数据,状态,动作,事件
上层:StateMachine
1. 界面 (setData, getData)
2. 主体A的Action: (setData, getData)
3. 主体B的Action: (setData, getData)
下层:
Data(树形管理,路径作为id) , 如: NotifyData
ChangedEvt
当客户端接受到服务器push来的新关卡:XYZ123时,
数据库中增加记录, 同时在Notify树中,把newStage的数量+1. (Action1)
ChangedEvt广播发出,界面更新(显示有几个新关卡)
玩家进入最新关卡界面,打开一个新关卡,把newStage的数量-1. (Action2)
ChangedEvt广播发出,界面更新(显示有几个新关卡)
NotifyDataTree:
|----newStage
|----count (1+1=2)
[2016年5月25日]
关卡界面分为三种:
1. Play
2. Edit
3. Hint
Play (SplitLayer, SplitMab)
Edit (EditLayer, EditMab)
Hint (SplitLayer, SplitMab)
关卡布局数据库
字段包括:
_id uid name vers src dst blks time src_area dst_area src_w src_h dst_w dst_h src_g dst_g src_edge dst_edge blk_num
src_blank dst_blank src_corner dst_corner fence limit src_fc dst_fc
[2016年5月26日]
1. 关卡的背景图
2. 关卡选择界面的设计
3. 主界面的背景设计
4. 关卡的字符串表达,通过json传递关卡信息。
5. 玩家创建关卡,点赞,收藏,评论。
6. parsermap只取boundingrect范围解析
昨晚把关卡的远程数据库读写打通了。这样我就可以在手机上编辑关卡,保存到服务器,再从服务器读关卡编辑或运行。
今天要做的就是关卡列表了,或者说也是关卡选择器。把数据库的关卡表(shape)按照某个查询条件传回本地,然后显示关卡列表,在列表里选择关卡编辑,或查看某一个关卡的详细信息。
[2016年5月27日]
关卡数据表示
blks:["001001", "00101112","0010011213"] //matrix
src:{
"blks":["00","23","33"], //origin
"size":{"w":4, "h":3},
"limit":{
"pear":["11","20","23"],
"orange":["23","33","34"]
}
}
dst:{
"blks":["00","23","33"], //origin
"size":{"w":4, "h":3},
"fence":{
"wall":["340","231","330","431"],
"stone":["11","20","23"],
}
ShapeList表示:
"shapes":[
{"blks":["00","11"],"src":{"blks":["20","01"]},"dst":{"blks":["00","11"]}},
{"blks":["00","11"],"src":{"blks":["20","01"]},"dst":{"blks":["00","11"]}}
]
[2016年5月31日]
关卡设计备忘
长变宽,宽变长,锯齿变平滑。
分离伸展变聚合,窟窿被填充。
劈分有限制,填充有障碍。
方块拼接要不同。
[shape特征]:
width, height
area (目标会与源不同)
hole (blank)
inside corner
wall capacity (一共可以添加多少个wall,用来计算wall选择的空间量,可以反应出劈分难度)
wall (提示答案中添加的wall数)
girth
feature code
[stage描述]:
1. 所有srcShape和dstShape的描述
2. block的类型(featurecode)和数量
Block, srcShape, dstShape都可以使用g2Shape计算特征。
Block是简单的形状,srcShape和dstShape是复合的形状。
应该让有特点的图形作为被劈分的源图形,玩家会有新鲜感,兴奋。
劈分的方块数应尽量控制在3个以内,如果超过3三个,可以增加提示以降低难度。提示包括:
1. 目标图形提示方块形状。
2. 源图形使用“形影不离”道具,源图形采取分离式布局,提供更多信息给用户。
墙的数目应该控制在7个以内.
源图形的形状采取仿生设计: 字母型,动物型, 数字型,楼房,家具 ...
目标图形尽量对称,规则,与源图形差异显著,与源图形相映对仗...