diff --git a/bagel-starter-pack/.idea/.gitignore b/bagel-starter-pack/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..b341795898f7f485cd4a0cec96b05dc90d3adbe5 --- /dev/null +++ b/bagel-starter-pack/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../../../:\Users\A\Desktop\oosd\bagel-starter-pack\.idea/dataSources/ +/dataSources.local.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/bagel-starter-pack/.idea/.name b/bagel-starter-pack/.idea/.name new file mode 100644 index 0000000000000000000000000000000000000000..e5199ee79ccef033b3d3412968c960ebf7ffe811 --- /dev/null +++ b/bagel-starter-pack/.idea/.name @@ -0,0 +1 @@ +bagel \ No newline at end of file diff --git a/bagel-starter-pack/.idea/compiler.xml b/bagel-starter-pack/.idea/compiler.xml new file mode 100644 index 0000000000000000000000000000000000000000..75b0a78be1aedef70704331654ab57699026ec36 --- /dev/null +++ b/bagel-starter-pack/.idea/compiler.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <module name="bagel" /> + </profile> + </annotationProcessing> + <bytecodeTargetLevel> + <module name="bagel" target="11" /> + </bytecodeTargetLevel> + </component> +</project> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/jarRepositories.xml b/bagel-starter-pack/.idea/jarRepositories.xml new file mode 100644 index 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5 --- /dev/null +++ b/bagel-starter-pack/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RemoteRepositoriesConfiguration"> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Central Repository" /> + <option name="url" value="https://repo.maven.apache.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Maven Central repository" /> + <option name="url" value="https://repo1.maven.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="jboss.community" /> + <option name="name" value="JBoss Community repository" /> + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> + </remote-repository> + </component> +</project> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__io_github_eleanor_em_bagel_1_9_3.xml b/bagel-starter-pack/.idea/libraries/Maven__io_github_eleanor_em_bagel_1_9_3.xml new file mode 100644 index 0000000000000000000000000000000000000000..8a3817e8e03ccad221cb388d67521c24d3f93203 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__io_github_eleanor_em_bagel_1_9_3.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: io.github.eleanor-em:bagel:1.9.3"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/io/github/eleanor-em/bagel/1.9.3/bagel-1.9.3.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/io/github/eleanor-em/bagel/1.9.3/bagel-1.9.3-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/io/github/eleanor-em/bagel/1.9.3/bagel-1.9.3-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..b41e0a0e6d45226876b26c951f89f0a888668616 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..04a33d893ffa7c2f813e11d6127a98947eb61143 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-assimp:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..a79e8a179bb0c4eec5aae8c94191b326f9a84871 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-assimp:natives-windows:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-natives-windows.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-assimp/3.2.2/lwjgl-assimp-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..48aa8aa34959abd0874a96c96d6e6f9d65c33c91 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-glfw:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..d29558274d1751e28b199599bf85d1ddfa18b9ba --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-glfw:natives-windows:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-natives-windows.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..6ecec7b09589049b3d76151dfe194a55f9fff9e6 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl:natives-windows:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-windows.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..094321fdec8e071749a25633e9045b2367b2860f --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-openal:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..8c35c6518f95447da22bb6bc1e5eb77353ac786a --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-openal:natives-windows:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-natives-windows.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..24121c2ac5c3e85eac2364a7a2245a6fa9ca70cd --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-opengl:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..4a6eab960de86d2070d56d3712b1f563a0b5fe72 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-opengl:natives-windows:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-windows.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..8155b1d9f1cafbdb9f1f61bfe47964a335361c48 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-stb:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..ac60d0661595293883e623a379de58668e318875 --- /dev/null +++ b/bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml @@ -0,0 +1,13 @@ +<component name="libraryTable"> + <library name="Maven: org.lwjgl:lwjgl-stb:natives-windows:3.2.2"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-natives-windows.jar!/" /> + </CLASSES> + <JAVADOC> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-javadoc.jar!/" /> + </JAVADOC> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-sources.jar!/" /> + </SOURCES> + </library> +</component> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/misc.xml b/bagel-starter-pack/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..c0572aa051d2673266994b9b207ed32cfbc44f9d --- /dev/null +++ b/bagel-starter-pack/.idea/misc.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/pom.xml" /> + </list> + </option> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_14" project-jdk-name="14" project-jdk-type="JavaSDK" /> +</project> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/modules.xml b/bagel-starter-pack/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..d4754eaf30e6aef9fd18e15d5f94dcd7b30f5d25 --- /dev/null +++ b/bagel-starter-pack/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/bagel.iml" filepath="$PROJECT_DIR$/bagel.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/bagel-starter-pack/.idea/vcs.xml b/bagel-starter-pack/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..a8bca5f4dd48648fdffd2d1504b9c16cc01e4ca9 --- /dev/null +++ b/bagel-starter-pack/.idea/vcs.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/res" vcs="Git" /> + <mapping directory="$PROJECT_DIR$/yuchen11" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/bagel-starter-pack/bagel.iml b/bagel-starter-pack/bagel.iml new file mode 100644 index 0000000000000000000000000000000000000000..8485d48eafbacf7844677b7f0495782a0978f8a1 --- /dev/null +++ b/bagel-starter-pack/bagel.iml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11"> + <output url="file://$MODULE_DIR$/target/classes" /> + <output-test url="file://$MODULE_DIR$/target/test-classes" /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + <excludeFolder url="file://$MODULE_DIR$/target" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="Maven: io.github.eleanor-em:bagel:1.9.3" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-assimp:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-glfw:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-openal:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-opengl:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-stb:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl:natives-windows:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-assimp:natives-windows:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-glfw:natives-windows:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-openal:natives-windows:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-opengl:natives-windows:3.2.2" level="project" /> + <orderEntry type="library" name="Maven: org.lwjgl:lwjgl-stb:natives-windows:3.2.2" level="project" /> + </component> +</module> \ No newline at end of file diff --git a/bagel-starter-pack/pom.xml b/bagel-starter-pack/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..19edbafc627e4d560897199b353fac6ad0463909 --- /dev/null +++ b/bagel-starter-pack/pom.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>au.edu.unimelb.cis</groupId> + <artifactId>bagel</artifactId> + <version>0.1-SNAPSHOT</version> + <packaging>jar</packaging> + + <build> + <sourceDirectory>src/</sourceDirectory> + <plugins> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>11</source> + <target>11</target> + </configuration> + </plugin> + </plugins> + </build> + + <properties> + <maven.compiler.source>11</maven.compiler.source> + <maven.compiler.target>11</maven.compiler.target> + </properties> + + <dependencies> + <dependency> + <groupId>io.github.eleanor-em</groupId> + <artifactId>bagel</artifactId> + <version>1.9.3</version> + </dependency> + </dependencies> +</project> diff --git a/bagel-starter-pack/src/BagelTest.java b/bagel-starter-pack/src/BagelTest.java new file mode 100644 index 0000000000000000000000000000000000000000..8d321cf04dde7ff1f806fd2a9f3ef2daa583336a --- /dev/null +++ b/bagel-starter-pack/src/BagelTest.java @@ -0,0 +1,116 @@ +import bagel.*; +import bagel.util.Point; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +/** + * An example Bagel game. + * + * @author Eleanor McMurtry + */ +public class BagelTest extends AbstractGame { + private Image tree[] = new Image[4]; + private Image gatherer[] = new Image[4]; + private Image background; + int counterTree = 0; + int counterGatherer = 0; + int towards[] = {1, 2, 3, 4}; + int counter = 0; + int direction[] = {0, 0}; + Point pTree[] = new Point[5]; + Point pGatherer[] = new Point[5]; + BufferedReader reader; + + public BagelTest() throws IOException { + super(1024, 768, "fuck"); +// tree[0] = new Image("res/images/tree.png"); +// gatherer[0] = new Image("res/images/gatherer.png"); + background = new Image("res/images/background.png"); + reader = new BufferedReader(new FileReader("res/worlds/test.csv")); + String line; + + while ((line = reader.readLine()) != null) { + String item[] = line.split(",");//CSV格式文件为逗号分隔符文件,这里根据逗号切分 + int itemX = Integer.parseInt(item[1]); + int itemY = Integer.parseInt(item[2]); + if (item[0].equals("Tree")) { + tree[counterTree] = new Image("res/images/tree.png"); + pTree[counterTree] = new Point(itemX / 16, itemY / 12); + //有问题,如果初始位置不在64的倍数会强制转成64倍数 + counterTree++; + } else { + gatherer[counterGatherer] = new Image("res/images/gatherer.png"); + pGatherer[counterGatherer] = new Point(itemX / 16, itemY / 12); + counterGatherer++; + } + } + + //p[0] = new Point(512 / 64, 384 / 64); + } + + /** + * The entry point for the program. + */ +// public static void main(String[] args) throws IOException { +// BagelTest game = new BagelTest(); +// game.run(); +// } + + @Override + public void update(Input input) { + double speed = 1; + Tool tool = new Tool(); + if (input.wasPressed(Keys.ESCAPE)) { + Window.close(); + } + if (counter % 5 == 0) { + + direction[0] = tool.chooseDirection(); + direction[1] = tool.chooseDirection(); + } + + + try { + Thread.sleep(500); + counter++; + + } catch (InterruptedException e) { + e.printStackTrace(); + } + + for (int i = 0; i < counterGatherer; i++) { + tool.move(pGatherer, i, direction[i], speed); + System.out.println(pGatherer[i].x); + } + + background.drawFromTopLeft(0, 0); + for (int i = 0; i < counterGatherer; i++) { + gatherer[i].drawFromTopLeft(pGatherer[i].x * 16, pGatherer[i].y * 12); + //System.out.println(pGatherer[i].y); + //System.out.println(direction); + } + for (int i = 0; i < counterTree; i++) { + tree[i].drawFromTopLeft(pTree[i].x * 16, pTree[i].y * 12); + //System.out.println("t"+ i +"...."+pTree[i].y*64); + } + } + + + +// public void isOut(Point point){ +// if (point.x < 0 && point.x > 11) { +// +// } +// } +// public void isHome(){ +// if ((55> Math.abs(854-x)) && (55> Math.abs(268-y))) { +// if (t == 0) { +// System.out.println("you are home!"); +// } +// t++; +// +// font.drawString("you are home!", 32, 32); +// //Window.close(); +// } +// } +} diff --git a/bagel-starter-pack/src/Game.java b/bagel-starter-pack/src/Game.java new file mode 100644 index 0000000000000000000000000000000000000000..7c120d648d3ce928316b3be4002c9e5debe94eb4 --- /dev/null +++ b/bagel-starter-pack/src/Game.java @@ -0,0 +1,8 @@ +import java.io.IOException; + +public class Game { + public static void main(String[] args) throws IOException { + BagelTest game = new BagelTest(); + game.run(); + } +} diff --git a/bagel-starter-pack/src/Linear_optimization.java b/bagel-starter-pack/src/Linear_optimization.java new file mode 100644 index 0000000000000000000000000000000000000000..0c4aa7c76d91a065ffedee1aad04a3b1c1ab0c39 --- /dev/null +++ b/bagel-starter-pack/src/Linear_optimization.java @@ -0,0 +1,191 @@ +public class Linear_optimization { + + private static double A[][] = { { 2, 1, 1, 0, 0 , 0}, + { 3, -2, 0, 1, 0 , 0}, + { 1, 2, 0, 0, 1, 0 }, + { -1, 3, 0, 0, 0, 1}};// 系数矩阵 + + private static int m = A.length; //m个方程 + private static int n = A[0].length; //n个决策变量 + + private static double C[] = { 3, 2, 0, 0, 0 }; // 价值系数 + + private static double b[] = { 5, 4 ,9}; // 资源常数 + + private static double theta[] = new double[m]; //b的检验数 + + private static int basedVar[] = new int[m]; // 基变量,存基变量的下标,从1开始标号(区别于数组存储习惯) + + private static double yita[] = new double[n]; //检验数,有n个决策变量的检验数 + + private static double result = -1; //结果 + + private static int idxOfIn = -1; //换入变量的下标 + + private static int idxOfOut = -1; //换出变量的下标 + + public static void main(String[] args) { + //输入数据,为了简单起见,我们的数据直接在代码中敲入,这个函数等测试完后加 + inputNums(); + //找初始基变量 + findBasedVariables(); + //判断是否最优解 + while (!isOptimum()) { + //找换入变量 + idxOfIn = getVariableIn(); + printVector(); + //找换出变量 + idxOfOut = getVariableOut(); + //如果idxOfOut返回-1,则该线性规划问题有无界解 + if(idxOfOut == -1) + return; + //旋转运算,更新矩阵 + updateVectors(); + printVector(); + System.out.println("\n"); + } + //输出最优解 + printOptimum(); + } + + // 输入数据,先在代码中写入数据,后期再加,先把初始检验数赋值为价值系数 + private static void inputNums() { + for (int i = 0; i < yita.length; i++) { + yita[i] = C[i]; //yita为检验数 + } + } + + // 找基变量,简单的拿最后m个决策变量,后期可优化,存储在basedVar数组中 + private static void findBasedVariables() { + + //取n个决策变量的最后m个作基变量 + for (int i = 0; i < m; i++) { + //basedVar[i] = n-i; + //改变存放顺序为正叙 + basedVar[m-i-1] = n-i ; + } + System.out.println("基变量为:"); + for (int i = 0; i < basedVar.length; i++) { + System.out.print("x" + (basedVar[i]) + "\t"); + } + System.out.println(); + } + + // 判断是否最优解,并计算检验数yita向量 + private static boolean isOptimum() { + //换入变量代替换出变量 + if(idxOfIn != -1 && idxOfOut != -1){ + //第idxOfOut个基变量换为x idxOfIn + basedVar[idxOfOut] = idxOfIn+1; + } + //更新检验数 + for (int i = 0; i < n; i++) { + double temp = yita[i]; + for (int j = 0; j < m; j++) { + temp -= A[j][i] * C[basedVar[j] -1]; + } + yita[i] = temp; + } + + boolean hasPossitiveYita = false; + for (int i = 0; i < yita.length; i++) { + if(yita[i] > 0) + hasPossitiveYita = true; + } + System.out.println("是否最优解:" + !hasPossitiveYita); + return !hasPossitiveYita; + } + + // 确定换入变量,返回换入变量的下标-1 + private static int getVariableIn() { + //遍历检验数 + int index = 0; + System.out.println("检验数如下:"); + for (int i = 0; i < yita.length; i++) { + System.out.print(yita[i] + "\t"); + if(yita[i] > yita[index]){ + index = i; + } + } + System.out.println(); + System.out.println("换入变量是x" + (index+1)); + return index; + } + + // 确定换出变量,返回换出变量在基变量向量中的下标 + private static int getVariableOut() { + + System.out.println("theta:"); + for (int i = 0; i < m; i++) { + if( Double.compare(A[i][idxOfIn], 0) != 0) + theta[i] = b[i] / A[i][idxOfIn]; + else { + theta[i] = 0; + } + System.out.print(theta[i] + "\t"); + } + System.out.println(); + + int index = 0; + for (int i = 0; i < theta.length; i++) { + if(theta[i] <= 0){ + System.out.println("该方程有无界解..."); + return -1; + }else { + if(theta[i] < theta[index]) + index = i; + } + } + System.out.println("换出变量是:x" + (basedVar[index])); + return index; + } + + // 更新旋转运算后的矩阵 + private static void updateVectors() { + //m个方程,n个变量 + //将主元系数化为1 + //防止迭代中主元的值被改变后引起 其它系数除主元的新值,将主元的原值存于temp + double temp = A[idxOfOut][idxOfIn]; + for (int i = 0; i < n; i++) { + A[idxOfOut][i] /= temp; + } + b[idxOfOut] /= temp; + + System.out.println("\n将主元系数化为1"); + printVector(); + //主元所在列其余元素系数要化为0,即:主元列中,非主元所在行均减去 主元系数分之一*A[m][n] + for (int i = 0; i < m; i++) { + //若是换出变量所对应行,则该行不用换算 + double temp1 = A[i][idxOfIn]/A[idxOfOut][idxOfIn]; + if(i != idxOfOut){ + for (int j = 0; j < n; j++) { + A[i][j] -= A[idxOfOut][j]*temp1; + } + b[i] -= b[idxOfOut] * temp1; + } + } + System.out.println("完成一次矩阵旋转运算..."); + } + + //输出系数矩阵 + private static void printVector() { + for (int i = 0; i < m; i++) { + for (int j = 0; j < n; j++) { + System.out.print(A[i][j] + "\t"); + } + System.out.println(b[i]); + } + System.out.println("-----------------------------------------------"); + } + + //输出最优解 + private static void printOptimum() { + result = 0; + for (int i = 0; i < basedVar.length; i++) { + result += C[basedVar[i]-1] * b[i]; + } + System.out.println("最优解:z = " + result); + } + + +} diff --git a/bagel-starter-pack/src/Tool.java b/bagel-starter-pack/src/Tool.java new file mode 100644 index 0000000000000000000000000000000000000000..19a7e299f93e4754dfd7ca195145344ca73760c1 --- /dev/null +++ b/bagel-starter-pack/src/Tool.java @@ -0,0 +1,26 @@ +import bagel.util.Point; + +public class Tool { + public int chooseDirection() { + int direction = 1 + (int) (Math.random() * (4)); + return direction; + } + + public void move(Point point[], int order, int direction, double speed) { + if (direction == 1) { + point[order] = new Point(point[order].x - speed, point[order].y); + } + if (direction == 2) { + point[order] = new Point(point[order].x + speed, point[order].y); + //point = new Point(point.x + speed, point.y); + } + if (direction == 3) { + point[order] = new Point(point[order].x, point[order].y - speed); + // point = new Point(point.x, point.y - speed); + } + if (direction == 4) { + point[order] = new Point(point[order].x, point[order].y + speed); + //point = new Point(point.x, point.y + speed); + } + } +} diff --git a/bagel-starter-pack/src/VideoGame.java b/bagel-starter-pack/src/VideoGame.java new file mode 100644 index 0000000000000000000000000000000000000000..aed9f30793c76e33dfaf8a14375396e634cf3da7 --- /dev/null +++ b/bagel-starter-pack/src/VideoGame.java @@ -0,0 +1,74 @@ +import java.util.Arrays; + +public class VideoGame { + public final String name; + public final String platform; + + private static final VideoGame[] games = new VideoGame[100]; + private static int numGames = 0; + + public VideoGame(String name, String platform) { + this.name = name; + this.platform = platform; + + games[numGames++] = this; + } + + public int compareTo(VideoGame other) { + int platformCompare = platform.compareTo(other.platform); + if (platformCompare != 0) { + return platformCompare; + } else { + return name.compareTo(other.name); + } + } + + public static VideoGame[] getSortedVideoGames() { + // Create a copy of the array to sort + VideoGame[] sorted = Arrays.copyOf(games, games.length); + + // Recursively sort the array + quickSort(sorted, 0, numGames - 1); + return sorted; + } + + private static void quickSort(VideoGame[] array, int low, int high) { + if (low < high) { + // Choose a pivot + VideoGame pivot = array[high]; + + // Partition the array + int i = low; + for (int j = low; j < high; ++j) { + if (array[j].compareTo(pivot) < 0) { + // Swap the elements + VideoGame temp = array[i]; + array[j] = array[i]; + array[j] = temp; + ++i; + } + } + + // Swap the elements + VideoGame temp = array[i]; + array[high] = array[i]; + array[i] = temp; + + quickSort(array, low, i - 1); + quickSort(array, i + 1, high - 1); + } + } + + public String toString() { + return String.format("%s (%s)", name, platform); + } + + public static void main(String[] args) { + new VideoGame("Halo", "Xbox"); + new VideoGame("Ocarina of Time", "Nintendo 64"); + new VideoGame("Red Dead Redemption 2", "Xbox One"); + new VideoGame("Majora's Mask", "Nintendo 64"); + + System.out.println(Arrays.toString(VideoGame.getSortedVideoGames())); + } +} diff --git a/bagel-starter-pack/target/classes/BagelTest.class b/bagel-starter-pack/target/classes/BagelTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8ee793345f8d4964433889064552b2c7a80cc4a1 Binary files /dev/null and b/bagel-starter-pack/target/classes/BagelTest.class differ diff --git a/bagel-starter-pack/target/classes/Game.class b/bagel-starter-pack/target/classes/Game.class new file mode 100644 index 0000000000000000000000000000000000000000..a0e649b24d3969dec369ed61080c6ebe8532cd7e Binary files /dev/null and b/bagel-starter-pack/target/classes/Game.class differ diff --git a/bagel-starter-pack/target/classes/Linear_optimization.class b/bagel-starter-pack/target/classes/Linear_optimization.class new file mode 100644 index 0000000000000000000000000000000000000000..bae20d3e79da53a1388015c449ad5ddea31f7d98 Binary files /dev/null and b/bagel-starter-pack/target/classes/Linear_optimization.class differ diff --git a/bagel-starter-pack/target/classes/Tool.class b/bagel-starter-pack/target/classes/Tool.class new file mode 100644 index 0000000000000000000000000000000000000000..1c1738eff445837e680a9ad52564d146b6376c21 Binary files /dev/null and b/bagel-starter-pack/target/classes/Tool.class differ diff --git a/bagel-starter-pack/target/classes/VideoGame.class b/bagel-starter-pack/target/classes/VideoGame.class new file mode 100644 index 0000000000000000000000000000000000000000..3824ee33aa6fa856fb1fb99b6e74475dbc0b8f32 Binary files /dev/null and b/bagel-starter-pack/target/classes/VideoGame.class differ