From a702965151377bb049b344f680e931c6e985c67d Mon Sep 17 00:00:00 2001 From: Eyre_S Date: Thu, 17 Nov 2022 22:34:14 +0800 Subject: [PATCH] add song and difficulty module, add UserScore module, add some Song Data. --- build.gradle | 1 + gradle.properties | 2 +- .../Nightcord25ji.java | 41 +++++++++++++++++++ .../project_sekai_colorful_stage/Other.java | 31 ++++++++++++++ .../SekaiSpecial.java | 31 ++++++++++++++ .../cc/sukazyo/sekai_scores/Difficulties.java | 10 +++++ .../sekai_scores/DifficultiesSekai.java | 29 +++++++++++++ .../cc/sukazyo/sekai_scores/Difficulty.java | 8 ++++ .../java/cc/sukazyo/sekai_scores/Song.java | 9 ++++ .../cc/sukazyo/sekai_scores/SongUnit.java | 23 +++++++++++ .../cc/sukazyo/sekai_scores/UserScore.java | 9 ++++ 11 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Nightcord25ji.java create mode 100644 sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Other.java create mode 100644 sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/SekaiSpecial.java create mode 100644 src/main/java/cc/sukazyo/sekai_scores/Difficulties.java create mode 100644 src/main/java/cc/sukazyo/sekai_scores/DifficultiesSekai.java create mode 100644 src/main/java/cc/sukazyo/sekai_scores/Difficulty.java create mode 100644 src/main/java/cc/sukazyo/sekai_scores/Song.java create mode 100644 src/main/java/cc/sukazyo/sekai_scores/SongUnit.java create mode 100644 src/main/java/cc/sukazyo/sekai_scores/UserScore.java diff --git a/build.gradle b/build.gradle index e0c70b9..4cf75c6 100644 --- a/build.gradle +++ b/build.gradle @@ -3,6 +3,7 @@ import java.nio.charset.StandardCharsets plugins { id 'java' + id 'java-library' id 'maven-publish' } diff --git a/gradle.properties b/gradle.properties index 809a296..1d6ef47 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ ## Project Configurations # Proj Metadata -projVersion = 0.1 +projVersion = 0.2 # Dependencies diff --git a/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Nightcord25ji.java b/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Nightcord25ji.java new file mode 100644 index 0000000..cc52dd3 --- /dev/null +++ b/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Nightcord25ji.java @@ -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) + ) + ); + +} diff --git a/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Other.java b/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Other.java new file mode 100644 index 0000000..eacdb2a --- /dev/null +++ b/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/Other.java @@ -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) + ) + ); + +} diff --git a/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/SekaiSpecial.java b/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/SekaiSpecial.java new file mode 100644 index 0000000..80f23a0 --- /dev/null +++ b/sekai-scores-db/src/main/java/cc/sukazyo/sekai_scores/db/project_sekai_colorful_stage/SekaiSpecial.java @@ -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) + ) + ); + +} diff --git a/src/main/java/cc/sukazyo/sekai_scores/Difficulties.java b/src/main/java/cc/sukazyo/sekai_scores/Difficulties.java new file mode 100644 index 0000000..da73b5f --- /dev/null +++ b/src/main/java/cc/sukazyo/sekai_scores/Difficulties.java @@ -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 action); + +} diff --git a/src/main/java/cc/sukazyo/sekai_scores/DifficultiesSekai.java b/src/main/java/cc/sukazyo/sekai_scores/DifficultiesSekai.java new file mode 100644 index 0000000..df6eed6 --- /dev/null +++ b/src/main/java/cc/sukazyo/sekai_scores/DifficultiesSekai.java @@ -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 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); + } + +} diff --git a/src/main/java/cc/sukazyo/sekai_scores/Difficulty.java b/src/main/java/cc/sukazyo/sekai_scores/Difficulty.java new file mode 100644 index 0000000..661b283 --- /dev/null +++ b/src/main/java/cc/sukazyo/sekai_scores/Difficulty.java @@ -0,0 +1,8 @@ +package cc.sukazyo.sekai_scores; + +import javax.annotation.Nonnegative; + +public record Difficulty( + @Nonnegative int level, + @Nonnegative int noteCount +) {} diff --git a/src/main/java/cc/sukazyo/sekai_scores/Song.java b/src/main/java/cc/sukazyo/sekai_scores/Song.java new file mode 100644 index 0000000..e9c733d --- /dev/null +++ b/src/main/java/cc/sukazyo/sekai_scores/Song.java @@ -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 +) {} diff --git a/src/main/java/cc/sukazyo/sekai_scores/SongUnit.java b/src/main/java/cc/sukazyo/sekai_scores/SongUnit.java new file mode 100644 index 0000000..4928626 --- /dev/null +++ b/src/main/java/cc/sukazyo/sekai_scores/SongUnit.java @@ -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; + } + +} diff --git a/src/main/java/cc/sukazyo/sekai_scores/UserScore.java b/src/main/java/cc/sukazyo/sekai_scores/UserScore.java new file mode 100644 index 0000000..7e9f49f --- /dev/null +++ b/src/main/java/cc/sukazyo/sekai_scores/UserScore.java @@ -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 +) {}