iT邦幫忙

2025 iThome 鐵人賽

0

Day 21
主題:計時器 — 加入倒數或計時功能

🎯今日目標
今天要讓翻牌遊戲有時間限制或計時功能!不論是倒數挑戰模式(例如 60 秒內配完),或是記錄玩家完成時間(挑戰最短秒數),都能讓遊戲更具可玩性與競爭性。

📘學習與操作重點

  1. 計時模式選擇

    倒數模式(限時挑戰):時間歸零時遊戲結束。
    正向計時(計分模式):紀錄完成所需時間,越快分數越高。

  2. setInterval() 的使用
    可用 setInterval() 讓時間每秒更新。
    記得搭配 clearInterval() 停止計時,避免重複疊加。

  3. DOM 更新
    新增一個 <div id="timer"> 來顯示時間。
    使用 document.getElementById("timer").textContent 即時更新。

💻 程式範例

<div id="timer">⏱ 時間:0 秒</div>

<script>
  let time = 0;
  let timerInterval;

  function startTimer() {
    timerInterval = setInterval(() => {
      time++;
      document.getElementById("timer").textContent = `⏱ 時間:${time} 秒`;
    }, 1000);
  }

  function stopTimer() {
    clearInterval(timerInterval);
  }

  // 遊戲開始時啟動
  startTimer();

  // 模擬結束條件:假設 10 秒後結束
  setTimeout(() => {
    stopTimer();
    alert(`遊戲結束!你花了 ${time} 秒`);
  }, 10000);
</script>

今日成果
✅ 成功新增「時間」顯示,能即時變動。
✅ 學會使用 setInterval()clearInterval() 控制時間流。
✅ 為未來的「分數系統」與「挑戰模式」打下基礎。


上一篇
Day 20 | 初步完成
下一篇
Day 22 | 計分系統
系列文
30天打造純前端互動小遊戲網站30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言