Git游戏

您现在的位置是:首页 > 网络游戏 > 网络放置

游戏详情

黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)

游戏介绍

这是一款类似《小黑屋》的生存模拟游戏。游戏包含采集、制作、建造、随机事件等内容。

注意:

1、游戏还在开发中。

2、注册需要真实邮箱,因为会发验证邮件,QQ邮箱好像收不到邮件。

同类游戏还有:《小黑屋》、《13层》、《未来科技》、《文明末日MMO》等。

游戏截图

黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)
黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)
黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)
黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)
黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)
黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)
黑暗洞穴,类小黑屋资源采集文字放置(A Dark Cave)

文章评论

共有7条评论来说两句吧...

1833152... 6天前
给大家一个脚本吧,也是聊胜于无,按F12打开开发者工具,在控制台输入我写的脚本,页面右侧会有自动化点击的开关,但是有个问题,因为tab的切换会导致页面的按钮发生变化,所以只能自动话点击当前场景的按钮。 (() => { // 防止重复注入 if (window.__darkCaveAutoClick) { console.log('自动点击脚本已在运行'); return; } window.__darkCaveAutoClick = true; // 全局状态 const state = { tasks: {}, // 存储每个按钮的任务状态 { [actionId]: { enabled, checkTimer, name } } panelContainer: null, updateTimer: null, observer: null, }; // ========== 1. 创建右侧控制面板 ========== function createPanel() { const panel = document.createElement('div'); panel.id = 'auto-click-control-panel'; panel.style.cssText = ` position: fixed; right: 0; top: 50%; transform: translateY(-50%); width: 175px; background: rgba(18, 18, 18, 0.96); border: 1px solid #2a2a2a; border-right: none; border-radius: 6px 0 0 6px; padding: 10px 12px; z-index: 99999; color: #cccccc; font-size: 12px; font-family: system-ui, -apple-system, sans-serif; box-shadow: -3px 0 12px rgba(0, 0, 0, 0.6); user-select: none; `; // 标题 const title = document.createElement('div'); title.textContent = '自动点击控制台'; title.style.cssText = ` font-weight: 600; margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid #2a2a2a; color: #e0e0e0; font-size: 13px; `; panel.appendChild(title); // 开关列表容器 const list = document.createElement('div'); list.id = 'auto-click-list'; list.style.cssText = ` display: flex; flex-direction: column; gap: 6px; max-height: 70vh; overflow-y: auto; padding-right: 4px; `; // 滚动条样式 const style = document.createElement('style'); style.textContent = ` #auto-click-list::-webkit-scrollbar { width: 4px; } #auto-click-list::-webkit-scrollbar-thumb { background: #444; border-radius: 2px; } `; document.head.appendChild(style); panel.appendChild(list); document.body.appendChild(panel); state.panelContainer = list; } // ========== 2. 工具函数 ========== // 检查按钮是否可用(未禁用 + 可见) function isButtonUsable(btn) { if (!btn) return false; if (btn.disabled) return false; if (btn.getAttribute('aria-disabled') === 'true') return false; if (btn.offsetParent === null) return false; // 元素隐藏时跳过 return true; } // 扫描当前页面所有可见的游戏按钮(按 actionid 识别) function scanVisibleButtons() { const buttons = document.querySelectorAll('button[actionid]'); const result = []; buttons.forEach(btn => { if (btn.offsetParent === null) return; // 只保留当前可见的按钮 const actionId = btn.getAttribute('actionid'); const name = btn.textContent.trim() || actionId; result.push({ actionId, name }); }); return result; } // ========== 3. 自动点击核心逻辑 ========== // 轮询等待按钮恢复可用 function startPolling(actionId) { const task = state.tasks[actionId]; if (!task || !task.enabled) return; if (task.checkTimer) clearInterval(task.checkTimer); task.checkTimer = setInterval(() => { // 任务已关闭则清理 if (!state.tasks[actionId] || !state.tasks[actionId].enabled) { clearInterval(task.checkTimer); task.checkTimer = null; return; } const btn = document.querySelector(`button[actionid="${actionId}"]`); // 按钮恢复可用后,等待300ms再执行下一次点击 if (isButtonUsable(btn)) { clearInterval(task.checkTimer); task.checkTimer = null; setTimeout(() => runAutoClick(actionId), 300); } }, 50); // 每50ms检测一次冷却状态 } // 执行单次点击并启动下一轮等待 function runAutoClick(actionId) { const task = state.tasks[actionId]; if (!task || !task.enabled) return; const btn = document.querySelector(`button[actionid="${actionId}"]`); if (isButtonUsable(btn)) { btn.click(); // 点击后等待100ms让游戏设置冷却状态,避免重复触发 setTimeout(() => startPolling(actionId), 100); } else { startPolling(actionId); } } // 切换任务开关状态 function toggleTask(actionId, enabled) { if (!state.tasks[actionId]) { state.tasks[actionId] = { enabled: false, checkTimer: null, name: '' }; } const task = state.tasks[actionId]; task.enabled = enabled; if (enabled) { runAutoClick(actionId); } else { if (task.checkTimer) { clearInterval(task.checkTimer); task.checkTimer = null; } } } // ========== 4. 更新控制面板 ========== function updatePanel() { const buttons = scanVisibleButtons(); const container = state.panelContainer; if (!container) return; const visibleActionIds = new Set(buttons.map(b => b.actionId)); // 移除不可见按钮对应的开关项 Array.from(container.children).forEach(item => { const actionId = item.dataset.actionid; if (!visibleActionIds.has(actionId)) { item.remove(); // 暂停任务但保留开启状态,切回tab时自动恢复 if (state.tasks[actionId]?.checkTimer) { clearInterval(state.tasks[actionId].checkTimer); state.tasks[actionId].checkTimer = null; } } }); // 新增可见按钮的开关项 buttons.forEach(({ actionId, name }) => { // 初始化任务状态 if (!state.tasks[actionId]) { state.tasks[actionId] = { enabled: false, checkTimer: null, name }; } state.tasks[actionId].name = name; // 已存在则跳过 if (container.querySelector(`[data-actionid="${actionId}"]`)) return; // 创建开关行 const row = document.createElement('label'); row.dataset.actionid = actionId; row.style.cssText = ` display: flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; padding: 2px 0; `; const nameSpan = document.createElement('span'); nameSpan.textContent = name; nameSpan.style.cssText = ` flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; `; const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.checked = state.tasks[actionId].enabled; checkbox.style.cssText = 'cursor: pointer; accent-color: #ef4444;'; checkbox.addEventListener('change', e => { toggleTask(actionId, e.target.checked); }); row.appendChild(nameSpan); row.appendChild(checkbox); container.appendChild(row); // 如果之前是开启状态,切回tab后自动恢复运行 if (state.tasks[actionId].enabled) { runAutoClick(actionId); } }); } // ========== 5. 监听页面变化(Tab切换/按钮状态变化) ========== function setupObserver() { const target = document.querySelector('main') || document.body; // 监听节点增减、属性变化、子树变化,覆盖Tab切换和按钮冷却状态变化 const config = { childList: true, subtree: true, attributes: true }; const observer = new MutationObserver(() => { // 防抖:200ms内多次变化只更新一次 if (state.updateTimer) clearTimeout(state.updateTimer); state.updateTimer = setTimeout(updatePanel, 200); }); observer.observe(target, config); state.observer = observer; } // ========== 初始化 ========== function init() { createPanel(); updatePanel(); setupObserver(); console.log('✅ A Dark Cave 自动点击脚本加载成功'); console.log('ℹ️ 右侧面板勾选对应按钮即可启动自动点击,间隔为冷却时间+300ms'); console.log('ℹ️ 切换洞穴/村庄/森林等Tab时按钮列表会自动更新'); } init(); })();
1356049... 7个月前
守望塔一修就黑屏
1512925... 7个月前
玩完了,前期确实很折磨,手点会快很多。后期可以挂机,比较流畅。
1391212... 7个月前
平衡性很差,随机事件太多且基本都是负面,而且几乎没法挂机
1991674... 7个月前
@ 1890700... 玩到后期了吗。敌方进攻是随机的,人口是一死一大片的,增长是缓慢的,防御工事是会被摧毁的。纯折磨
1890700... 7个月前
@ 1895022... 现版本玩完了来说一下,人口增长慢其实等一会就好了,一般不会大面积死人。大火是前期才有的,把木屋建完到下一级房子就没有了。陷阱是有用的可以减少伤亡,至少把陷阱和后续那个做完正面刚土匪就没死过人(还是会被抢钱)。黄金直购毫无意义,后面点一次探索二三十刷的跟飞一样,随机商人只要不停探索基本上不会卡你。随机负面事件都是有数的,除了偶尔死个人之外几乎没有重复的。 @ 1895022...
1895022... 7个月前
这作者玩过自己游戏没有,登录立刻重置本地文件的,人口增长是够慢的,大狗嚼嚼是一次吃4个的,陷阱是屁用没有的,湖中女鬼是yes or no 都要死一个的,好不容易敲了一个5000木头房子转眼就起大火退级的,随机商人是任何东西买不了的,出现了还会时间暂停卡你放置的,搞这么幽默就是为了让你多花黄金直购的,哪怕做成常见的搞点时间墙,黄金用来跳过时间也没这么火大