
用deepseekv4flash做的小游戏
🌐 局域网联机(最多 4 人) 建房 / 加入:主机创建房间(选主题),其他玩家输入 IP 加入,全员就绪后开局 主机权威同步:怪物/弹丸/掉落/玩家位置 20Hz 快照,伤害/拾取/撤离由主机裁决广播,客户端确定性重建同一地图 观战模式:主机或客户端撤离/阵亡后自动进入观战(V 键切换视角),房间保留等待全员结束后回房再战
🗺️ 3 张主题地图(程序化生成) 地图 Theme 怪物 难度 时限 幽暗森林 forest 僵尸、骷髅 普通 5 min 沙漠荒地 desert 木乃伊、骆驼 + 森林怪 困难 5 min 航天基地 space 狙击兵、突击兵、土匪、火箭兵 极难 8 min
👾 13 种怪物 + 4 个 BOSS 森林:僵尸(近战)、骷髅(远程) 沙漠:近战/远程木乃伊、骆驼(远程) 航天基地:狙击兵、突击兵、土匪(成群)、火箭兵 BOSS:BOSS 僵尸 / BOSS 骷髅 / BOSS 木乃伊 / BOSS 航天(各有专属 debuff,需 Lv5+ 装备挑战;航天基地 BOSS 镇守火箭发射台,击败可炸台夺宝或启用撤离)
⚔️ 战斗系统 近战:120° 扇形挥砍 + 击退;远程:弹丸穿透/爆炸变体;激光:陨星炮路径持续伤害 Debuff:灼烧 / 冰冻 / 中毒 / 眩晕——武器与 BOSS 均可施加,按装备等级缩放 怪物 AI:仇恨距离探测、追击、远程风筝、墙体碰撞
🎒 装备与成长 16 种武器:拳套、木/铁剑、石锤、短/长弓、火杖、手枪、步枪、狙击、激光枪、火箭筒等 头盔/护甲:皮革→铁→金→木乃伊→航天→神器,背包扩展容量 药水:治疗 / 加速 / 增伤 / 护盾;资源:木材、石材、矿石 锻造坊:装备升阶 + 神器合成;市场:买卖 + 神秘宝箱;仓库:局间存取
🏃 撤离玩法 找到撤离点读条 3 秒撤离,把本局战利品带出;死亡/超时则丢失全部装备(局内携带物 + 已装备物品)。
项目结构 monster-upgrade/ ├── main.py # 入口:arcade.Window + GameState(各 View 共享状态) ├── config.py # 全部数值常量(窗口/玩家/怪物/战斗/掉落/升级公式/宝箱) ├── requirements.txt # 依赖清单(arcade + websockets) ├── entities/ # 静态数据定义(武器/装备/怪物/资源/效果,数据驱动) ├── game/ # 核心逻辑(怪物AI/战斗/地图生成/掉落/撤离/刷新/渲染/输入) ├── views/ # UI 界面(start/map_select/lobby/game/warehouse/market/forge/backpack 等) ├── net/ # 局域网联机网络层(protocol/server/client/thread_bridge) ├── db/ # SQLite 持久化层(schema + CRUD) └── docs/ # 项目文档(联机模式矩阵等)
技术栈 Python 3.14 Arcade — 2D 游戏引擎(渲染、物理、输入) websockets — 局域网联机(异步 WebSocket 服务端/客户端,线程桥接不阻塞主循环) SQLite — 本地持久化(玩家/武器/装备/仓库/药水)
快速开始
克隆
git clone https://github.com/wrCBDjdhN/monster-upgrade.git cd monster-upgrade
安装依赖
pip install -r requirements.txt
运行(单机)
python main.py
局域网联机:主机选「局域网联机」建房 → 其他电脑输入主机 IP 加入
操作 按键 功能 WASD / 方向键 移动 鼠标 瞄准(远程武器) 鼠标左键 攻击 E 交互(宝箱/水井/发射台) V 观战模式切换视角(联机) TAB 打开/关闭背包 F11 全屏切换 游戏流程 开始界面 ├── 选择携带武器 ├── 仓库(存取战利品) ├── 市场(买卖、开宝箱) └── 锻造坊(升级/合成神器) │ ▼ 地图选择(或局域网建房) ├── 幽暗森林(普通) ├── 沙漠荒地(困难) └── 航天基地(极难) │ ▼ 战斗(倒计时) ├── 探索程序化地图 ├── 击杀怪物 → 收集掉落 ├── 开宝箱 / 采集资源 ├── 挑战 BOSS 获取稀有装备 └── 到达撤离点读条撤离 │ ▼ 撤离结算 ├── 战利品存入仓库 ├── 金币入库 └── 返回开始界面(联机:回房等待下一局)
架构 严格分层,数据流经 window.game_state(main.GameState)共享,禁止全局变量:
entities/ — 纯数据定义(武器/装备/怪物/资源模板),怪物数值/元数据集中管理 db/ — SQLite 持久化层 game/ — 核心逻辑(怪物/战斗/地图/掉落/撤离/刷新/渲染/输入) views/ — UI 界面(arcade.View 子类,可滚动面板复用) net/ — 联机网络层(主机权威快照 + 事件广播,线程桥接)