1<?php class=class="string">"keyword">header(class="string">'Content-Type: text/html; charset=utf-class="number">8'); ?>
2<!DOCTYPE html><class="tag">html lang="zh-CN"><class="tag">head><class="tag">meta charset="UTF-class="number">8"><class="tag">meta name="viewport" content="width=device-width,initial-scale=class="number">1.0">
3<class="tag">title>打地鼠 - η空间</class="tag">title>
4<class="tag">meta name="description" content="打地鼠游戏,敲代码累了敲地鼠。免费在线玩。">
5<class="tag">link rel="stylesheet" href="/tools/share.css"><class="tag">link rel="stylesheet" href="/assets/pet-cat.css">
6<class="tag">style>
7*{margin:class="number">0;padding:class="number">0;box-sizing:border-box}
8body{font-family:class="string">'Outfit',-apple-system,sans-serif;background:class=class="string">"keyword">class=class="string">"comment">#0C0C0C;color:#F7F5F0;min-height:100vh;display:flex;flex-direction:column;align-items:center}
9h1{margin-top:30px;font-size:24px}h1 .a{color:class=class="string">"keyword">class=class="string">"comment">#FF6B35}
10.info{display:flex;gap:30px;margin:12px class="number">0;font-size:16px;color:class=class="string">"keyword">class=class="string">"comment">#class="number">888}
11.info .num{font-weight:class="number">700;color:class=class="string">"keyword">class=class="string">"comment">#FF6B35}
12.grid{display:grid;grid-template-columns:repeat(class="number">3,100px);gap:8px}
13.hole{width:100px;height:100px;background:class=class="string">"keyword">class=class="string">"comment">#1a1a2e;border:2px solid #2a2a4e;border-radius:class="number">50%;display:flex;align-items:center;justify-content:center;font-size:40px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}
14.hole.has-mole{background:class=class="string">"keyword">class=class="string">"comment">#2a1a0e;border-color:#FF6B35;cursor:url("data:image/svg+xml,%3Csvg xmlns=class="string">'http://www.w3.org/class="number">2000/svg' width=class="string">'class="number">32' height=class="string">'class="number">32'%3E%3Ccircle cx=class="string">'class="number">16' cy=class="string">'class="number">16' r=class="string">'class="number">14' fill=class="string">'%23FF6B35'/%3E%3Ctext x=class="string">'class="number">16' y=class="string">'class="number">22' text-anchor=class="string">'middle' fill=class="string">'white' font-size=class="string">'class="number">20'%3E🔨%3C/text%3E%3C/svg%3E") class="number">16 class="number">16,auto}
15.hole.has-mole:active{transform:scale(class="number">0.9)}
16.controls{margin-top:16px}
17.btn{padding:10px 30px;border:none;border-radius:10px;font-size:16px;font-weight:class="number">600;cursor:pointer;background:class=class="string">"keyword">class=class="string">"comment">#FF6B35;color:#fff}
18.btn:hover{background:class=class="string">"keyword">class=class="string">"comment">#e85a2a}
19</class="tag">style></class="tag">head><class="tag">body>
20<class="tag">h1><class="tag">span class=class="string">"keyword">class="a">🔨</class="tag">span> 打地鼠</class="tag">h1>
21<class="tag">p style="font-size:12px;color:class=class="string">"keyword">class=class="string">"comment">#class="number">555;margin-bottom:8px;text-align:center">🔨 点击冒出来的地鼠!class="number">30秒限时,打中越多分越高!</class="tag">p>
22<class="tag">div class=class="string">"keyword">class="info"><class="tag">span>得分 <class="tag">span class=class="string">"keyword">class="num" id="score">class="number">0</class="tag">span></class="tag">span><class="tag">span>时间 <class="tag">span class=class="string">"keyword">class="num" id="timer">class="number">30</class="tag">span>s</class="tag">span></class="tag">div>
23<class="tag">div class=class="string">"keyword">class="grid" id="grid"></class="tag">div>
24<class="tag">div class=class="string">"keyword">class="controls"><class="tag">button class=class="string">"keyword">class="btn" id="startBtn" onclick="startGame()">🔨 开始游戏</class="tag">button></class="tag">div>
25<class="tag">script src="/tools/share.js"></class="tag">script><class="tag">script src="/assets/pet-cat.js"></class="tag">script>
26<class="tag">script>
27class=class="string">"keyword">var score=class="number">0,timeLeft=class="number">30,isRunning=false,moleTimer=null,countdown=null;
28class=class="string">"keyword">function startGame(){
29 class=class="string">"keyword">if(isRunning)class=class="string">"keyword">return;
30 score=class="number">0;timeLeft=class="number">30;isRunning=true;
31 document.class="func">getElementById(class="string">'score').textContent=class="string">'class="number">0';
32 document.class="func">getElementById(class="string">'timer').textContent=class="string">'class="number">30';
33 document.class="func">getElementById(class="string">'startBtn').textContent=class="string">'⏳ 游戏中...';
34 document.class="func">getElementById(class="string">'startBtn').style.opacity=class="string">'class="number">0.5';
35 countdown=class="func">setInterval(class=class="string">"keyword">function(){
36 timeLeft--;document.class="func">getElementById(class="string">'timer').textContent=timeLeft;
37 class=class="string">"keyword">if(timeLeft<=class="number">0){endGame();}},class="number">1000);
38 showMole();
39 moleTimer=class="func">setInterval(showMole,class="number">800+Math.random()*class="number">700);}
40class=class="string">"keyword">function showMole(){
41 class=class="string">"keyword">var holes=document.querySelectorAll(class="string">'.hole');
42 holes.forEach(class=class="string">"keyword">function(h){h.classList.remove(class="string">'has-mole');h.textContent=class="string">'';});
43 class=class="string">"keyword">var idx=Math.floor(Math.random()*class="number">9);
44 holes[idx].classList.add(class="string">'has-mole');holes[idx].textContent=class="string">'🐭';
45 class=class="string">"keyword">class=class="string">"comment">// disappear after a short time
46 class="func">setTimeout(class=class="string">"keyword">function(){
47 class=class="string">"keyword">if(isRunning){holes[idx].classList.remove(class="string">'has-mole');holes[idx].textContent=class="string">'';}
48 },class="number">600+Math.random()*class="number">400);}
49class=class="string">"keyword">function whack(el){
50 class=class="string">"keyword">if(!isRunning||!el.classList.contains(class="string">'has-mole'))class=class="string">"keyword">return;
51 el.classList.remove(class="string">'has-mole');el.textContent=class="string">'';
52 score++;document.class="func">getElementById(class="string">'score').textContent=score;
53 class=class="string">"keyword">class=class="string">"comment">// hit effect
54 el.style.transform=class="string">'scale(class="number">0.85)';
55 class="func">setTimeout(class=class="string">"keyword">function(){el.style.transform=class="string">'';},class="number">100);}
56class=class="string">"keyword">function endGame(){
57 isRunning=false;
58 clearInterval(moleTimer);clearInterval(countdown);
59 document.querySelectorAll(class="string">'.hole').forEach(class=class="string">"keyword">function(h){h.classList.remove(class="string">'has-mole');h.textContent=class="string">'';});
60 document.class="func">getElementById(class="string">'startBtn').textContent=class="string">'🔄 再来一局 ('+score+class="string">'分)';
61 document.class="func">getElementById(class="string">'startBtn').style.opacity=class="string">'class="number">1';
62 class="func">alert(class="string">'⏰ 时间到!\n得分: '+score);}
63class=class="string">"keyword">function initGrid(){
64 class=class="string">"keyword">var g=document.class="func">getElementById(class="string">'grid');g.innerHTML=class="string">'';
65 class=class="string">"keyword">for(class=class="string">"keyword">var i=class="number">0;i<class="number">9;i++){class=class="string">"keyword">var d=document.createElement(class="string">'div');d.className=class="string">'hole';
66 d.class="func">addEventListener(class="string">'click',class=class="string">"keyword">function(el){class=class="string">"keyword">return class=class="string">"keyword">function(){whack(el)}}(d));
67 g.appendChild(d);}}
68initGrid();
69</class="tag">script><class="tag">div style="text-align:center;padding-top:10px;font-size:12px;color:class=class="string">"keyword">class=class="string">"comment">#class="number">555"><class="tag">a href="source-viewer.php?file=game-whack-a-mole.php" style="color:#FF6B35;text-decoration:none;">📖 查看源码</class="tag">a> · 编程小白,AI生成,若体验不佳请多包涵 🙏</class="tag">div>
70</class="tag">body></class="tag">html>
71