我的战舰功能讲解_等级分如下:
功能讲解:等级分
有一些游戏类型需要离线随机匹配其他玩家的数据进行对战。为了匹配到的对手实力相当,系统底层提供了等级分功能的支持,等级分在围棋、象棋等比赛中都有应用,简单的原理是每个玩家都有一个等级分代表战斗水平,当两个玩家战斗结束后,胜利的玩家等级分提升,失败的玩家减少响应的等级分。高分玩家对低分玩家获胜时等级分变化少,失败时等级分变化多。在多次战斗后的等级分能比较客观的反映一个玩家的实际水平。
首先打开地图编辑器,从下方的“地图类”零件中拖出一个“分机逻辑方块”
点击“加入房间”事件添加一个方法,添加如下测试用代码,首先生成两个按钮,然后生成一个玩家存档
begincodeV1;
name:方法1;
1:UIButton A=fun ui.button(Vector3 0.2,0.2,0:Vector3 150,100,0:Color 255,255,255,255:String 搜索敌人:Float 50:Float 4);
2:UIButton B=fun ui.button(Vector3 0.2,0.3,0:Vector3 100,100,0:Color 255,255,255,255:String 胜利:Float 50:Float 4);
3:=varf UIButton.A.clickCB0(String 点击A);
4:=varf UIButton.B.clickCB0(String 点击B);
5:Dict 存档=fun map.load();
6:String N=fun create.string(String 测试数据);
7:=varf Dict.存档.insert(String 战斗数据:var N);
8:=fun map.save();
endcode
添加对应的“自定义方法”:“点击A”,拖动“地图/等级分/搜索等级分接近的敌人”,每个玩家初始等级分是100,这个方法可以搜索和自己等级分差距小于等于参数范围的其他玩家
再添加一个点击B方法,拖动“地图/等级分/上传等级分变化”,这里是当玩家搜索到匹配对手,和对方战斗后获得胜利调用的方法,失败则参数填“假”,这个方法调用后,系统会自动改变战斗双方的等级分
begincodeV1;
name:点击B;
1:=fun map.changeELO(Bool 1);
endcode
在“搜索到匹配敌人存档”事件中添加测试方法:
并打开右上角“调试信息”开关
由于等级分的功能是作用在多个玩家之间的,必须在发布的测试游戏中测试,我们回到工程目录界面,点击上方的“游戏设置”,“入口地图”选择刚才编辑的地图,名称填写任意内容
然后点击“上传并测试游戏”
这里随意选择一个空项目覆盖,进入测试后,先点击“搜索敌人”,再点击“胜利”,这样就生成了第一个可以被其他玩家搜索到的等级分数据。
回到主界面,点击自己的头像打开主页,点击复制自己的ID
你可以将ID发送给其他人让他们帮助测试,或者你可以再注册个小号进行测试。在主界面右侧的“关注列表”功能中,可以输入刚才复制的ID进行关注
关注后,就可以打开作者的主页并点击“测试版游戏"参与内测了
切记一定要用不同的玩家进入测试,这样才能匹配到之前的玩家数据
以上就是我的战舰功能讲解_等级分相关内容。