创四方·大部落

 找回密码
 立即注册
搜索
查看: 102|回复: 2

[游戏开发] 15计科2班-服务端B组陈德铭组-作品帖

[复制链接]

1

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
发表于 2018-10-1 10:28:39 | 显示全部楼层 |阅读模式
15计科2班-服务端B组陈德铭组-作品帖
回复

使用道具 举报

1

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
 楼主| 发表于 2018-10-10 11:22:46 | 显示全部楼层
本帖最后由 chendeming 于 2018-10-10 11:26 编辑

登录:https://gitee.com/work15/cocos_game_development/blob/master/%E7%99%BB%E5%85%A5
注册:https://gitee.com/work15/cocos_g ... C%E4%BB%A3%E7%A0%81
回复

使用道具 举报

1

主题

7

帖子

49

积分

新手上路

Rank: 1

积分
49
 楼主| 发表于 6 天前 | 显示全部楼层
传输协议用http
客户端发出request,以post方式发出请求参数
服务器端返回response,以json格式返回数据
response的总体格式为:
        {state:状态,data:具体数据对象}
        state: 状态。0正常,1失败,2错误。
        data: 返回的具体数据。如果state=0,data的定义由以下各接口具体定义。如果state=1或2,data为具体失败或错误的提示信息。

1、获取服务端时间接口 getTime
该接口用于查询服务端时间,当客户端与服务端时间不匹配时,可利用该接口重新同步时间
request:无
response:
        服务端时间戳

2、注册接口 regist
该接口中包含了获取服务端时间,以便在注册操作中,顺带完成时间同步
request:
        name:用户名
        password:密码
response:
        {userId:用户id,time:服务端时间戳}

3、登录接口 login
该接口中包含了获取服务端时间,以便在登录操作中,顺带完成时间同步
request:
        name:用户名
        password:密码
response:
        {userId:用户id,time:服务端时间戳}

4、查询用户信息接口 getUserInfo
该接口用于查询用户信息。
request:
        userId:用户id
response:
        {userId:用户id,name:用户名,record:用户得分,nickname:用户昵称,password:用户密码}

5、匹配玩家接口 match
request:
        userId:用户id
response:
        未匹配成功  {gameId:0}
        gameId:为0代表匹配失败。
        匹配成功  {gameId:游戏id,player:{uid:用户id,name:用户名,……},firstPlayer:先手玩家的id,initData:游戏初始化数据,startTime:游戏开始的时间戳}
        gameId:一旦匹配成功,就要建立一个游戏,在数据库的game表中创建一条记录,用于存储这个游戏的相关数据,gameId即是game表中创建的记录的主键值。
        player:是匹配到的对手玩家的数据,该数据的格式应与getUserInfo接口中定义的格式相同。
        firstPlayer:先手的玩家的id,决定先手。
        initData:游戏初始化数据。        
        startTime:游戏开始的时间戳,该时间应为匹配成功后,一定时间段之后。

6、游戏操作接口 doOperate
request:
        gameId:游戏id
        userId:用户id
        turn:回合数
        operate:暗棋游戏中的用户操作主要为对棋子的坐标更改
response:
        {result:操作结果,gameInfo:{gameState:0,……}}
        result:0:操作成功,1:操作超时,1以上:其他错误,根据具体游戏进行定义
        gameInfo:与getGameInfo接口返回数据相同

7、匹配玩家 initDate
request:
uid:用户id
response:
匹配成功 {uid:对战用户ID, uname:对战用户昵称,time:当前时间戳}
ongame:为true表示匹配成功
匹配失败 {ongame:false}
        超时或无可匹配用户视为匹配失败

8、游戏局面数据 gameDate
request:
    gameId:游戏id
uid:当前用户的ID
operation:具体操作
coordinates:当前所操作棋子的坐标
response:
      游戏未结束{gameState:0,turn:当前的回合数,currentPlayer:当前可以操作的玩家id,timeLimit:当前操作的截止时间戳,lastOperate:最后一次操作的数据,gameData:游戏局面的数据,coordinates:{x:横坐标位置, y: 纵坐标位置} }
        coordinates: 棋子在棋盘上的坐标,返回横纵坐标轴数据。

9、C1/C2投降(求和)接口surrender
request:
                gameId:游戏id
                userId:用户id
                surrenderInfo:投降信息(0为投降。1为求和)
                time:当前时间戳
response:
                data:是否同意投降或求和?
                若双发都选是,则调用游戏结束接口,存在选否时,则继续游戏,调用游戏计时接口。投降成功时,投降方lose+1,被投降方win+1,求和成功时,双方win+1。

10、再次对战接口fightAgain
request:
                gameId:游戏id
                userId:用户id
                refight:{1:再次挑战}
response:
                data:是否再来一盘?
                若双方都选是,则调用游戏操作接口,若存在有选否时,调用游戏结束接口
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

创四方·大部落 ( 闽ICP备17018841号 )

GMT+8, 2018-10-23 08:34

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表