An open API service indexing awesome lists of open source software.

https://github.com/approvers/musical-typer-rust

Port MusicalTyper with Rust.
https://github.com/approvers/musical-typer-rust

Last synced: 11 months ago
JSON representation

Port MusicalTyper with Rust.

Awesome Lists containing this project

README

          

# Musical Typer Rust

Musical Typer を Rust で実装チャレンジ!!!

# 仕様

楽曲が流れながら、歌詞とそのローマ字が画面に表示されます。

制限時間内に素早くタイピングして、譜面をクリアしましょう。

# ディレクトリ構造

- asset -- 外部ファイル
- score -- 譜面データを入れるディレクトリ
- src -- Rust ソースコード
- model -- ゲームのモデル
- exp -- ゲームに出てくる概念
- view -- 画面の描画
- whole -- 画面に含まれる子領域

# 譜面フォーマット

ファイルから読み込む譜面フォーマットの文法です。

## コメント

`#` から改行までがコメントです。

```
# これはコメント
```

## プロパティ

`:プロパティ名 値` がプロパティです。

プロパティには、以下のものがあります。

| プロパティ名 | 指定する値 |
| --------------- | ---------------- |
| `title` | 曲名 |
| `song_author` | 作曲者 |
| `lyrics_author` | 作詞者 |
| `singer` | 歌手 |
| `score_author` | 譜面作成者 |
| `song_data` | 曲の音声ファイル |
| `bpm` | BPM |

## コマンド

`[コマンド名]` と改行がコマンドです。

`[start]`、`[break]`、`[end]` のコマンドがあります。

`[start]` から `[end]` までが歌詞定義です。

```
[start]
# 歌詞定義
[end]
```

`[break]` は非推奨です。効果を持ちません。

## 歌詞定義

ここで、歌詞とその出現タイミングを定義します。

### 時間指定

時間指定の構文で、歌詞の文が切り替わるタイミングを指定します。

`*` の後に小数で秒を指定します。

```
# 27.750 秒
*27.750
```

`|` の後に整数で分を指定します。

```
# 3 分
|3
```

`@` の後に文でセクションを指定します。

```
@Aメロ
```

### 文指定

前の時間指定から次の時間指定文指定まで、定義した文が出現します。

`:` の後に直前の歌詞の読み仮名を書きます。スペースなどを入れずにひらがなだけにしてください。

この読み仮名を、前の時間指定から次の時間指定文指定までの間にタイピングします。

```
*55.250
千本桜 夜ニ紛レ
:せんぼんざくらよるにまぎれ

*59.500
```

`>>` の後にキャプションなどを書くことができます。これは表示されますがタイピングにはなりません。読み仮名も定義できません。

```
*0.0
>> (前奏)

*11.5
```

何も定義しなかった場合は何も表示されません。キャプションが必要ない場合はそうしてください。