# 幫我撐10秒 [***專案連結***](https://scratch.mit.edu/projects/620349118/) ## 遊戲規則 1. 選角 2. 控制WASD 3. 打小怪提升角色數值 攻速、跑速、最大護盾、最大血量 4. 三關 打掉BOSS可以進下一關 三關打完挑戰成功 5. 受傷先扣護盾 護盾脫戰隨時間(5s)恢復 6. 護盾用完受傷扣血量 血量歸零遊戲結束 7. 血量只能透過通關回滿或小怪掉落物加最大值時加一 8. 致敬元氣騎士 ## 變數意義 - 血量 - 顯示當前血量 - 再過進入新關卡時補至最大血量 - 在非攻擊時觸碰敵人減少 - 獲得道具以增加最大血量 - 攻速 - 顯示當前角色攻擊速度,以更改冷卻時間方式實現 - 獲得道具以增加攻速 - 下限為 、上限為 - 跑速 - 顯示當前角色移動速度,以改變每按鍵移動量實現 - 獲得道具以增加跑速 - 護盾 - 顯示當前護盾量 - 脫戰後隨時間回復 - 獲得道具以增加護盾最大值 - character - 當前角色編號 - 帶有以下屬性 - C.attackColdDown - 攻擊冷卻時間,受攻速影響(=2/攻速) - 冷卻等待時間不偵測攻擊動作 - C.isAttack - 紀錄是否在攻擊狀態 - C.isMoving - 紀錄角色是否在移動 - 用於移動造型間的切換 - C.maxHP - 紀錄角色最大血量 - 獲得道具以增加 - C.maxShield - 紀錄角色最大護盾 - 獲得道具以增加 - C.model - 紀錄當前角色造型編號 - C.movingSpeed - 紀錄角色移動速度 - 受 跑速 影響 - 按下衝刺鍵乘二,減速鍵除二 - C.xSize - 角色寬度 - C.ySize - 角色高度 - 帶有以下方法 (method) - C.checkMax() - C.checkMin() - isBlueShow - 布林值,用於紀錄選取方框是否顯示 - 於選擇角色畫面當游標接近角色時為是,唯且唯若 - map - 紀錄當前背景編號 - 受等級和房間影響(=等級\*9+房間編號) - 帶有以下屬性 - M.neglectXLeftDown - 左側通道的下界 - M.neglectXLeftUp - 左側通道的上界 - M.neglectXRightDown - 右側通道的下界 - M.neglectXRightUp - 右側通道的上界 - M.neglectYDownLeft - 下側通道的左界 - M.neglectYDownRight - 下側通道的右界 - M.neglectYUpLeft - 上側通道的左界 - M.neglectYUpRight - 上側通道的右界 - M.xMax - 地圖右界 - M.xMin - 地圖左界 - M.yMax - 地圖上界 - M.yMin - 地圖下界 - 可以使用M.init初始化 - M.init( xMax, xMin, xMaxMax, xMaxMin, xMinMax, xMinMin, yMax, yMin, yMaxMax, yMaxMin, yMinMax, yMinMin, ) - M.neglectXLeftDown = xMinMin + C.xSize - M.neglectXLeftUp = xMinMax - C.xSize - M.neglectXRightDown = xMaxMin + C.xSize - M.neglectXRightUp = xMaxMax - C.xSize - M.neglectYDownLeft = yMinMin + C.ySize - M.neglectYDownRight = yMinMax - C.ySize - M.neglectYUpLeft = yMaxMin + C.ySize - M.neglectYUpRight = yMaxMax - C.ySize - M.xMax = xMax - C.xSize - M.xMin = xMin + C.xSize - M.yMax = yMax + C.ySize - M.yMin = yMin - C.ySize - 保證上界不小於下界、右界不小於左界 - mapLevel - 紀錄當前等級(1-3) - 過關時加一 - mapRoomID - 紀錄當前房間編號 - 編號: [1] [2] [3] [4] [5] [6] [7] [8] [9] - 進關固定為4號房 - temp - tempMove - 暫存移動鍵造成的移動量 - 送往C.chackMax, C.checkMin做邊界檢查 ## TODO ### 角色 - code - [x] 移動 - [x] WASD - [x] 上下左右 - [x] 攻擊 - [x] 冷卻 - [x] 造型切換 - [x] 走路造型間 - [x] 攻擊 - [x] 衝刺 - [x] 邊界判定 - [ ] 遇敵 - [ ] 扣血 - [ ] 攻擊 - other - [ ] 人物圖 - [ ] 走路若干個 - [ ] 攻擊 - [ ] 衝刺 - [ ] 靜止(可以包含在走路造型裡) - [ ] 武器圖 - [x] 音效 - [x] 攻擊 - [ ] 受傷 - [ ] 移動 - [ ] 護盾被破壞 - [x] 角色數據 - [x] 寬度 - [x] 高度 ### 小怪 - code - [ ] 攻擊 - [ ] 移動 - [ ] 隨機 - [x] 向玩家 - [x] 生成 - [ ] 消失 - other - [x] 圖片 - [ ] 移動若干個 - [ ] 攻擊 - [ ] 消失 - [x] 音效 - [ ] 攻擊 - [ ] 消失 ### BOSS - code - [x] 攻擊 - [x] 移動(不移動則免) - [x] 生成 - [x] 消失 - other - [x] 圖片 - [ ] 攻擊若干個 - [ ] 移動若干個(不移動則免) - [ ] 靜止 - [x] 音效 - [ ] 攻擊 - [ ] 受傷 - [ ] 消滅 ### 地圖 - code - [x] 房間切換 - [x] 通關 - other - [x] 背景圖(九宮格,三層) - [x] 開門 - [x] 關門 - [x] 背景音樂 - [x] 常駐音樂 - [x] 進關音樂 - [x] 音效 - [x] 進關音效 - [x] 通關音效 - [x] 地圖數據 - [ ] 地圖上下界 - [ ] 地圖左右界 - [ ] 右通道上下界 - [ ] 左通道上下界 - [ ] 上通道左右界 - [ ] 下通道左右界 ### 選角畫面 - code - [ ] - other - [x] 背景 - [x] 圖示 - [x] 開始按鈕(一個有t的star) - [x] 選擇框 - [x] 已選擇框 - [x] 背景音樂 - [x] 音效 - [ ] 選擇音效 - [x] 已選擇音效 - [x] 開始音效 ## 初始化