请选择 进入手机版 | 继续访问电脑版

创四方·大部落

 找回密码
 立即注册
搜索
查看: 523|回复: 16

[游戏开发] 15网工-第三周任务分配

[复制链接]

3

主题

4

帖子

36

积分

新手上路

Rank: 1

积分
36
发表于 2018-9-11 18:09:48 | 显示全部楼层 |阅读模式
本帖最后由 caiyanlong 于 2018-9-18 11:13 编辑

第三周任务分配

服务端组:①陆镭,②宋剑南,③蔡其发)
任务:本周内必须完成所有的通信协议的制定(这是首要问题,服务端与客户端的具体开发工作,都依赖于这个协议的制定),进而完成最基本的登录注册的接口。

客户端组:①林晨阳,②罗丽霞,③陈名声,④林家辉)
任务:对一些技术上的关键点进行研究,罗列出项目中具有哪些关键技术点,并且解决一部分。(列如,数据传输.....)

设计组:①黄彩虹,②王益雄,③陈枝春)
任务:本周内要给出整个游戏项目的原型框架设计。(先以简要的图纸形式画出(电脑软件画图工具),整体的游戏操作运行框架,按钮位置、文字位置、输入框、游戏运行等)

测试组:①李凯斌,②黄南杰)
任务:本周内要确定代码整体的命名格式规范。(列如,文件夹命名、JS文件命名、代码编写规范等)




