一、工具準備
1.安裝 Pygame
2.使用到的 AIGC 工具:
豆包:生成遊戲背景圖和遊戲圖示
ChatGPT:編寫部分程式碼
二.專案展示:將專案程式碼上傳至GitHub倉庫,並在部落格中提交倉庫連結。
https://github.com/noen-hh/noen-hh/tree/main/軟工第二次個人作業
三.專案介紹:
1.遊戲介面設計
(1) 主選單
開始介面有簡單,困難和地獄模式,點選開始遊戲和退出遊戲的按鈕。
選擇模式:點選簡單模式,困難模式或地獄模式開始遊戲。
退出遊戲:退出遊戲。
(2)遊戲過程
道具:時鐘,使用一次時間增加10s,使用次數用完後變為灰色。
圖示顯示:介面上顯示圖示,玩家可以點選選擇。
倒數計時:倒數計時從30秒開始,時間以紅色顯示在螢幕上方。
分數:螢幕右上角顯示當前得分。
(3) 遊戲結束
成功:清除所有圖示後,顯示“恭喜你,獲勝!”的圖片,並有本局得分和“返回主選單”按鈕。
失敗:倒數計時結束未完成目標,顯示“GAME OVER”圖片,並有本局得分和“點選返回開始介面”和“退出遊戲”按鈕。
(4)按鈕功能
返回主選單:點選返回主選單。
退出遊戲:退出遊戲程式。
2.遊戲規則設計
1. 遊戲目標
遊戲分為三個模式:簡單模式和困難模式和地獄模式。玩家透過點選和消除相同圖示獲得分數,依據模式要求在限定時間內消除所有圖示來通關。
2. 遊戲模式
(1)簡單模式:
圖示:每種圖示出現3次或3的倍數次,共6種不同的圖示,倒數計時120s。
空格:介面底部有7個空格。
目標:倒數計時結束前清除所有圖示獲勝,7個空格被填滿則遊戲結束。
時鐘使用次數:2
(2)困難模式:
圖示:每種圖示出現3次或3的倍數次,共6種不同的圖示,倒數計時90s。
空格:介面底部有7個空格。
目標:倒數計時結束前清除所有圖示獲勝,7個空格被填滿則遊戲結束。
時鐘使用次數:1
(3)地獄模式:
圖示:每種圖示出現3次或3的倍數次,共6種不同的圖示,倒數計時90s。
空格:介面底部有7個空格。
目標:倒數計時結束前清除所有圖示獲勝,7個空格被填滿則遊戲結束。
無法使用時鐘道具
3.遊戲音效設計
在遊戲中植入bgm:Komorebi (葉隙間灑落的陽光)
四.遊戲展示及過程
1.遊戲主介面
2.遊戲過程介面(地獄模式)
3.遊戲成功通關介面
4.遊戲失敗介面
五.AIGC表格:使用AIGC工具生成一個表格,記錄你在專案中學到的內容及心得體會。
學到的內容和心得
類別 | 內容描述 | 心得體會 |
---|---|---|
Pygame 基本使用 | - 初始化 Pygame 和音訊 - 載入、縮放和處理影像 - 處理滑鼠點選事件 |
- 學會了如何初始化和管理 Pygame 以及處理影像和音效 - 處理滑鼠事件提升了使用者互動體驗 |
遊戲邏輯設計 | - 實現不同難度的遊戲設定 - 遊戲狀態管理 - 圖片消除邏輯 |
- 遊戲狀態管理和消除邏輯確保了遊戲的玩法和挑戰 - 難度設定提高了遊戲的可玩性 |
圖形和 UI 設計 | - 設計開始螢幕和結束螢幕 - 動態更新遊戲介面 - 新增按鈕和文字 |
- 良好的介面設計提升了使用者體驗 - 動態更新介面確保了遊戲的互動性 |
除錯和最佳化 | - 使用列印除錯資訊 - 程式碼組織和模組化 |
- 除錯技巧幫助解決了遊戲中的問題 - 程式碼組織提高了專案的可維護性和可擴充套件性 |
音樂和音效 | - 新增背景音樂和音效 - 設定音量和迴圈播放 |
- 音效和音樂提升了遊戲的沉浸感 - 合理的音效設計增強了遊戲的趣味性 |
使用者體驗 | - 設計友好的遊戲開始和結束螢幕 - 提供清晰的反饋 |
- 友好的使用者介面增強了玩家體驗 - 明確的反饋機制提高了遊戲的可玩性和玩家的滿意度 |
處理遊戲狀態 | - 遊戲狀態的準確處理 - 狀態之間的轉換 |
- 準確處理遊戲狀態確保了遊戲邏輯的正確性 - 遊戲狀態管理提升了遊戲的整體體驗 |
六.PSP表格:運用PSP表格對任務進行分解,記錄預估耗時和實際耗時。評價個人作業的完成過程和最終效果,分析哪裡做得好,哪裡還可以改進。
PSP 表格 - 遊戲開發專案
PSP 階段 | 任務內容 | 預估耗時 (小時) | 實際耗時 (小時) | 備註 |
---|---|---|---|---|
需求分析 | 確定遊戲功能、難度設定和規則 | 2 | 1.5 | 需求基本清晰,但部分細節遺漏 |
設計階段 | 設計遊戲介面、圖形元素、遊戲邏輯和狀態管理 | 3 | 4 | 設計複雜,介面和邏輯設計較好 |
開發階段 | 實現遊戲邏輯、使用者輸入處理、音效和音樂新增 | 5 | 6 | 遇到技術問題,最終功能完成較好 |
測試階段 | 功能測試、穩定性和效能測試 | 2 | 3 | 測試發現BUG |
,修復後穩定性提高 | ||||
最佳化階段 | 進行程式碼最佳化、效能改進,和使用者體驗提升 | 2 | 1.5 | 最佳化效果明顯,效能提升 |
文件編寫 | 編寫心得體會和專案總結 | 1 | 1 | 文件編寫準確清晰 |
總耗時 | 15 | 17 | 主要耗時集中在開發階段 |