我設計的專案主題是「猜數字遊戲」。我一開始先明確設定專案目標:希望設計出一個能與使用者互動、並即時回饋結果的網頁遊戲。整體概念是讓系統隨機產生一個 1 到 100(或 1 到 150)的數字,使用者透過輸入欄猜測答案,網頁會即時提示「太大」、「太小」或「猜對了!」,並記錄猜測次數。這樣的設計理念是將資料處理、邏輯運算與互動體驗結合,讓使用者在有限時間內挑戰自我。
在進入遊戲前,我設計了清楚的規則說明畫面,告訴玩家遊戲的基本運作:系統會隨機生成一個數字,玩家依照提示輸入猜測值,每次提交後系統會回饋提示文字,幫助玩家逐步接近正確答案。
遊戲分為三個難度,每個難度有不同的範圍與時間限制:
簡單模式:數字範圍 1~100,倒數 60 秒,有範圍提示,顯示歷史紀錄;
適中模式:數字範圍 1~100,倒數 45 秒,無範圍提示,但顯示歷史紀錄;
困難模式:數字範圍 1~150,倒數 30 秒,不提供範圍提示,也不顯示歷史紀錄。
此外,系統會自動記錄玩家的平均猜測次數與最佳紀錄,提供玩家挑戰自我和進步的依據。
在難度設計上,我考慮了玩家的不同能力與挑戰需求。簡單模式適合初學者,提供提示範圍與歷史紀錄,引導玩家縮小答案區間;適中模式則移除範圍提示,但保留歷史紀錄,讓玩家透過策略思考提高成功率;困難模式取消所有提示與歷史紀錄還縮短時間,增加遊戲緊張感,要求玩家靠直覺或運氣完成挑戰。不同難度的倒數計時,也增加了遊戲挑戰性,提升趣味性與互動性。
遊戲中的互動設計主要依靠 JavaScript 事件監聽,例如按鈕點擊(onclick)和鍵盤輸入(keydown)來觸發函式。每次玩家輸入數字並送出時,系統會判斷答案是否正確,並即時更新提示文字。簡單模式還會顯示提示範圍,並在歷史紀錄區顯示每次猜測結果。若玩家答對,系統會噴出彩帶動畫(canvas-confetti),作為視覺回饋,提高遊戲的趣味性與成就感。
專案中設計了三個主要畫面:
規則說明畫面:提供遊戲規則、難度說明及操作指南;
難度選擇畫面:讓玩家選擇簡單、適中或困難模式,並顯示歷史成績統計;
遊戲互動畫面:包含倒數計時器、猜測輸入欄、送出按鈕、即時提示、歷史紀錄區與再玩一次按鈕。
這種畫面流程設計讓玩家從了解規則到選擇難度再到遊玩過程,都有明確的引導,提升整體使用體驗。
我使用 localStorage 儲存玩家每局的猜測次數,並分別計算平均猜測次數與最佳成績。在簡單和適中模式中,玩家可以看到歷史紀錄,知道猜過的數字。這種設計不僅增加互動性,也讓遊戲具有挑戰性和持續玩下去的動力。
透過這次專案,我深刻體會到「先規劃再實作」的重要性。一開始,我只對互動流程、功能列表與畫面設計有粗略構想,但當畫面實際完成後,才發現遊戲在操作上還有許多可以優化的地方,因此經歷了多次修改與調整。這讓我明白,若在開發前能有更完整的規劃,不僅能減少反覆修改的時間,也能讓程式開發過程更加順利,作品品質也會更好。
在技術面上,我學會了如何運用 JavaScript 的事件監聽、條件判斷與函式模組化設計,讓遊戲互動邏輯更加清楚、有條理。透過這次專案,我不僅提升了程式設計能力,也更理解如何將想法從概念落實為可操作的作品,這對未來專案開發是一個非常寶貴的經驗。