# tankProject **Repository Path**: maksdu/tank-project ## Basic Information - **Project Name**: tankProject - **Description**: 坦克大战, 重构版本,有效代码再newtank包里 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-08 - **Last Updated**: 2022-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TankWar * #### 坦克大战项目概述 坦克大战是我们码客山威团队为了学习java基础而准备进行的实践操作应用项目,它本身复杂的逻辑,多维的优化方案,适用于初学者一步步从基础到开发。首先,这里面会涉及到初步的游戏架构设计,网络编程策略,地图绘制,人物模型构建等以java研究为基础的方案设计,其次为了发散我们的编程思维,我们也会把一般游戏引擎里包含的各类特效算法在本项目中慢慢展开。 * #### 目前项目包含几个基本模块: 1. core-核心模块:主要负责游戏启动的资源调配核心处理 2. entity-实体模块:主要负责坦克,子弹等具有实际意义的对象构造 3. map-地图模块: 主要负责游戏地图的相关定义与设计 4. graphics-绘图模块: 预置一些绘图计算的相关类与方法 5. server-服务端模块: 主要负责网络数据传输,采用NIO无阻塞流传递网络通信数据,构造GPCRequest请求类负责通信数据的封装与传递。 其中包含: ChannelHandler类:数据通道处理类 ConnectionServer类:连接器类,作为服务端的启动入口 GpcBaseService类:GpcRequest数据的处理接口 GpcRequst: 消息封装类,用于客户端与数据段的通信 GpcRequestProcessor: 消息读取类,用客户端向服务端发送数据时,处理接收的数据,将其转换为对应的GpcRequest类进行封装 GpcService: 数据处理的实现接口 6. client-客户端模块:主要负责用户端的界面操作响应(目前还没涉及) 7. excepiton-异常模块: 应对非常规操作的一些错误响应处理 8. view-视图模块:负责构建基本模型的视图,如TankView,BulletView 9. tool-工具模块:提供日常使用的工具类,如:系统配置参数读取