1
0
mirror of https://github.com/Eyre-S/sekai-scores.git synced 2024-11-25 04:27:43 +08:00

add song and difficulty module, add UserScore module, add some Song Data.

This commit is contained in:
A.C.Sukazyo Eyre 2022-11-17 22:34:14 +08:00
parent a7622bf687
commit a702965151
11 changed files with 193 additions and 1 deletions

View File

@ -3,6 +3,7 @@ import java.nio.charset.StandardCharsets
plugins {
id 'java'
id 'java-library'
id 'maven-publish'
}

View File

@ -1,7 +1,7 @@
## Project Configurations
# Proj Metadata
projVersion = 0.1
projVersion = 0.2
# Dependencies

View File

@ -0,0 +1,41 @@
package cc.sukazyo.sekai_scores.db.project_sekai_colorful_stage;
import cc.sukazyo.sekai_scores.Difficulty;
import cc.sukazyo.sekai_scores.DifficultiesSekai;
import cc.sukazyo.sekai_scores.Song;
import cc.sukazyo.sekai_scores.SongUnit;
public class Nightcord25ji {
public static final Song Keitai_Renwa = new Song(
"携帯恋話", SongUnit.NIGHTCORD_25JI,
new DifficultiesSekai(
new Difficulty( 8, 204),
new Difficulty(12, 361),
new Difficulty(18, 651),
new Difficulty(25, 981),
new Difficulty(29, 1131)
)
);
public static final Song Kuyamu_to_Kaite_Mirai = new Song(
"悔やむと書いてミライ", SongUnit.NIGHTCORD_25JI,
new DifficultiesSekai(
new Difficulty( 8, 190),
new Difficulty(13, 440),
new Difficulty(17, 541),
new Difficulty(26, 815),
new Difficulty(30, 973)
)
);
public static final Song ID_SMILE = new Song(
"アイディスマイル", SongUnit.NIGHTCORD_25JI,
new DifficultiesSekai(
new Difficulty( 7, 263),
new Difficulty(12, 439),
new Difficulty(17, 703),
new Difficulty(25, 985),
new Difficulty(28, 1247)
)
);
}

View File

@ -0,0 +1,31 @@
package cc.sukazyo.sekai_scores.db.project_sekai_colorful_stage;
import cc.sukazyo.sekai_scores.Difficulty;
import cc.sukazyo.sekai_scores.DifficultiesSekai;
import cc.sukazyo.sekai_scores.Song;
import cc.sukazyo.sekai_scores.SongUnit;
public class Other {
public static final Song Dont_Fight_the_Music = new Song(
"Don't Fight The Music", SongUnit.OTHER,
new DifficultiesSekai(
new Difficulty( 9, 520),
new Difficulty(15, 701),
new Difficulty(23, 1175),
new Difficulty(30, 1545),
new Difficulty(36, 1888)
)
);
public static final Song Tokugawa_Kappu_Nuudoru_Kinshirei = new Song(
"徳川カップヌードル禁止令", SongUnit.OTHER,
new DifficultiesSekai(
new Difficulty( 8, 264),
new Difficulty(13, 498),
new Difficulty(19, 758),
new Difficulty(27, 1065),
new Difficulty(31, 1241)
)
);
}

View File

@ -0,0 +1,31 @@
package cc.sukazyo.sekai_scores.db.project_sekai_colorful_stage;
import cc.sukazyo.sekai_scores.Difficulty;
import cc.sukazyo.sekai_scores.DifficultiesSekai;
import cc.sukazyo.sekai_scores.Song;
import cc.sukazyo.sekai_scores.SongUnit;
public class SekaiSpecial {
public static final Song Gunjou_Sanka = new Song(
"群青讃歌", SongUnit.SP,
new DifficultiesSekai(
new Difficulty( 7, 199),
new Difficulty(13, 344),
new Difficulty(17, 475),
new Difficulty(24, 711),
new Difficulty(27, 833)
)
);
public static final Song Journey = new Song(
"Journey", SongUnit.SP,
new DifficultiesSekai(
new Difficulty( 6, 199),
new Difficulty(12, 512),
new Difficulty(18, 922),
new Difficulty(25, 1285),
new Difficulty(28, 1322)
)
);
}

View File

@ -0,0 +1,10 @@
package cc.sukazyo.sekai_scores;
import javax.annotation.Nonnull;
import java.util.function.BiConsumer;
public interface Difficulties {
void forEach(@Nonnull BiConsumer<String, Difficulty> action);
}

View File

@ -0,0 +1,29 @@
package cc.sukazyo.sekai_scores;
import javax.annotation.Nonnull;
import java.util.function.BiConsumer;
public record DifficultiesSekai(
@Nonnull Difficulty easy,
@Nonnull Difficulty normal,
@Nonnull Difficulty hard,
@Nonnull Difficulty expert,
@Nonnull Difficulty master
) implements Difficulties {
public static final String EASY_NAME = "EASY";
public static final String NORMAL_NAME = "NORMAL";
public static final String HARD_NAME = "HARD";
public static final String EXPERT_NAME = "EXPERT";
public static final String MASTER_NAME = "MASTER";
@Override
public void forEach (@Nonnull BiConsumer<String, Difficulty> action) {
action.accept(EASY_NAME, easy);
action.accept(NORMAL_NAME, normal);
action.accept(HARD_NAME, hard);
action.accept(EXPERT_NAME, expert);
action.accept(MASTER_NAME, master);
}
}

View File

@ -0,0 +1,8 @@
package cc.sukazyo.sekai_scores;
import javax.annotation.Nonnegative;
public record Difficulty(
@Nonnegative int level,
@Nonnegative int noteCount
) {}

View File

@ -0,0 +1,9 @@
package cc.sukazyo.sekai_scores;
import javax.annotation.Nonnull;
public record Song(
@Nonnull String name,
@Nonnull SongUnit unit,
@Nonnull Difficulties difficulties
) {}

View File

@ -0,0 +1,23 @@
package cc.sukazyo.sekai_scores;
import javax.annotation.Nonnull;
public enum SongUnit {
VSINGER("VIRTUAL SINGER"),
LEO_NEED("Leo/need"),
MORE_MORE_JUMP("MORE MORE JUMP!"),
VIVID_BAD_SQUAD("Vivid BAD SQUAD"),
WONDERLANDS_SHOWTIME("ワンダーランズ×ショウタイム"),
NIGHTCORD_25JI("25時、ナイトコードで。"),
OTHER("other"),
SP("セカイ")
;
@Nonnull public final String name;
SongUnit (@Nonnull String name) {
this.name = name;
}
}

View File

@ -0,0 +1,9 @@
package cc.sukazyo.sekai_scores;
import javax.annotation.Nonnull;
public record UserScore (
@Nonnull Song song,
@Nonnull Difficulty difficulty,
@Nonnull ScoreBase score
) {}