本周六23:00前编写好本周的“任务周报”,以回复的形式发到本贴下方,可以加入图片代码等,做为成绩评定。)
(开头加上,列如:服务端组,①陆镭,任务周报:........

--------若有问题,请联系15网工项目管理组。 合作快乐^_^! --------


======================================================================================================
本周各小组任务完成情况
测试组本周任务完成情况:
李凯彬组:已完成具体命名规范
黄南杰组:已完成具体命名规范
经讨论,最终选取李凯彬组成果

服务端本周任务完成情况:
陆镭组:完成具体通信过程
宋剑南:完成任务
蔡其发:完成任务

客户端组本周任务完成情况:
林晨阳组 :内容详细,考虑多方面,游戏初始界面,匹配界面,结束界面:还做了流程设计,匹配所需计算方法。
林家辉组:很好的解释了游戏规则,以及代码如何实现
罗丽霞组:分四方面完成任务
陈名声:内容略少,考录不周到
经讨论,最终选取林晨阳组成果

设计组本周任务完成情况:
陈枝春组:已完成整个游戏项目的原型框架设计
王益雄组:已完成整个游戏项目的原型框架设计
黄彩虹组:已完成整个游戏项目的原型框架设计
经投票,最终选取王益雄组成果

请各小组认真看下面4个置顶的项目,这些是经过讨论投票选取的结果,请大家认真对待,思考里面的不足,有问题可以反馈给项目管理组。

回复

使用道具 举报

0

主题

1

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 4 天前 | 显示全部楼层
客户端组 ①林晨阳 任务周报:
游戏的过程:游戏初始界面->游戏匹配界面->匹配获取服务端玩家ID,向服务端申请房间ID->进入游戏主界面->将游戏规则实现出来->判定游戏结果显示获胜方,将结果信息发送给服务端,选择“再次游戏进入游戏界面”和“返回进入匹配界面”。
游戏初始界面
       涉及到注册页面和登录页面:
    注册页面:提交按钮返回登录界面按钮 username 和password repassword输入框
       1.需要用户输入username 和password数据并提交服务器(数据是否需要过滤数据库特殊字符,数据长度,数据允许的类型)
       2.提交之后服务器返回注册情况,是否注册成功,注册失败的具体原因
    登录页面:登录按钮 进入注册界面按钮username 和password输入框
       3.需要用户输入username 和password数据并提交服务器(同样涉及到是否需要进行特殊字符的过滤用以防范数据库注入攻击以及是否添加验证码用以防范暴力破解)
     4.提交之后服务器返回登录情况,是否登录成功,登录失败的具体原因
5.主界面接受服务端传过来的房间号room,还有用户名username,还有本地时间time,
游戏匹配界面
游戏匹配界面、匹配获取服务端玩家ID,向服务端申请房间ID
进入匹配界面:
界面显示:用户名、当前时间、退出匹配按钮。
1、保存玩家自己的用户名username,当前进入时间t1,
匹配过程:
1、向服务器端发送username以及当时的时间t1、房间ID
2、服务器端处理的数据有:玩家的用户名username、服务器端接收到客户端发出的信息的时间ts、房间ID
3、客户端接收的数据有:服务器端接收到客户端发出的信息的时间ts、当前时间t1、收到服务器处理的数据的时间t2、房间ID
4、利用公式计算出匹配完成后可以进行游戏的时间。
匹配完成页面:
匹配页面显示:房间号ID、玩家用户名username、对方玩家的用户名username、开始游戏按钮。
游戏流程设计:
    游戏开始阶段 需要由红方向黑方发送一个32个数字的数组。
  涉及到的问题首先就是棋子的摆放问题。象棋暗棋是按照固定位置随机摆放棋子,棋子应该用何种问题初始化并保存。
  设想:(x,y,xid,pos)用来存放一枚棋子,x,y用来镖师棋子的位置的横纵坐标,最左上位置(0,0),xid表示棋子具体是哪一枚,范围从1到32,1-16是红方,17-32是黑方,数值越小官职越大。pos为1或者0,1表示棋子是正面,0表示棋子是反面,0为初始值。
  棋子布局时由先手方(红方)将存有1-32的数组利用随机数配合出圈算法生成新的随机数组,发送到后手方(黑方)作为开局棋盘布局。
  红方按照从上到下从左到右在对应位置生成32枚棋子,并依次在xid位置填入生成的数组。
  这里就涉及到第二个问题,红色方与黑色方的主视角需要完全颠倒才符合真实对战的视角。
  所以黑色方在按照上到下从左到右在对应位置生成32枚棋子之后,需要将数组反向填入xid。
    行动阶段 需要由行动玩家向另一个玩家发送一个(x,y)来表示翻开棋子 或 发送(x,y,newx,newy)来表示移动一枚棋子
翻开棋子需要将这个位置的棋子pos更改为1
移动棋子需要判断xid是否是属于自己可以操作的范围,pos是否为1,x,y的变化是否合理。目标位置是否有目标,目标是否翻开,目标是否是友方,目标是否可以击杀。符合规则的移动才进行传输。
由于双方棋盘完全相反,所以黑方发送和接收数据的时候需要对(x,y)的值进行变换,x =8-x y=9-y,再进行传输。
游戏结束界面
1.根据两位玩家的分数score判定哪位获胜(用客户端自己的js代码来判定),将结果发送给服务端,再返回游戏结束界面显示获胜那方。
2.在游戏结束界面的下方再加上“再次游戏进入游戏界面”和“返回进入匹配界面”两个按钮。
3.再次游戏进入游戏界面:如果两位玩家想要再深一轮地比赛,就点击“再次游戏进入游戏界面”按钮,此时需要从服务器端查出两位玩家的身份信息,把username、id、房间号、头像等发送到游戏主界面上。
4.返回进入匹配界面:如果两位玩家不想再深一轮地比赛,就点击“返回进入匹配界面”按钮,此时回到了游戏匹配界面,就需要重新输入自己的身份信息给服务器端。
附上
1.、游戏结束传递游戏状态gamestate(0,1){0表示败1表示胜}到服务器,最后,玩家是否在玩一次,若在玩一次发送gamestate(2){2表示在玩一次}到服务器。否则,返回主菜单。
2、匹配时:那就是显示正在匹配显示匹配时间,显示玩家,当前时间,当过去2分钟,没有回应,自动退出到首页
3. 用户匹配有四种情况:
①.一个人进入游戏,里面什么都没有,这个人就处于等待状态。
②个人等待了好久,然后又进入游戏发现里面有几组在玩了,还是没人跟他匹配,继续处于等待状态。
③有一个玩家进入游戏,处于等待状态,这时开始判定,前面一个玩家如果也是等待则开始游戏,如果前一个玩家放弃等待则,这个玩家替换之前的玩家位置开始等待。
④家进入游戏发现有人等待直接开始游戏。
4. 时间差
应为由于先来的问题,之前一个和之后一个人会产生时间差,(这个代码还是没弄清楚怎么写。)
公式 :设前一个时间为 T1 后一个时间为T2 ,T1与T2的中间时间大概为Ts。Ty表示后面的用户进入时间,Tx表示前一个用户进去时间。
Ty=[((t1-t2)/2+t1)-ts]+Tx

回复

使用道具 举报

0

主题

1

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 4 天前 | 显示全部楼层
[size=17.1429px]设计组2成员:黄盛鑫   本组任务周报。
[size=17.1429px]根据客户端所需要的功能设计了注册登录界面、注册且注册成功界面、游戏界面和游戏结束界面。功能原型图如下。 此为本组所做的原型图资源链接:https://gitee.com/woshihsx/this_project_has_no_name





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 4 天前 | 显示全部楼层
本帖最后由 xyc1019 于 2018-9-15 20:12 编辑

测试组:①李凯斌 任务周报:确定代码整体的命名格式规范

1.所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
反例: _name / __name / $Object / name_ / name$ / Object$

2.类名采用帕斯卡命名法,但以下情形例外:(领域模型的相关命名)DO / DTO / VO / DAO等。
正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例:macroPolo / UserDo /XMLService / TCPUDPDeal / TAPromotion

3.方法名、参数名、成员变量、局部变量都统一使用小驼峰拼写法。
正例:localValue / getHttpMessage() / inputUserId

4.常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚不要嫌名字长。
正例:MAX_STOCK_COUNT 反例:MAX_COUNT

5.抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾。

6.POJO类中的任何布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。
反例:定义为基本数据类型boolean isSuccess;的属性,它的方法也是isSuccess(),RPC框架在反向解析的时候,“以为”对应的属性名称是success,导致属性获取不到,进而抛出异常。

7.包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。

PS:
①:小驼峰拼写法:lowerCamelCase(CamelCase的一部分)是一种命名惯例,它的名字是由多个和在一起的词组合成的一个单词且它们的每个词(除了第一个词以外)的第一个字母大写。

②:帕斯卡形式:单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstName、LastName。每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式大小写的子集。
回复

使用道具 举报

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 3 天前 | 显示全部楼层
服务端①陆镭
以下用以S表示Server,C表示Client
总体格式:
    {"s":状态,"d":具体数据对象}
  解释:
d: 代表data。是具体返回的数据。
具体通信过程,c2s均采用post方式传递参数
1、用户注册regist
        c2s:
name = 用户名。
                password = 密码。
                appellation = 称谓。
                time = 当点时间戳。
        s2c:
                d = {"usersid": "用户ID","name": "用户名",  "password": "密码",  "appellation":"称谓", "time": "当前时间戳"”}
2、用户登录login
        c2s:
                name = 用户名。
                password = 密码。
        s2c:
                d = {"usersid": "用户ID","name": "用户名",  "password": "密码"}
3、用户对战匹配
        c2s:
                usersid = 用户ID。
        s2c:
                d = {"usersid": "用户ID", "time": "当前时间戳"}
4、棋盘坐标coordinates
        c2s:
                x = 横坐标。
                y = 纵坐标。
        s2c:
                d = {"x":横坐标位置, "y": 纵坐标位置}
5、用户A下棋
        c2s:
                usersid
                time
                spc:象棋起始坐标
                epc:象棋终点坐标
        s2c:
                d = {"usersid":"用户ID", "time": "当前时间戳", "spc":"象棋起始坐标", "epc": "象棋终点坐标"}
6、游戏数据
        c2s:
                usersid = 用户ID。
                name = 用户名。
                time = 当前时间戳。
                countdown = 倒计时。
        s2c:
                d = {"usersid":"用户ID", "time": "当前时间戳", "name":"用户名", " countdown ": "倒计时"}
7、用户A认输
        c2s:
                usersid = 用户ID。
                time = 当前时间戳。
                resign = 认输。
        s2c:
                d = {"usersid":"用户ID", "time": "当前时间戳", "resign":"认输"}
8、用户A求和
        c2s:
                usersid = 用户ID。
                time = 当前时间戳。
                peace = 求和。
        s2c:
                d = {"usersid":"用户ID", "time": "当前时间戳", "peace":"求和"}
9、用户A拒绝求和
        c2s:
                usersid = 用户ID。
                time = 当前时间戳。
                Nopeace = 拒绝求和。
        s2c:
                d = {"usersid":"用户ID", "time": "当前时间戳", "Nopeace":"拒绝求和"}
10、游戏结束
        c2s:
                usersid = 用户ID。
                time = 当前时间戳。
                gameover = 游戏结束。
        s2c:
                d = {"usersid":"用户ID", "time": "当前时间戳", " gameover ":"游戏结束"}
11、查看用户战绩record
        c2s:
                usersid = 用户ID。
        s2c:
                d = {"usersid": "用户ID","total":"总对战局数"," victory": "胜利的局数",  "failure": "失败的局数"}
回复

使用道具 举报

3

主题

4

帖子

36

积分

新手上路

Rank: 1

积分
36
 楼主| 发表于 7 天前 | 显示全部楼层
本帖最后由 caiyanlong 于 2018-9-12 19:53 编辑

每个项目组内的小组可以自行协调商量,选择适合自己小组的部分,也可以小组独立制作,但最后要完成本周项目组的任务。最终成绩以每个小组完成量而定。
回复

使用道具 举报

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 4 天前 | 显示全部楼层
设计组:①黄彩虹组任务周报。
根据客户端组的功能需求设计了登录、注册、匹配、游戏中、游戏结束的大致UI设计原型。如下图链接:https://pan.baidu.com/s/19hIV0fIEhJKE1QceE6aPvw 密码:8h94

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 4 天前 | 显示全部楼层
客户端组 ④林家辉 任务周报:
一开始是登陆界面,在这个界面上,有登陆,注册,忘记密码三个功能按钮,界面上还有用户名和密码的输入栏。
首先是注册,点击注册按钮,发送数据到服务器,然后跳转到注册界面,在这个界面上有注册功能按钮,用户名,密码,邮箱(用于修改密码)的输入栏,
输入这些数据后,点击注册按钮,将用户名密码邮箱等数据发送给服务器,等服务器响应,若注册成功,则显示注册成功,失败则显示用户名已存在或者存在非法字符。
然后是登陆,输入用户名和密码后,点击登陆按钮,会将用户名密码发给服务器,验证后,若正确,则跳转到游戏初始界面,若用户名错误,就会显示用户名或密码错误,
若用户名正确,密码错误,则显示密码错误。
最后是忘记密码,点击这个按钮,发送数据到服务器,响应后,进入忘记密码界面,输入自己的用户名和注册时候使用的邮箱,发送用户名邮箱给服务器,响应验证成功后即可修改密码,输入新的密码,然后将新的密码和之前的用户名数据发送给服务器,显示修改密码成功。

成功进入游戏初始界面后,界面上角落显示自己的用户名,界面有匹配功能和查看个人信息,点击个人信息,会发送一个请求到服务器,响应后进入个人信息界面,个人信息中可以查看自己的胜局。而点击匹配按钮,发送匹配数据到服务器,响应后进入匹配界面开始寻找对手,然后显示寻找用时,每过1s都会发送数据到服务器,服务器开始找到对手用户名后,向服务器端申请房间ID,进入游戏主界面。

进入游戏主界面后,首先先显示游戏规则,双方准备后发送准备数据到服务器然后开始游戏,开始游戏是会发送数据到服务器在棋盘上随机生成棋局,棋盘上棋子位置是随机生成的,生成的数据发送给服务器,在游戏时产生计时器,记录每一场游戏的时间以及每走一步会有倒计时,游戏期间会不停发送时间数据给服务器,还会显示得分,每吃一颗棋子就会加分,会发生吃掉棋子的数据给服务器,响应修改分数,游戏期间,每走一步,都会产生移动数据发送到服务器,经过一段时间,最终服务器将判定某方棋子全部被吃掉,或者认输,判定为游戏结束,发送结束数据到服务器,响应后出现失败或者胜利,进入游戏结束画面。

在游戏结束时,出现计分板界面,显示玩家胜局、等级以及这一局所耗时间信息,然后可以选择三个功能按钮,一个是继续游戏,就是不匹配继续与上一局玩家进行游戏,点击按钮后,产生继续游戏数据发送给服务器,响应后继续游戏,一个是重新匹配,点击后产生数据发送给匹配数据到服务器,响应后再次进入匹配界面,还有一个是回到游戏初始界面,点击该按钮,会回到游戏初始界面

在游戏主界面会显示双方出手顺序,设为A与B,服务器随机设A或B先出手,游戏开始是所有棋子都是隐藏的,若A先手,随机翻一个棋子,会发送翻的棋数据以及翻的棋子的颜色发送给服务器,服务器判定A的棋子颜色以及无法再翻同一个位置。当A出手时,会产生一个数据发送给服务器,然后会开始倒计时,若超时则会产生超时数据发给服务器,然后服务器响应后会直接跳到B ,轮到B出手,以此类推。




回复

使用道具 举报

0

主题

1

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 4 天前 | 显示全部楼层
测试组, ②黄南杰,任务周报:
对测试内容进行统一规范,写成文档,便于查看,规范内容如下:
1.对各类命名的规范;
2.对代码和其他的规范



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

1

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 4 天前 | 显示全部楼层
客户端组  ②罗丽霞  任务周报:
游戏过程:游戏初始界面(登录注册界面)->游戏主菜单界面->游戏匹配界面(客户端发送请求信息,服务器端分配房间ID和对手信息)->进入游戏界面(双方分配棋子的位置)->根据游戏规则实现游戏->判定游戏结果界面(服务器根据客户端传递的棋子个数判断游戏结果)->选择“再次游戏”、“匹配界面”或返回游戏主菜单。
游戏初始界面
       游戏初始界面应设计登录注册界面,注册界面将用户填写的注册信息发送给服务器端验证是否可以注册,服务器返回注册成功信息或错误信息,客户端接受信息显示。登录注册页面的用户数据参数传递及保存,验证登记注册信息的真实性登录界面向服务器发送数据验证,客户端接受反馈信息并显示。(这部分可以参考老师的自定义cocos通信模块)
       游戏主菜单页面应该获取用户登录的信息,根据需求可以显示出来。游戏主菜单界面应该存在几个可以点击的事件,根据不同的点击跳转到不同界面。
游戏匹配界面
       在游戏主菜单点击开始游戏之后需要跳转到匹配界面,在匹配界面客户端需要向服务器发送用户信息和用户的时间。服务器接受到客户端的对战请求,开始匹配对手,在一段时间后,服务器向客户端发送信息(这些信息应该包含对手信息,生成房间的ID或者匹配不到对手信息),客户端对接收的信息处理若匹配不到对手返回游戏主菜单界面,匹配到根据时间计算出进入游戏的时间并提示用户。匹配界面的时间段应该合理,客户端也不应该等候的时间过长,需要及时的销毁过期的匹配信息。
游戏界面
      游戏界面,客户端应该向服务器端发送获取棋盘的初始化信息、先后手的信息,初始化棋盘的棋子位置,开始时,客户端生成一个计时器,客户端间隔一段时间想服务器发送移动数据,若是时间到了未移动,则服务器自动随机移动。棋子的移动时客户端将移动的信息发送给服务器,服务器根据移动另一方的棋子,保证两方的游戏一致,若两方的棋子相碰时,判断棋子大小是否能被吃。在消灭棋子后需要向服务器发送请求,更新服务器中的棋子的个数和位置。服务器在游戏过程中需要判断双方棋子的个数和情况,用于判断游戏的胜负,胜负的情况下发送客户端用于结束界面的跳转。
      规则在实现过程的问题:如何先后手对两方的协调,游戏是使双方的棋子位置一样。如何判断玩家已经翻开一个棋子或者移动一个的行为,棋子移动过程如何判断是否合理。
      在开始游戏,每个棋子都有个一个坐标,用于客户端的移动及传送给服务器端,还应该描述棋子状态(暗棋还是明棋,红方还是黑方),赋予每个棋子一个值用于判断两个棋子相碰时的是否被吃。客户端应该实时收集剩余棋子的数量,随每次计时结束移动信息发送给服务器,用于计算胜负。
游戏结束界面
      判断游戏结果,设计两个界面,一个为失败界面,另一个为胜利界面,若是在游戏过程中另一方玩家投降或将对方棋子逼入绝境,则判定玩家胜利,若是玩家无棋可以被吃或移动,则判定失败。
两个界面都应该有再来一局,重新匹配,返回菜单的按钮。再来一局客户端应该发送请求,服务器根据双方的信息直接开始游戏。重新匹配,则客户端将自己的身份发送给客户端,服务器再次进行匹配,匹配成功再次开始游戏。返回菜单点击之后直接返回游戏主菜单界面。

回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 4 天前 | 显示全部楼层
客户端 ③陈名声 任务周报
游戏初始页面:"注册":新用户需先注册,点击"注册"跳转到注册界面,用户输入用户名和密码(确认密码),点击"提交",将注册信息存入服务器,服务器对信息进行验证,若验证通过则提示"注册成功"并返回游戏初始页面;若验证失败则提示"用户名已存在"或"存在非法字符"。"登录":用户输入用户名与密码,点击"登录"将数据发送到服务器,服务器进行验证,若验证通过则进入主菜单界面,若验证失败则提示"用户不存在"或"密码错误"。“修改密码”:输入账号、原始密码和新密码,将信息存入服务器,服务器对原密码进行验证,原密码正确提示“密码修改成功”,原密码错误提示“密码错误无法修改”。

主菜单页面:"个人资料":获取服务器端玩家(id)数据,服务器端根据id存储每个玩家的个人信息(头像/昵称/局数/胜率等)。"游戏设置":(音量/音效等)。"开始匹配":发送数据到服务器端,显示匹配时间,每隔一秒向服务器端发送请求,若两人(如A和B)同时发送请求数据,则向服务器申请临时对战房间(id),匹配成功显示玩家信息,提示游戏规则。

游戏主界面:双方准备,发送准备数据到服务器后开始游戏。客户端向服务器端发送请求,初始化棋盘并随机生成棋盘上各个棋子位置,发送给服务器端。随机一方先手,当玩家移动棋子,客户端获取棋子更改数据,发送给服务器端,服务器端根据客户端数据计算变化后结果,并将数据发送至客户端,客户端接收同时控制棋子的变化(翻棋/移动/吃子)。在客户端显示下棋玩家读秒倒计时(A玩家回合时间十秒,但三秒就做好决定,则需要关闭读秒)。当玩家认输/无棋子可操作(求和),此时服务器端判断游戏的胜负(合棋),将对局信息存档,客户端跳转到游戏结束的界面,显示本局游戏的胜负信息和总胜负场次统计。该页面还可选择继续游戏/返回/重新匹配,继续游戏,向服务器发送请求,当服务器接收到双方请求时初始化棋盘进行新的对局。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-9-19 13:29

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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