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

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

shanfeng1年前 (2024-11-04)郑州手机维修337

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

  (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

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

最酷网络资源汇集

  最酷网络资源汇集  河南科技市场网软件资讯(2018年12月13日)如转载本站内容请注明出处  最牛、最酷、最热、最具震撼力的网络资源是什么?我们全力打造的全新资源榜单栏目“牛榜”将告诉你答案,让你一榜知网络!  一、搞笑配音:《夜店》配音 时长:3分47秒 推荐指数:3  简介:阿牛前端时间看...

手机当电脑摄像头的方法

    手机当摄像头用的注意事项  (2019-11-27)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  朋友使用的是多普达P800智能手机,因为原来的笔记本电脑没有摄像头,想要使用QQ进行视频聊天的话非常麻烦。还好PPC智能手机可以使用WebCamera Plus这款软件,将手机变成一个...

夏普6230C太阳能手机测评

 太阳能无限动力手机 夏普6230C仅卖2888  (2019-12-03)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  产品型号:夏普6230C  QQ电脑网报价:2888元  推荐商家:夏普专卖  商家地址:东风路百脑汇二楼2C14  夏普SH6230C拥有“SOLAR HYBRID”...

itoos T69HDB到货评测

 高清MP4 itoos T69HDB到货评测  (2020-01-26)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  先看一下itoos T69HDB参数及报价:  4.3英寸1600万色TFT,分辨率480x272、4GB闪存,支持TF扩展卡、华芯飞cc1600方案,支持720p视频...

​iToos T68HD测评

   iToos高清播放器T68HD到货测评  (2020-01-26)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心  4.3英寸、800×480分辨率LTPS显示屏  支持720P 10MBPS码率高清视频  支持TV-OUT色差分量输出  支持车载射频功能  支持立体声外放  支持Mic...

网络信号与手机续航的关系

网络信号与手机续航的关系?(2020-02-27)河南郑州科技市场IT产品配送网-郑州电脑手机测评中心1、受运营商基站覆盖范围的限制,以及建筑楼宇等环境的遮挡,任何一种网络都存在信号不稳的情况。系统为了确保手机信号的稳定,在这种情况下会自动切换至信号更好的数据网络模式。简而言之,手机在自动搜索强弱信...