示例工程(1)-地摊大哼
作品地址
http://www.66rpg.com/game/1541088
玩法设计
初始剧情后,先选择【1】主角性别,然后【2】给小摊起名字。
进入【3】大地图,从5个地点里选择一个进入【4】商品买卖,每个地点的商品类型和价格都随机,其中原产地价格低,需求点价格高。
买卖完成后点击右上角菜单按钮进入【5】菜单,菜单中有“关系”和“下一周”,点击“关系”可到【6】投资人查看,投资人查看里可选择【7】投资人抽卡;点击“下一周”进入【8】结算界面。
在结算界面会判断金钱是否到达剧情要求,若到达则进入木夕剧情,之后回到【3】大地图;若没到达要求直接到【3】大地图。
界面详解
1、选择男女
1)常量表设计
无,不需要常量表
2)传入参数
无
3)传出参数
[数值]男or女
4)scene逻辑思想
① UI中将男女两张整图都放上去,并默认显示男,不显示女
② UI在左上角放两个按钮并绑定事件【切换男女】,切换时更换男女两张整图的显示状态,并更改传出参数 [数值]男or女
③ 【选TA】绑定事件关闭scene
*注:具体怎么实现的看工程
2、小摊起名
1)常量表设计
2个,分别为名称前半截和名称后半截,只需要name这一个属性
2)传入参数
[数值]男or女
3)传出参数
[字符串]小摊名称 = 前半截实例.name + 后半截实例.name
4)scene逻辑思想
① 根据传入参数 [数值]男or女 展示左上角男女图标
② 将常量库的前半截名称和后半截名称分别放入两个数组
③ 用这两个数组分别生成两个单选泳道
④ 用这两个单选泳道传出的索引找出选择的前半截实例和后半截实例
⑤ 如果前半截实例和后半截实例都不为空,则去掉名称遮挡,显示出按钮【我觉得不错】
[字符串]小摊名称 = 前半截实例.name + 后半截实例.name
⑥ 【我觉得不错】绑定事件关闭scene
*注:具体怎么实现的看工程
3、大地图选点
1)常量表设计
大地图地点,需有以下属性
name:名称
int1:当前是否在这里
2)传入参数
[数值]男or女
[数值]金钱
[数组]地图点(作品开始初始化等于常量库地点,以后都用数组)
3)传出参数
[数组]地图点
[数值]本回合初始化商品价格的flag
4)scene逻辑思想
① 用实例分别等于[数组]地图点的各个地点
② 将 [实例]地点 和 [数值]男or女 传入橱窗,实例的int1判断橱窗的样式,如果在此地点,用男or女判断应该显示的人物图。注:同时写在“绘制后的一次性处理”和“参数变化时的处理”
③ 生成以上橱窗共5个
④ 点击一个橱窗,将所有地点实例的int1的变成0,点击的那一个的int1变为1。同时更改[数组]地图点的对应int1。传出参数[数值]本回合初始化商品价格的flag = 1。呼叫商品买卖界面
⑤ 金钱橱窗展示金钱
⑥ 右上角下拉按钮呼叫菜单界面
4、商品买卖
① 显示当前地点
② 点了呼叫菜单
③ 随机本地商品及其价格
④ 点击购买选择购买几个
⑤ 可选购买1个、10个、所有钱购买、取消购买
⑥ 购买后放进“我的仓库”,扣除金钱并刷新金钱橱窗,更新仓库储存空间
⑦ 点【卖了】,该项商品全部卖完,增加金钱并刷新金钱橱窗
1)常量表设计
商品,需要以下属性
2)传入参数
[数组]地点
[数组]我的库存
[数组]商品
[数组]本地点商品
[数值]金钱
[数值]最大库存
[数值]本回合初始化商品价格的flag
3)传出参数
[数组]我的库存
[数组]商品
[数组]本地点商品
[数值]金钱
[数值]最大库存
[数值]本回合初始化商品价格的flag
4)scene逻辑思想
① 从[数组]地点 找到当前在什么地点,找出左上角的地点名称
② 从[数组]我的库存找出当前库存是多少
③ 若[数值]本回合初始化商品价格的flag==1,开始本回合商品初始化。
商品初始化:从总商品库中随机挑选出15个商品,在最低价~最高价中间随机一个价格,如果所在地点是原产地,价格减去(最高价-最低价)/3,若低于了最低价则等于最低价。若所在地点是暴击地点,价格加上(最高价-最低价)/3,若高于了最高价则等于最高价。查找库存中的商品,若本地商品也有,调到最前面。
初始化完成后,[数值]本回合初始化商品价格的flag=0
④ 本地商品的橱窗:若库存中有这个商品,且本地商品的价格高于库存购买的平均价格,当前价格显示红色,若低于库存购买的平均价格,当前价格显示绿色。按钮【买它】
⑤ 我的库存的橱窗:展示的是购入均价。按钮【卖了】
⑥ 用以上橱窗分别生成本地商品 和 我的库存 两个单选泳道
⑦ 点击本地商品泳道【买它】,弹出选择购买数量,点击购买数量后判断金钱是否足够,如果不够则显示“金钱不足”,如果金钱足够再判断剩余库存是否足够,如果不够显示“库存不足”。如果都足够进入商品购买。
商品购买:先查找库存中是否有同一个商品(id判断),如果没有,加在[数组]我的库存最后一个。如果有相同的,先算出以前的总金额,加上这次购买的总金额,再除以总数得到价格平均数。给[数组]我的库存的对应商品的数量+买的个数。金钱扣除后刷新,库存刷新。
⑧ 点击我的库存泳道【卖了】,若此商品在本地没有,则显示“这个商品没有市场”,若有,则按本地商品当前价格卖出此类的全部商品,刷新金钱,刷新库存。
⑨ 点击【扩充最大库存】判断金钱是否足够,弹窗显示金额和确认取消按钮。确认时判断金钱是否足够,最多扩2次。
⑩ 点右上角到菜单界面
5、菜单
1)常量表设计
无
2)传入参数
[数值]第几回合
[数值]金钱
[数值]从哪个界面来
[数组]地点
3)传出参数
无
4)scene逻辑思想
① 把信息显示在左上角,并条件分歧金钱数生成称号和星级
② 随机一个Tips
③ 点击右上角,条件分歧从哪来呼叫啥scene
④ 点击【出摊】,若地点数组里没有int1=1的,则呼叫【大地图】,若有直接呼叫【商品买卖】
③ 点击【下一周】到结算界面
6、投资人查看
1)常量表设计
总裁表
2)传入参数
[数值]金钱
[数组]关系
3)传出参数
[数值]金钱
[数组]关系
4)scene逻辑思想
① 关系橱窗根据当前好感度生成关系称号
② 将[数组]关系过滤一遍,把关系为0的过滤掉
③ 用关系橱窗生成单选泳道
④ 点击【获得新关系】判断金钱是否足够,足够就扣除金钱呼叫【关系抽卡】,不足显示“金钱不足”
⑤ 点击右上角呼叫【菜单】
7、投资人抽卡
① 抽卡前有个指引
② 小人剪影从右往左循环滚动到停止
③ 显示抽出来的人
④ 显示名字、性别、好感、好感称号
1)常量表设计
总裁表,见上面的
2)传入参数
[数组]关系
3)传出参数
[数组]关系
4)scene逻辑思想
① 两张图做循环滚动
② 随机滚动10~20格,算出最后停在谁的位置
③ 停下后将抽到的人展示出来,并更新好感
④ 更新关系数组
8、结算
1)常量表设计
总裁表,见上面的
2)传入参数
[数值]金钱
[数值]回合数
[数组]关系
[数值]剧情进度
3)传出参数
[数值]金钱
[数值]回合数
[数值]本回合初始化商品价格的flag
4)scene逻辑思想
① 查找整个关系表,算出总加盟费
② 每个好感不为0的总裁,都从6句顺口溜中随机一条,与总裁名字和加盟费组合成展示文字,并放在橱窗里用泳道展示。
③ 点【朕知道了】[数值]金钱+总加盟费,[数值]回合数+1,[数值]本回合初始化商品价格的flag=1,判断金钱数量与剧情进度,如果到达下一段剧情开启条件,则呼叫剧情,否则到【大地图】。