匿名
未登录
中文(中国大陆)
登录
Limbo Wiki Mirror
搜索
查看“︁微件:GGLScratchGame”︁的源代码
来自Limbo Wiki Mirror
命名空间
微件
讨论
更多
更多
页面操作
阅读
查看源代码
历史
←
微件:GGLScratchGame
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您没有权限编辑
微件
命名空间内的页面。
您可以查看和复制此页面的源代码。
<script> (function(){ /* ================= DOM ================= */ const grid = document.querySelector('.ggl-grid'); const bubble = document.querySelector('.ggl-bubble'); const mascot = document.querySelector('.ggl-mascot'); const scanBtn = document.getElementById('ggl-scan'); const leftEl = document.getElementById('ggl-left'); const dataEl = document.getElementById('ggl-data'); const mask = document.getElementById('ggl-mask'); const redeemHit = document.getElementById('ggl-redeem-hit'); /* ================= 资源 ================= */ const COVER_IMG = 'https://wm.gaoice.run/images/thumb/5/5a/%E5%88%AE%E5%BC%80%E5%89%8D.png/180px-%E5%88%AE%E5%BC%80%E5%89%8D.png'; const OPEN_IMG = 'https://wm.gaoice.run/images/thumb/4/4a/%E5%88%AE%E5%BC%80%E5%90%8E.jpg/180px-%E5%88%AE%E5%BC%80%E5%90%8E.jpg'; /* ================= 剧情彩票(你只需要改这里) ================= */ const TICKETS = [ { left:3, data:0, mascot:'', bubble:'你好。', rewards:{12:'DATA'} }, { left:2, data:1, mascot:'(^▽^)ノ', bubble:'第一张,只中了 DATA。', rewards:{1:'连',3:'着',16:'四',19:'个'} }, { left:3, data:2, mascot:'(ノ◕ヮ◕)ノ', bubble:'连着刮出了四个字!', rewards:{8:'DATA',14:'🎟'} }, { left:3, data:4, mascot:'(^▽^)', bubble:'中了刮刮乐!DATA 2MB', rewards:{} }, { left:3, data:5, mascot:'(・_・)', bubble:'什么都没有。', rewards:{22:'DATA'} }, { left:2, data:5, mascot:'(;゚Д゚)', bubble:'好像哪里不对。', rewards:{} }, { left:1, data:5, mascot:'', bubble:'什么都没有。', rewards:{6:'🎟'} }, { left:2, data:7, mascot:'...', bubble:'▒▓░▒▓▒▓', rewards:{3:'DATA',18:'DATA'} }, { left:2, data:9999, mascot:'', bubble:'哦 嗯 嘿 哈', rewards:Object.fromEntries([...Array(30).keys()].map(i=>[i,'DATA'])) }, { left:1, data:9999, mascot:'', bubble:'你是谁?', rewards:{} }, { left:0, data:'—', mascot:'', bubble:'停下来。', lock:true, rewards:{} }, { left:0, data:'—', mascot:'平安喜乐', bubble:'你知道的太多了。', lock:true, invert:true, rewards:{} } ]; /* ================= 状态 ================= */ let index = 0; let revealed = 0; let canScan = false; /* ================= 构建当前彩票 ================= */ function build(){ const t = TICKETS[index]; grid.innerHTML = ''; revealed = 0; canScan = false; /* —— 反色只由剧情控制 —— */ document.body.classList.toggle('ggl-invert', !!t.invert); leftEl.textContent = t.left; dataEl.textContent = t.data; mascot.textContent = t.mascot || ''; bubble.textContent = t.bubble || ''; scanBtn.classList.remove('active'); for(let i=0;i<30;i++){ const cell = document.createElement('div'); cell.className = 'ggl-cell'; cell.innerHTML = ` <img src="${OPEN_IMG}"> <div class="ggl-reward">${t.rewards?.[i] || ''}</div> <div class="ggl-cover" style="background-image:url('${COVER_IMG}')"></div> `; const cover = cell.querySelector('.ggl-cover'); if(!t.lock){ cover.onclick = ()=>{ if(cell.dataset.done) return; cell.dataset.done = 1; cover.style.display = 'none'; revealed++; if(revealed === 30){ enableScan(); } }; }else{ // lock 的票,直接显示底图 cover.style.display = 'none'; } grid.appendChild(cell); } if(t.lock){ enableScan(); } } /* ================= 扫描控制 ================= */ function enableScan(){ canScan = true; scanBtn.classList.add('active'); } scanBtn.onclick = ()=>{ if(!canScan) return; index++; if(index < TICKETS.length){ build(); } }; /* ================= 兑奖区 ================= */ redeemHit.onclick = ()=>{ bubble.textContent = '提示:兑奖区刮开后将视为无效哦。'; }; /* ================= 初始化遮罩 ================= */ mask.onclick = ()=>{ mask.remove(); build(); }; /* ================= 测试快捷键 ================= */ document.addEventListener('keydown',e=>{ if(e.shiftKey && e.key.toLowerCase()==='d'){ grid.querySelectorAll('.ggl-cover').forEach(c=>c.style.display='none'); revealed = 30; enableScan(); } }); })(); </script>
返回
微件:GGLScratchGame
。
导航
导航
首页
最近更改
随机页面
操作申请
帮助
入门指南
编辑指南
写作指南
随机
官方
碎数研
谜题保管所
wiki工具
wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志