レベル上の記録型(LevelRecord)の定義
前提
サーバーに保管される、まさしく走者が出した記録のことを指す。 code:ts
//記録
interface LevelRecord{
basic_info: LevelRecordBasis; // (*)
score: int;
score_type: ScoreType; // (*)
user_defined_entities: Tag[];
media: URL[];
doc_info: DocumentInfo;
}
//プレ記録
interface LevelPrerecord{
basic_info: Pick<LevelRecordBasis, "game_title" | "media_owner">
user_defined_entities: Tag[];
media: URL[];
doc_info: DocumentInfo;
}
(*) ただし、
code:ts
interface LevelRecordBasis {
game_title: CompleteTag;
ability: CompleteTag;
media_owner: Tag;
level: CompleteTag;
}
スコア種別型ScoreTypeは以下のように定義する。 longtime: 時間。1時間以上の長丁場を想定。ミリ秒は考えない。
milisecTime: 時間。ミリ秒単位で記録を図る。
points: 多ければ多いほど良い基準に使う。
loss: 損失。少ければ少ないほど良い基準に使う。
code:ts
type ScoreType = "longtime"|"milisecTime"|"points"|"loss";