# Tank-War **Repository Path**: a211637/Tank-War ## Basic Information - **Project Name**: Tank-War - **Description**: 个人制作的坦克大战,由PyGame实现。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-09-16 - **Last Updated**: 2023-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 坦克大PK ## 本项目作为课程学习的结课项目,分为两个版本 - 单机和联机 ### `TankWar`目录下为单机版本,已经有初步的结构了,但没有玩法。 ### `TankWar-Online`目录下为联机版本,具体运行方式见运行须知。 单机版代码量一千行左右。联机版代码量1400行。 #### 项目完全由`Python`和`PyGame`实现,有许多特殊的场景和技能。 ![概览图](./image/%E6%A6%82%E8%A7%88%E5%9B%BE.png) #### 目前项目完成度处于比较初级的阶段,仅够学习练习用,距离成品还有不小的差距。 ### 运行须知 1. 运行联机版,必须首先运行Server.exe,即服务器端。 2. 联机的所有玩家必须得在同一个局域网。 3. 网络通信,尽可能地优化了,但仍然存在部分延迟的问题。 4. 地图是在随机种子为1234的基础上,进行随机生成的,如果要更改地图,需要更改源代码。 5. 随机场景的生成由最先连接服务器的客户端生成的,并将生成信息发送给其他客户端,如果网络延迟,可能出现不可预知的BUG。 6. 输入信息只要按下按键就行,输入完成之后主键盘区域的‘回车键’确认。 7. 如果有选项,‘w’键和‘s’键用于选择,‘回车键’确认,‘ESC’返回。(创建完服务器之后无法返回,只能关闭重新打开设置) 8. 服务端需要首先设置用于游戏的IP地址和端口,设置完成之后会有Load和Start两个选项,选中之后按‘回车键’会向所有连接的客户端发送指令,Load是发送加载游戏数据的指令,Start是发送开始游戏的指令,Start得在Load之后才会生效。