当前位置:首页 > 郑州手机维修 > 正文内容

手机编写网游《疯狂的炸弹》

shanfeng6个月前 (11-04)郑州手机维修102

  手机编写网游之《疯狂的炸弹》

  (2019-12-03)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心

  开发平台:Java平台

  PC上程序的服务器端开发,对安全性和响应时间等要求都比较苛刻,要求数据传输处理快、存储安全,响应时间短。不过手机程序的网络传输速度相对PC要慢不少,所以手机网游的服务器端要求相对较低不高,开发也更容易。在一般的服务器端程序中,服务器端程序主要包含数据存储、程序逻辑控制和网络编程等部分,数据存储和程序逻辑控制结合的比较紧密,可以统称为数据处理。为了方便网络数据的传输和整个程序的维护,程序的服务器端最好跟客户端的开发语言一致。

  服务器端数据处理设计思路:

  当客户端第一次连接服务器端时,服务器端分配一个唯一的用户ID给客户端,在客户端获得该用户ID以后,每隔一定时间向服务器端查询,看服务器端是否有匹配的用户可以进行对战。如果没有则向客户端反馈继续等待的指令,如果有匹配的用户则为这两个客户端分配房间ID,并生成地图数据信息,开始游戏对战。进入游戏界面以后每隔一定时间获得一次地图数据,当用户移动角色时向服务器端发送移动指令,服务器端根据客户端的移动请求进行逻辑处理并对应的修改地图数据。

  当客户端连接到服务器端时,服务器端进行逻辑处理,分配一个唯一的用户ID给客户端。在获得房间ID时实现的思路和用户ID实现一样,而对于游戏界面的地图数据,包括各个地图块的数据和玩家位置、方向等信息,则使用Java中一个自定义类进行代表,每个房间的数据就是该类的一个对象。

  在《疯狂的炸弹》游戏中,要处理的数据主要有三种:用户ID分配逻辑、玩家分配逻辑和玩家移动控制逻辑。用户ID分配逻辑是为玩家分配唯一的编号,比较简单;玩家分配逻辑是将处于等待状态的两个客户端分配到一个房间,并初始化游戏数据的逻辑;玩家移动控制逻辑是判断玩家是否可以实现移动,并修正移动以后的游戏数据,比较复杂。

  玩家移动控制逻辑的原理如下所示:在游戏界面中,依次存储每个单元格中显示的图片序号,玩家也按照行号和列号来存储位置,整个界面是一个11行10列的区域,所以在移动是按照单元格判断移动即可。在移动时,先判断当前用户ID是对战玩家中的用户1还是用户2,然后判断以后的单元格是否超出地图区域,如果没有超出地图区域则按照移动方向,修改玩家的行号和列号。

  第一步:创建项目

  启动Eclipse,选择“File→New→Java Project”,设置项目名称为“BomberServer”,并一路选择“Next”, 完成项目的建立。然后新建一个入口类,选择“File→New→Class”,设置名称为“Server”,点击“Finish”。

  第二步:创建游戏数据类

  选择“File→New→Class”,设置名称为“GameData”,点击“Finish”完成游戏数据类的创建。然后输入该类的代码,其中关键码如下所示/* 界面相关数据 */

  /** 盒子层地图数据 */

  byte[][] boxMap = new byte[ROWS][COLS];

  /** 树木层地图数据 */

  byte[][] treeMap = new byte[ROWS][COLS];

  /** 房子层地图数据 */

  byte[][] houseMap = new byte[ROWS][COLS];

  /** 草丛层地图数据 */

  byte[][] brushwoodMap = new byte[ROWS][COLS];

  /** 炸弹层地图数据 */

  byte[][] bombMap = new byte[ROWS][COLS];

  第三步:数据处理

  选择“File→New→Class”,设置名称为“LogicEngine”,点击“Finish”完成数据处理类的创建,该类包含所有游戏数据和数据处理的代码,关键码如下所示 if(userID == userID1){ //用户1

  c = playerC1;

  r = playerR1;

  playerDire1 = dire; //改变人物方向

  }else{ //用户2

  c = playerC2;

  r = playerR2;

  playerDire2 = dire; //改变人物方向

  }

  //边界检测

  if(isInMap(c,r,dire)){

  switch(dire){ //根据方向移动

  case DIRE_UP:

  r--;

  break;

  case DIRE_DOWN:

  r++;

  break;

  case DIRE_LEFT:

  c--;

  break;

  case DIRE_RIGHT:

  c++;

  break;

  }

  //移动到的单元格无内容

  if(isSpace(userID,r,c)){

  movePlayer(userID,dire);

  }else{ //不能移动

  //推箱子的情形

  pushBox(userID,c,r,dire);

  第四步:运行程序

  在Eclipse主界面左侧的“Package Explorer”中,选中项目源代码Server.java,单击鼠标右键,选择“Run As→Java Application”即可运行程序。

  河南郑州科技市场IT产品配送网----------DIY游戏电脑、办公电脑联系电话:17739760690(同微信)


扫描二维码推送至手机访问。

版权声明:本文由http://www.qqdiannao.com发布,如需转载请注明出处。

本文链接:http://www.qqdiannao.com/?id=579

分享给朋友:

“手机编写网游《疯狂的炸弹》” 的相关文章

液晶钢琴烤漆到底是怎么回事?

 液晶钢琴烤漆到底是怎么回事?  (2019-10-25)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  下边有请在郑州科技市场工作过多年的老鸟给大家讲讲!  也不知道啥时候流行的这么个说法,销售们都爱指着那亮铮铮的机箱面板,说:看这机箱多漂亮,钢琴烤漆,我为此专门去查过一下,其实网上早在0...

诺基亚6120c测评

诺基亚6120c怎么样?  (2019-11-27)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  知识重点:诺基亚6120c怎么样诺基亚6120c的屏幕虽然只有2.0英寸,但在这样娇小的机身中,却搭载了一块具有1670万色的QVGA屏幕。暂且不提这款屏幕的大小,单说屏幕品质,倘若有些常识的...

诺基亚N73功能特点

  用诺基亚N73的一点知识  (2019-11-27)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  网络频率 GSM 850/900/1800/1900Mhz,支持 GPRS/EDGE  可选颜色 银灰/绛紫,霜白/金属红,霜白/咖啡棕  尺寸/体积/重量 110×49×19mm  体积...

索尼爱立信W715评测

   索尼爱立信W715手机怎么样  (2019-11-27)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  河南科技市场网  音乐是纯粹的,就像原来的Walkman手机;音乐也可以不纯粹,就像现在的Walkman手机。加入了更多元素的音乐你喜不喜欢?加入了更多功能的Walkman手机好还是...

手机电池管理 Power Guard详解

 智能手机电池管理 Power Guard  (2019-12-03)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  由于使用锂离子电池的原因,现在很多人都做到了随时用随时充电,没有了那种镍镉、镍氢电池时代用完才充电的习惯了。不过,尽管电池厂商宣称锂离子电池不存在记忆效应,但是长期没有把电池...

HTC C730双键盘手机评测

 双键盘随意玩 HTC C730郑州仅980元  (2019-12-03)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  推荐商家:郑州瑞琪数码多普达智能手机专卖  产品型号:HTC C730  产品售价:990元  店面地址:郑州市数码港A-206-2  联 系 人:吴先生  HTC C7...