# battle-city
**Repository Path**: firfe/battle-city
## Basic Information
- **Project Name**: battle-city
- **Description**: 基于 React 的经典坦克大战 原项目 https://github.com/feichao93/battle-city 我的复刻 https://github.com/Firfr/battle-city
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-10-03
- **Last Updated**: 2025-10-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 坦克大战复刻版(Battle City Remake)
游戏地址: https://shinima.github.io/battle-city
游戏详细介绍见知乎专栏文章: [https://zhuanlan.zhihu.com/p/35551654](https://zhuanlan.zhihu.com/p/35551654)
[GitHub仓库地址](https://github.com/feichao93/battle-city/)
该 GitHub 仓库的版本是经典坦克大战的复刻版本,基于原版素材,使用 React 将各类素材封装为对应的组件。素材使用 SVG 进行渲染以展现游戏的像素风,可以先调整浏览器缩放再进行游戏,1080P 屏幕下使用 200% 缩放为最佳。此游戏使用网页前端技术进行开发,主要使用 React 进行页面展现,使用 Immutable.js 作为数据结构工具库,使用 redux 管理游戏状态,以及使用 redux-saga/little-saga 处理复杂的游戏逻辑。
如果游戏过程中发现任何 BUG 的话,欢迎提 [issue](https://github.com/shinima/battle-city/issues/new)。
## 部署说明
首先感谢原作者的开源。[原项目地址](https://github.com/feichao93/battle-city)
有需要帮忙部署这个项目的朋友,一杯奶茶,即可程远程帮你部署,需要可联系。
微信号 `E-0_0-`
闲鱼搜索用户 `明月人间`
或者邮箱 `firfe163@163.com`
如果这个项目有帮到你。欢迎start。
有其他的项目的汉化需求,欢迎提issue。或其他方式联系通知。
### 镜像
从阿里云或华为云镜像仓库拉取镜像,注意填写镜像标签,镜像仓库中没有`latest`标签
容器内部端口 3000
```bash
swr.cn-north-4.myhuaweicloud.com/firfe/battle-city:2025.05.08
```
### docker run 命令部署
```bash
docker run -d \
--name battle-city \
--network bridge \
--restart always \
--log-opt max-size=1m \
--log-opt max-file=3 \
-p 3000:3000 \
swr.cn-north-4.myhuaweicloud.com/firfe/battle-city:2025.05.08
```
### compose 文件部署 👍推荐
```yaml
#version: '3.9'
services:
battle-city:
container_name: battle-city
image: swr.cn-north-4.myhuaweicloud.com/firfe/battle-city:2025.05.08
network_mode: bridge
restart: always
logging:
options:
max-size: 1m
max-file: '3'
ports:
- 3000:3000
```
## 修改说明
增加修改部分具体见 [修改说明](./修改说明.md)。
`./README.md` 增加 `## 部署说明`、`## 修改说明`、`## 效果截图` 部分。
增加目录 `./图片`
新增文件 `./.dockerignore`、`./Dockerfile`、`./修改说明.md`、`./本地调试命令记录.md`
## 效果截图
## 开发进度:
Milestone 0.2(已完成于 2018-04-16)
- [x] 游戏的基本框架
- [x] 单人模式
- [x] 展览页面
- [x] 关卡编辑器与自定义关卡管理
Milestone 0.3(已完成于 2018-11-03)
- [x] 性能优化
- [x] 完整的游戏音效(有一些小瑕疵)
- [x] 双人模式(已完成)
**Milestone 1.0(看起来遥遥无期 /(ㄒ o ㄒ)/~~)**
- [ ] 更合理的电脑玩家
- [ ] 完整的设计、开发文档
- [ ] 基于 websocket 的多人游戏模式
## 本地开发
1. 克隆该项目到本地
2. 运行 `yarn install` 来安装依赖 (或者使用 `npm install`)
3. 运行 `yarn start` 开启 webpack-dev-server,并在浏览器中打开 `localhost:8080`
4. 运行 `yarn build` 来打包生产版本,打包输出在 `dist/` 文件夹下
`devConfig.js` 包含了一些开发用的配置项,注意修改该文件中的配置之后需要重启 webpack-dev-server