From f34175579e0e4f4d8f50888d8156c33d800fbd93 Mon Sep 17 00:00:00 2001 From: Yuchen Li <yuchen.li7@student.unimelb.edu.au> Date: Sat, 5 Sep 2020 14:20:33 +0800 Subject: [PATCH] last --- bagel-starter-pack/.idea/.gitignore | 8 + bagel-starter-pack/.idea/.name | 1 + bagel-starter-pack/.idea/compiler.xml | 16 ++ bagel-starter-pack/.idea/jarRepositories.xml | 20 ++ ...aven__io_github_eleanor_em_bagel_1_9_3.xml | 13 ++ .../Maven__org_lwjgl_lwjgl_3_2_2.xml | 13 ++ .../Maven__org_lwjgl_lwjgl_assimp_3_2_2.xml | 13 ++ ...jgl_lwjgl_assimp_natives_windows_3_2_2.xml | 13 ++ .../Maven__org_lwjgl_lwjgl_glfw_3_2_2.xml | 13 ++ ...lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml | 13 ++ ..._org_lwjgl_lwjgl_natives_windows_3_2_2.xml | 13 ++ .../Maven__org_lwjgl_lwjgl_openal_3_2_2.xml | 13 ++ ...jgl_lwjgl_openal_natives_windows_3_2_2.xml | 13 ++ .../Maven__org_lwjgl_lwjgl_opengl_3_2_2.xml | 13 ++ ...jgl_lwjgl_opengl_natives_windows_3_2_2.xml | 13 ++ .../Maven__org_lwjgl_lwjgl_stb_3_2_2.xml | 13 ++ ..._lwjgl_lwjgl_stb_natives_windows_3_2_2.xml | 13 ++ bagel-starter-pack/.idea/misc.xml | 11 + bagel-starter-pack/.idea/modules.xml | 8 + bagel-starter-pack/.idea/vcs.xml | 7 + bagel-starter-pack/bagel.iml | 26 +++ bagel-starter-pack/pom.xml | 37 ++++ bagel-starter-pack/src/BagelTest.java | 116 +++++++++++ bagel-starter-pack/src/Game.java | 8 + .../src/Linear_optimization.java | 191 ++++++++++++++++++ bagel-starter-pack/src/Tool.java | 26 +++ bagel-starter-pack/src/VideoGame.java | 74 +++++++ .../target/classes/BagelTest.class | Bin 0 -> 3048 bytes bagel-starter-pack/target/classes/Game.class | Bin 0 -> 490 bytes .../target/classes/Linear_optimization.class | Bin 0 -> 4493 bytes bagel-starter-pack/target/classes/Tool.class | Bin 0 -> 844 bytes .../target/classes/VideoGame.class | Bin 0 -> 2183 bytes 32 files changed, 718 insertions(+) create mode 100644 bagel-starter-pack/.idea/.gitignore create mode 100644 bagel-starter-pack/.idea/.name create mode 100644 bagel-starter-pack/.idea/compiler.xml create mode 100644 bagel-starter-pack/.idea/jarRepositories.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__io_github_eleanor_em_bagel_1_9_3.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_2.xml create mode 100644 bagel-starter-pack/.idea/misc.xml create mode 100644 bagel-starter-pack/.idea/modules.xml create mode 100644 bagel-starter-pack/.idea/vcs.xml create mode 100644 bagel-starter-pack/bagel.iml create mode 100644 bagel-starter-pack/pom.xml create mode 100644 bagel-starter-pack/src/BagelTest.java create mode 100644 bagel-starter-pack/src/Game.java create mode 100644 bagel-starter-pack/src/Linear_optimization.java create mode 100644 bagel-starter-pack/src/Tool.java create mode 100644 bagel-starter-pack/src/VideoGame.java create mode 100644 bagel-starter-pack/target/classes/BagelTest.class create mode 100644 bagel-starter-pack/target/classes/Game.class create mode 100644 bagel-starter-pack/target/classes/Linear_optimization.class create mode 100644 bagel-starter-pack/target/classes/Tool.class create mode 100644 bagel-starter-pack/target/classes/VideoGame.class diff --git a/bagel-starter-pack/.idea/.gitignore b/bagel-starter-pack/.idea/.gitignore new file mode 100644 index 0000000..b341795 --- /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 0000000..e5199ee --- /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 0000000..75b0a78 --- /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 0000000..712ab9d --- /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 0000000..8a3817e --- /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 0000000..b41e0a0 --- /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 0000000..04a33d8 --- /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 0000000..a79e8a1 --- /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 0000000..48aa8aa --- /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 0000000..d295582 --- /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 0000000..6ecec7b --- /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 0000000..094321f --- /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 0000000..8c35c65 --- /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 0000000..24121c2 --- /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 0000000..4a6eab9 --- /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 0000000..8155b1d --- /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 0000000..ac60d06 --- /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 0000000..c0572aa --- /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 0000000..d4754ea --- /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 0000000..a8bca5f --- /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 0000000..8485d48 --- /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 0000000..19edbaf --- /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 0000000..8d321cf --- /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 0000000..7c120d6 --- /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 0000000..0c4aa7c --- /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 0000000..19a7e29 --- /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 0000000..aed9f30 --- /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 GIT binary patch literal 3048 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 B&&B`% literal 0 HcmV?d00001 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 GIT binary patch literal 490 zcmX^0Z`VEs1_pBmc`gPf24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc22Q8M^wgY?)Z!8@26hH!5W&sEzys3HTvVFJ&cMgWz~Y{mo65+* z;+&t7%E-X)lbM(5SDKrYS`?C)l#|NHAmo#uoR|}qSd<CkLj_q%GBS%98Q6S4nyncb zSaK6H^B5V#G@^YF?g}m`%FIi*)(m50U`Z@WFJ@#A#v;wgz>*Gj0k;p_wbqObT&@+# zsRbpO`FX|c3^I%i!eDbV^YuOb;WCU2T*3LJMaijdnIM;Pf*hj<Qpcdkz{|kI00K-5 zjGzExU}WHDU|`T^U}RuqU|?X?+RnhZk%57Mi9vvYfq@My$jl(fz`(!*X0tK~F$gm- zFmN)6Fo-fRfi-(FFo6x_-Oa!rxt)R2M|&Fs7s3!e24;}S3>*w>3_J|%V8g^98W_YF j#2FYEI2c$NBp4(a7#XA(7#LU>7#XA)7#U>2&X5BD?s-_9 literal 0 HcmV?d00001 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 GIT binary patch literal 4493 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 GK@tEo=MBjK literal 0 HcmV?d00001 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 GIT binary patch literal 844 zcmX^0Z`VEs1_pBmeJ%zj24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SE(Q(;PId+^9tLg(9!3T}gmT}+k_<)$wxYzml>A(<Viz_C0R}K&XAody z5J*Z)PtDOUEy>K$56I8VE8%3|XAt6H5M~fzWMHgdWMFgwiHPwqh=WBcxfu8vBth<y zVq{>|aB<NLV`q?IWMB!&&(C3GU~$e*No8c<_sPsl^()OyN-YXWOv*`RWDxSnPfpAU zODxI+@u7k&B^jB;j0|i(AkEf{4E)I%`T51EE}2EC$t9Wjd0+>7GBR+cAVe5F85vk| z^UG2h86-8LebAk6?dj>F8OF%KS^)A4BZDv&C5#NL`9&$IMT`ur#RaLUDU1xf!6k{w z*}jPdP=|2^=a&{Gr@Cc=oX!byogOGm859|$8JNI<$IQS8iW>$-23ZCM27Lxb21W)3 z23D=@42&BY7#Nrs<QNzj*ua9!4Dt*N3_M^qD}w@qA_D^hBZCryGE}oG11s22UX~pU z>>>=j*?kE%(re&`fYJg311keJ0~^>NF^FQQLEH>X3@Qw&VEfe=)S*UxXW(LBV_;yY zlx11KAfqj_n}I)4TgGS$gP;UUI+!84ok1d4mK8%b8A+B6O%@_0!IBQv%Z@`f86*n| z17>g-s4;LdFfed|Js`)x%b?7_$6&)C$l%Bz#1O?G$`H>W#!$f^3HF)^11reUP_HpC vR5EBVXoAD7l0l0>73}d!uy>ik>a-a|7+4r|z#+{dCo3z<z{sEr4mdpkziW>> literal 0 HcmV?d00001 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 GIT binary patch literal 2183 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 WQ#Pob0m_yf3>*xM47uPmmj?jvv#&+~ literal 0 HcmV?d00001 -- GitLab