# Robot-battle-platform
**Repository Path**: Roland665/robot-battle-platform
## Basic Information
- **Project Name**: Robot-battle-platform
- **Description**: null~~~~~~
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-02-07
- **Last Updated**: 2025-02-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 服务器通信规范
## 服务器消息下发
表 1 消息JSON包参数
| 参数名 | 类型 | 必填 | 说明 |
| :---------: | :----: | :--: | :----------------------------------------------------------: |
| messageType | string | 是 | 表示消息的类型,
"0":错误反馈,"1":游戏开始,"2":时间到导致游戏结束,"3":机器人出界导致游戏结束,
"4":转发对手消息,"5":发送排名信息,"6":机器人被击毁导致游戏结束 |
| payload | object | 否 | 若messageType=="4",则此项必填,此项作为对手消息负载;
若messageType=="5",则此项必填,此项作为排行榜内容; |
表 2 messageType=="5" 时的 payload
| 参数名 | 类型 | 必填 | 说明 |
| :---------: | :-------------: | :--: | :--------------------: |
| rankingList | array(对象数组) | 是 | 存放所有用户的积分信息 |
表 3 rankingList 元素内容
| 参数名 | 类型 | 必填 | 说明 |
| :-------: | :----: | :--: | :------------: |
| username | string | 是 | 用户注册的名字 |
| rank | string | 是 | 排名名次 |
| integaral | number | 是 | 对应的积分 |
```json
{
"messageType":"0"
}
{
"messageType":"4",
"payload":{
"skill":"1"//索敌
}
}
// 服务器结算广播排行榜信息
{
"messageType":"5",
"payload":{
"rankingList ":[
{
"username":"roland",
"rank":"1",
"integaral":23.4
},
{
"username":"steve",
"rank":"2",
"integaral":12.34
}
]
}
}
```
## 应用端消息上报
表 1 消息JSON包参数
| 参数名 | 类型 | 必填 | 说明 |
| :---------: | :----: | :--: | :----------------------------------------------------------: |
| carName | string | 是 | 小车名字,也就是核心模块的蓝牙名 |
| messageType | string | 是 | 表示消息的类型,
"0":错误反馈,"1":玩家准备信号,"2":玩家释放技能,"3":游戏结算积分上报,"4":自身被击毁 |
| payload | object | 否 | 若messageType=="2",则此项必填,此项作为通知对手自身使用的技能
若messageType=="3",则此项必填,此项作为上报的积分信息 |
| username | string | 是 | 用户注册的名字 |
表 2 messageType=="3" 时的 payload
| 参数名 | 类型 | 必填 | 说明 |
| :-------: | :----: | :--: | :----------: |
| integaral | number | 是 | 计算后的积分 |
```json
{
"carName":"Ranld",
"messageType":"1",
"username":"xxx"
}
{
"carName":"Ranld",
"messageType":"2",
"payload":{
"skill":"1"
},
"username":"xxx"
}
// APP收到服务器游戏结束的广播后,计算积分并上报给服务器
{
"carName":"Ranld",
"messageType":"3",
"payload":{
"integaral":12.3
},
"username":"roland"
}
```