14458 - Taiko no Tatsujin   

Description

太鼓之達人系列(日語:太鼓の達人,英語:Taiko no Tatsujin,又譯作「太鼓達人」)是一款於2001年起由南夢宮(現:萬代南夢宮遊樂,家用版由萬代南夢宮工作室開發並由萬代南夢宮娛樂發行)發售的業務用大型電玩音樂遊戲系列作品。遊戲玩法與科樂美的Bemani系列類似,玩家需要配合音樂,敲打機台上的日本傳統樂器「太鼓」的框體,從而打出正確的節奏。

其中一種分數判定「真打模式」,分數計算將不受連段(Combo)影響,單純計算音符分數。

遊戲某版本的真打模式給分標準如下:

 

良(good)

1080

大音符特良(GOOD)

2160

可(ok)

540

大音符特可(OK)

1080

不可(bad)

0

 

資料來源:https://zh.moegirl.tw/%E5%A4%AA%E9%BC%93%E4%B9%8B%E8%BE%BE%E4%BA%BA%E7%B3%BB%E5%88%97

 

給定主要執行程式main.c (題號.c)、以及Header檔function.h (題號.h);請試著完成Header檔中未實現的函式:GetScore()

function.h:

typedef enum TaikoScore {
    good,  // 良
    GOOD,  // 大音符特良
    ok,    // 可
    OK,    // 大音符特可
    bad    // 不可
} TaikoScore;

 

typedef struct TaikoNote {
    enum TaikoScore NoteScore; // 此音符的判定
    struct TaikoNote *next;    // 下一個音符的記憶體位置
} TaikoNote;

 

Methods:

- int GetScore(TaikoNote *firstNote) – 需不斷的拜訪傳進的TaikoNote記憶體的下一個TaikoNote記憶體(next)直至結束(NULL),並根據判定(TaikoScore)與表格中的給分標準返回最終得分

hint:

  1. 可以透過迴圈和*next來不斷拜訪並取得下一個TaikoNote

  2. 可以透過判斷TaikoNote記憶體是否為NULL,來決定是否終止迴圈

 

function.c

#include "function.h"
int GetScore(TaikoNote *firstNote) {
    // TODO
}

Input

TTTTTTTTTTTTTTT

 

Note:

  1. 輸入 15 個字元 T 分別代表15個音符的評分

  2. T 為 'G', 'g', 'O', 'o', 'b'  其中一種

  3. 無需處理輸入

Output

輸出符合以下格式:

Score: *score

 

Note:

  1. 輸出的最後必須要有一個換行符號 ('\n')

  2. 無需處理輸出

Sample Input  Download

Sample Output  Download

Partial Judge Code

14458.c

Partial Judge Header

14458.h

Tags




Discuss