---
# System prepended metadata

title: 電機週遊戲
tags: [111-1]

---

---
tags: 111-1
---

# 電機週遊戲
[Repo](https://github.com/NTUEEInfoDep/2022NTUEEWeekGame)
[電機週提案](https://bright-planet-5ad.notion.site/9ece6bcbd28542b7ab21464a066157aa)

以小恐龍為遊戲基底，新增不同的道具與功能

## Run
### Install
```bash
git clone ...
cp .env.default .env
yarn install
```

Run Mongodb in docker
```bash
docker run -d -p 27017:27017 --name weekgame-mongo mongo:latest
```

### Run
Development
```bash
yarn dev-server
```

Production
```bash
yarn build
yarn start
```

Docker
```bash
docker-compose up -d
```

## 角色

電機系學生

## 障礙物

### 空中

- 考卷
- 飛行的程式碼 Ex: `#include<iostream>` 、 `int a = 2` …

### 地面

- 電路板
- 邏輯閘

## 道具

### 快閃舞 (dance)

> 加速n倍 分數(>n)倍

### Band

> 無敵星星，可換背景或角色圖案，配合背景音樂

### 快食王 (eater)

> 障礙物停止生成，生成

### 電機週 (week)

> 直接加分

### 大合刷 (guitar)

> 音符攻擊！可以往前發射音符（子彈）攻擊障礙物們



## 目前有的Page
### Home Page
![](https://i.imgur.com/9ZawQxW.png)
#### 缺少:
- [ ] 直接連到LeaderBoard Page
- [ ] Game Start時判斷有無學號，給予警告(checkUserData() at ./client/lib/index.js:70~73, //TODO has detail)
- [ ] 找個地方放圖片(可以是Background)，電機周想放宣傳圖
- [ ] 遊戲規則
- [ ] 連結到道具列表 page(要等道具列表page做完)


### Game Canvas
![](https://i.imgur.com/c2JIOt4.png)
見下

### End Game Page
![](https://i.imgur.com/wo5d7Fm.png)
#### 缺少:
- [x] 要加很多資訊，像玩家是誰，如果之前有玩過，可以看他有沒有進步(資料可以從後端拿，已經寫好了)。進步就恭喜他，退步嗆他。
    - GET /api/highestScore
- [x] 看要不要寫個如果一開始沒有學號，(然後有進前十名)，可以讓他有個機會填學號(後端沒寫判斷成績有沒有前十，但其實也可以前端判斷)**這裡邏輯一定要想好**
#### 不急
- [x] 可以做個統計表，看這場遊戲有吃到幾個道具之類的
- [ ] 連結到道具列表 page(要等props list page做完)

### Leaderboard Page
![](https://i.imgur.com/qQOWakQ.png)
#### 缺少:
- [ ] 排名列(前面忘了加)
- [ ] 底下可以加一行，用不同顏色顯示玩家的最高成績。如果前十就用不同顏色標記，如果沒有排名就顯示">10"
- [ ] 連結到道具列表 page(要等props list page做完)

### Props List Page(道具列表)
![](https://i.imgur.com/LoifJom.png)
#### 缺少:
- [ ] 一整個



## 分工 (9/4)

### Web
#### UI
1. 美化CSS (1): 
    - transitions
    - style
3. UI (1 per page): 
    上面缺少的功能
    - home page: 呂俐君
    - leaderboard: 莊智翔 done
    - end game page: 傅渝翔 done
    - prop page: 陳守仁 done

### Backend: 張創渝
- leaderboard fetches

### Game
#### Canvas (1): 
- 顯示現在的效果跟剩餘時間
- 最高分

#### Actor
- [ ] 1. 道具 (props) (1): 許蘊琰
    - 生成時間、位置
- [ ] 2. 小恐龍 (1):吳典叡
    - 道具效果transition (閃爍)

#### Effects (read effects flags)
- [x] 1. 快閃舞 加速 (1): 楊竣凱 done
    - speedRatio x2
    - scoreRatio x5
- [x] 2. 大合刷 子彈 (1): 林咏毅
    - 障礙物擊碎動畫
- [x] 3. Band 無敵 (1): 葉庭羽
    - 閃爍穿越障礙物
- [ ] 4. 快食王 (1): 張庭梧
    - 障礙物不生成，食物水平飛過來，隨機生成高度，吃了加分
- [x] 5. 電機週 加分 (1): 金巧芸
    - 加分

## 分工 (9/16)
### TODO
1. Enter id no pop up window
    - 莊智翔
3. scoll in leaderboard and next page
    
4. balance in game
5. canvas 
    - 顯示現在的效果跟剩餘時間: 葉庭羽
    - 最高分

## Devflow
一人一個branch
寫好說一下部長合
以上功能9/16


## 許願
1. 暫停
2. 自動閃躲
3. day and night
4. 快閃結束時短暫無敵

## Bug
1. 在加速的時候死掉，有機率在game over跳出來後，後面遊戲繼續跑(暫時沒看到)
2. 障礙物碎掉撞到會死 (林咏毅)
3. 速度快的時候鳥和道具看起來往後飛????(張庭梧)
4. 道具會死掉？(許蘊琰)
![](https://i.imgur.com/zEuIHS9.jpg)
5. 雲不見(張庭梧)
6. 電機週preload(金巧芸)
7. 後端學號對不到名字(張創渝)
8. end game空無一物()
9. 高分時發射音符很常當機
10. 死掉時吃到加分物會加分

## 9/16 (死線10/1)
手機相容性
遊戲難度
找bug
1. game
    - 進度條 (葉庭羽)
    - 畫最高分 (傅渝翔)
    - 手機有點難蹲 改成點螢幕上半部下半部 (吳典叡)

7. Pages + CSS:
    - Home (楊竣凱)
    ![](https://i.imgur.com/moPeKZK.png)
    美化
    Button
    
    - Leaderboard (林咏毅)
    ![](https://i.imgur.com/b3T90nm.png)
    美化
    不要學號
    翻頁+滑動（max-height）
    API對接(張創渝)

    - Instructions (吳典叡)
    ![](https://i.imgur.com/tjnm8hR.png)
    美化
    
    - Props (陳守仁)
    美化
    
    - 警告 (呂俐君)
    ![](https://i.imgur.com/INwxCFH.png)
    美化
    
    - End (金巧芸)
    ![](https://i.imgur.com/kN3ygAA.png)
    美化
    
    - 補輸學號美化 (莊智翔)
    ![](https://i.imgur.com/6dEGMse.png)
    
    - 隱藏網址條 (傅渝翔)
        - ifconfig看ip
        - https://weekgame.ntuee.org/
