diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 717cc5c..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -AlienDefence \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index ac216bc..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index 8c8418f..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml deleted file mode 100644 index fdc392f..0000000 --- a/.idea/jarRepositories.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 1b578d5..2a824a2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,5 @@ - diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..37e49a5 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/README.md b/README.md index c5e10c4..61ac21c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Ihnen liegen eine funktionierende Angriffswelt, verschiedene Menüs und ein spie In den Räumlichkeiten der Schick&Kannix gibt es einiges, was Ihnen bei der Entwicklung helfen kann. Zum einen finden Sie hier den Quellcode des Spiels. -Auch wurde ein Scrumboard zurückgelassen, das noch die aktuellen ToDos bei dem Projekt zeigt. +Auch wurde ein Scrumboard zurückgelassen, das noch die aktuellen ToDos bei dem Projekt zeigt: https://trello.com/b/LorKrW1Z/ls03-alien-defence . Außerdem gibt es eine kleine Fachbibliothek mit Literatur, die für die Fertigstellung der Software wichtig ist, und die Sie in jedem Abschnitt in Moodle finden. Also auf gehts ans Werk! \ No newline at end of file diff --git a/.idea/modules/VL_AlienDefence.iml b/VL_AlienDefence.iml similarity index 60% rename from .idea/modules/VL_AlienDefence.iml rename to VL_AlienDefence.iml index f491540..c90834f 100644 --- a/.idea/modules/VL_AlienDefence.iml +++ b/VL_AlienDefence.iml @@ -2,7 +2,10 @@ - + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 864e019..0000000 --- a/build.gradle +++ /dev/null @@ -1,37 +0,0 @@ -plugins { - id 'java' -} - -group 'de.oszimt.ls' -version '1.0-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' -} - -test { - useJUnitPlatform() -} - -/** - * 1st approach: Setting encoding during compilation in Java and Test classes - */ -compileJava.options.encoding = "UTF-8" -compileTestJava.options.encoding = "UTF-8" - -/** - * 2nd approach: Setting encoding during compilation in Java and Test classes - */ -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" -} - -tasks.withType(Test) { - systemProperty "file.encoding", "UTF-8" -} - diff --git a/gradle.properties b/gradle.properties deleted file mode 100644 index 1e81d89..0000000 --- a/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -org.gradle.warning.mode=none -org.gradle.jvmargs=-Dfile.encoding=UTF8 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c..0000000 Binary files a/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index be52383..0000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew deleted file mode 100755 index 4f906e0..0000000 --- a/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index 107acd3..0000000 --- a/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index e9a8d3f..0000000 --- a/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'AlienDefence' - diff --git a/sql/alien_defence.sql b/sql/alien_defence.sql deleted file mode 100644 index 0a6a2dc..0000000 --- a/sql/alien_defence.sql +++ /dev/null @@ -1,188 +0,0 @@ --- phpMyAdmin SQL Dump --- version 4.0.9 --- http://www.phpmyadmin.net --- --- Host: 127.0.0.1 --- Erstellungszeit: 11. Feb 2021 um 09:23 --- Server Version: 5.6.14 --- PHP-Version: 5.5.6 - -SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; -SET time_zone = "+00:00"; - - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; - --- --- Datenbank: `alien_defence` --- - --- -------------------------------------------------------- - --- --- Tabellenstruktur für Tabelle `levels` --- - -CREATE TABLE IF NOT EXISTS `levels` ( - `P_level_id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(100) NOT NULL, - `background` varchar(100) NOT NULL, - `duration` int(11) NOT NULL, - PRIMARY KEY (`P_level_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=4 ; - --- --- Daten für Tabelle `levels` --- - -INSERT INTO `levels` (`P_level_id`, `name`, `background`, `duration`) VALUES -(1, 'Level 1', 'background_1.jpg', 10000), -(2, 'Level 2', 'background_2.jpg', 5000), -(3, 'Level 3', 'background_10.jpg', 10000); - --- -------------------------------------------------------- - --- --- Tabellenstruktur für Tabelle `targets` --- - -CREATE TABLE IF NOT EXISTS `targets` ( - `P_target_id` int(11) NOT NULL AUTO_INCREMENT, - `F_level_id` int(11) NOT NULL, - `x_position` int(11) NOT NULL, - `y_position` int(11) NOT NULL, - `width` int(11) NOT NULL, - `height` int(11) NOT NULL, - `time` int(11) NOT NULL, - `duration` int(11) NOT NULL, - `image_address` varchar(100) NOT NULL, - PRIMARY KEY (`P_target_id`), - KEY `FK LEVELS ID` (`F_level_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=60 ; - --- --- Daten für Tabelle `targets` --- - -INSERT INTO `targets` (`P_target_id`, `F_level_id`, `x_position`, `y_position`, `width`, `height`, `time`, `duration`, `image_address`) VALUES -(40, 1, 100, 100, 150, 50, 1000, 2000, 'ufo_1.png'), -(41, 1, 500, 100, 150, 50, 2000, 2000, 'ufo_2.png'), -(44, 1, 800, 800, 150, 50, 3000, 2000, 'ufo_3.png'), -(51, 1, 600, 400, 150, 50, 4000, 1000, 'ufo_4.png'), -(52, 1, 200, 400, 150, 50, 5000, 1500, 'ufo_5.png'), -(53, 1, 1000, 800, 150, 50, 6000, 1000, 'ufo_3.png'), -(54, 1, 500, 500, 150, 50, 7000, 1000, 'ufo_1.png'), -(55, 2, 600, 400, 150, 50, 1000, 2000, 'ufo_3.png'), -(56, 2, 400, 600, 150, 50, 2000, 2000, 'ufo_2.png'), -(57, 3, 600, 400, 150, 50, 1000, 1000, 'ufo_3.png'), -(58, 3, 600, 400, 150, 50, 6000, 1000, 'ufo_3.png'), -(59, 3, 100, 300, 400, 150, 4000, 1000, 'ufo_3.png'); - --- -------------------------------------------------------- - --- --- Tabellenstruktur für Tabelle `attempts` --- - -CREATE TABLE IF NOT EXISTS `attempts` ( - `P_attempt_id` int(11) NOT NULL AUTO_INCREMENT, - `F_user_id` int(11) NOT NULL, - `F_level_id` int(11) NOT NULL, - `shots` int(11) NOT NULL, - `hits` int(11) NOT NULL, - `reaction_time` int(11) NOT NULL, - `date` date NOT NULL, - `time` time NOT NULL, - PRIMARY KEY (`P_attempt_id`), - KEY `FK PARTICIPANTS ID` (`F_user_id`), - KEY `FK LEVELS2 ID` (`F_level_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=333 ; - --- --- Daten für Tabelle `attempt` --- - -INSERT INTO `attempts` (`P_attempt_id`, `F_user_id`, `F_level_id`, `shots`, `hits`, `reaction_time`, `date`, `time`) VALUES -(278, 1, 3, 3, 2, 2214, '2020-08-15', '09:23:32'), -(279, 1, 3, 3, 3, -942, '2020-08-15', '09:24:04'), -(299, 1, 3, 3, 2, 3533, '2020-08-15', '10:16:46'), -(300, 1, 3, 5, 2, 2451, '2020-08-15', '10:17:21'), -(303, 1, 3, 5, 3, -979, '2020-08-15', '10:32:21'), -(304, 1, 3, 9, 2, 878, '2020-08-15', '10:32:49'), -(313, 1, 2, 2, 1, 571, '2020-08-15', '13:56:01'), -(314, 1, 2, 4, 2, 1101, '2020-08-15', '14:21:01'), -(315, 1, 1, 10, 4, 514, '2020-08-15', '14:21:30'), -(316, 1, 2, 3, 2, 724, '2020-08-15', '14:23:59'), -(317, 1, 2, 0, 0, 0, '2020-08-15', '16:03:36'), -(318, 1, 2, 4, 2, 651, '2020-08-15', '16:23:43'), -(319, 1, 2, 6, 2, 1262, '2020-08-15', '17:09:40'), -(320, 1, 2, 6, 2, 784, '2020-08-15', '17:11:35'), -(321, 1, 2, 3, 1, 1857, '2020-08-15', '17:11:51'), -(322, 1, 1, 7, 6, 1021, '2021-02-09', '10:15:41'), -(323, 1, 1, 6, 6, 664, '2021-02-09', '10:16:19'), -(324, 1, 1, 5, 5, 1000, '2021-02-09', '15:14:03'), -(325, 1, 1, 20, 7, 300, '2021-02-09', '15:14:45'), -(326, 1, 1, 5, 5, 703, '2021-02-09', '15:57:42'), -(327, 1, 1, 0, 0, 0, '2021-02-09', '16:20:42'), -(328, 1, 1, 7, 7, 622, '2021-02-09', '17:37:38'), -(329, 1, 3, 2, 2, -1772, '2021-02-09', '17:37:57'), -(330, 1, 1, 27, 6, 935, '2021-02-10', '15:34:13'), -(331, 1, 1, 7, 7, 660, '2021-02-10', '15:44:01'), -(332, 1, 1, 3, 3, 1013, '2021-02-11', '08:39:39'); - --- -------------------------------------------------------- - --- --- Tabellenstruktur für Tabelle `users` --- - -CREATE TABLE IF NOT EXISTS `users` ( - `P_user_id` int(11) NOT NULL AUTO_INCREMENT, - `first_name` varchar(100) NOT NULL, - `sur_name` varchar(100) NOT NULL, - `birthday` date NOT NULL, - `street` varchar(100) NOT NULL, - `house_number` varchar(6) NOT NULL, - `postal_code` char(5) NOT NULL, - `city` varchar(100) NOT NULL, - `login_name` varchar(100) NOT NULL, - `password` varchar(100) NOT NULL, - `salary_expectations` int(100) NOT NULL, - `marital_status` varchar(100) NOT NULL, - `final_grade` decimal(3,2) NOT NULL, - PRIMARY KEY (`P_user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=6 ; - --- --- Daten für Tabelle `users` --- - -INSERT INTO `users` (`P_user_id`, `first_name`, `sur_name`, `birthday`, `street`, `house_number`, `postal_code`, `city`, `login_name`, `password`, `salary_expectations`, `marital_status`, `final_grade`) VALUES -(1, 'Mike', 'Leveltester', '2000-10-25', 'Testweg', '1', '10245', 'Berlin', 'test', 'pass', 36000, 'Roboter', '1.00'), -(2, 'MC', 'A', '1998-02-03', 'Brooklynstreet', '2', '10113', 'NYC', 'user', 'pass', 100000, 'ledig', '2.40'), -(3, 'Susanne', 'König', '2001-12-25', 'Hasenweg', '4', '08900', 'Bretnig-Hauswalde', 'susi', 'pass', 20000, 'verheirate', '2.90'), -(4, 'Jan', 'Jonas', '2004-02-29', 'Galihag', '111C', '10317', 'Berlin', 'jan', 'pass', 44444, 'ledig', '1.00'), -(5, 'Felix', 'DelSande', '1985-04-01', 'Lerchenweg', '23', '10245', 'Berlin', 'felix', 'pass', 36000, 'ledig', '3.70'); - --- --- Constraints der exportierten Tabellen --- - --- --- Constraints der Tabelle `targets` --- -ALTER TABLE `targets` - ADD CONSTRAINT `FK LEVELS ID` FOREIGN KEY (`F_level_id`) REFERENCES `levels` (`P_level_id`); - -ALTER TABLE `attempts` - ADD CONSTRAINT `FK LEVEL ID` FOREIGN KEY (`F_level_id`) REFERENCES `levels` (`P_level_id`); - -ALTER TABLE `attempts` - ADD CONSTRAINT `FK USER ID` FOREIGN KEY (`F_user_id`) REFERENCES `users` (`P_user_id`); - -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/src/main/java/controller/AlienDefenceController.java b/src/de/oszimt/ls/aliendefence/controller/AlienDefenceController.java similarity index 85% rename from src/main/java/controller/AlienDefenceController.java rename to src/de/oszimt/ls/aliendefence/controller/AlienDefenceController.java index 24ae958..7c291a2 100644 --- a/src/main/java/controller/AlienDefenceController.java +++ b/src/de/oszimt/ls/aliendefence/controller/AlienDefenceController.java @@ -1,8 +1,8 @@ -package controller; +package de.oszimt.ls.aliendefence.controller; -import model.Level; -import model.persistence.IPersistance; -import toDo.User; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.toDo.User; public class AlienDefenceController { diff --git a/src/main/java/controller/AttemptController.java b/src/de/oszimt/ls/aliendefence/controller/AttemptController.java similarity index 83% rename from src/main/java/controller/AttemptController.java rename to src/de/oszimt/ls/aliendefence/controller/AttemptController.java index 6a476d0..43a8e73 100644 --- a/src/main/java/controller/AttemptController.java +++ b/src/de/oszimt/ls/aliendefence/controller/AttemptController.java @@ -1,10 +1,10 @@ -package controller; +package de.oszimt.ls.aliendefence.controller; import java.util.Vector; -import model.Level; -import model.persistence.IAttemptPersistance; -import model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; public class AttemptController { diff --git a/src/main/java/controller/GameController.java b/src/de/oszimt/ls/aliendefence/controller/GameController.java similarity index 92% rename from src/main/java/controller/GameController.java rename to src/de/oszimt/ls/aliendefence/controller/GameController.java index 69fdccc..f95a53d 100644 --- a/src/main/java/controller/GameController.java +++ b/src/de/oszimt/ls/aliendefence/controller/GameController.java @@ -1,13 +1,13 @@ -package controller; +package de.oszimt.ls.aliendefence.controller; import java.util.LinkedList; import java.util.List; -import model.Level; -import model.Point; -import model.Target; -import toDo.User; -import view.menue.Highscore; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.Point; +import de.oszimt.ls.aliendefence.model.Target; +import de.oszimt.ls.aliendefence.toDo.User; +import de.oszimt.ls.aliendefence.view.menue.Highscore; public class GameController { diff --git a/src/main/java/controller/HitCounter.java b/src/de/oszimt/ls/aliendefence/controller/HitCounter.java similarity index 97% rename from src/main/java/controller/HitCounter.java rename to src/de/oszimt/ls/aliendefence/controller/HitCounter.java index af3a5da..ca89967 100644 --- a/src/main/java/controller/HitCounter.java +++ b/src/de/oszimt/ls/aliendefence/controller/HitCounter.java @@ -1,4 +1,4 @@ -package controller; +package de.oszimt.ls.aliendefence.controller; public class HitCounter { diff --git a/src/main/java/controller/LevelController.java b/src/de/oszimt/ls/aliendefence/controller/LevelController.java similarity index 86% rename from src/main/java/controller/LevelController.java rename to src/de/oszimt/ls/aliendefence/controller/LevelController.java index f8d903f..760c337 100644 --- a/src/main/java/controller/LevelController.java +++ b/src/de/oszimt/ls/aliendefence/controller/LevelController.java @@ -1,14 +1,14 @@ -package controller; +package de.oszimt.ls.aliendefence.controller; import java.util.List; -import model.Level; -import model.persistence.ILevelPersistance; -import model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.persistence.ILevelPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; public class LevelController { - private ILevelPersistance levelPersistance; + private final ILevelPersistance levelPersistance; public final String DEFAULT_LEVELNAME = "unnamed"; public final String DEFAULT_BACKGROUND_PICTURE_URL = "background_1.jpg"; public final long DEFAULT_DURATION = 90000L; diff --git a/src/main/java/controller/TargetController.java b/src/de/oszimt/ls/aliendefence/controller/TargetController.java similarity index 91% rename from src/main/java/controller/TargetController.java rename to src/de/oszimt/ls/aliendefence/controller/TargetController.java index 9c0a8d6..2260ccb 100644 --- a/src/main/java/controller/TargetController.java +++ b/src/de/oszimt/ls/aliendefence/controller/TargetController.java @@ -1,12 +1,12 @@ -package controller; +package de.oszimt.ls.aliendefence.controller; import java.util.List; import java.util.ListIterator; -import model.Level; -import model.Target; -import model.persistence.IPersistance; -import model.persistence.ITargetPersistance; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.Target; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.model.persistence.ITargetPersistance; public class TargetController { diff --git a/src/main/java/model/Attempt.java b/src/de/oszimt/ls/aliendefence/model/Attempt.java similarity index 94% rename from src/main/java/model/Attempt.java rename to src/de/oszimt/ls/aliendefence/model/Attempt.java index 3e5a01e..d7f9a00 100644 --- a/src/main/java/model/Attempt.java +++ b/src/de/oszimt/ls/aliendefence/model/Attempt.java @@ -1,9 +1,9 @@ -package model; +package de.oszimt.ls.aliendefence.model; import java.time.LocalDateTime; import java.util.Vector; -import toDo.User; +import de.oszimt.ls.aliendefence.toDo.User; public class Attempt { diff --git a/src/main/java/model/Hitbox.java b/src/de/oszimt/ls/aliendefence/model/Hitbox.java similarity index 97% rename from src/main/java/model/Hitbox.java rename to src/de/oszimt/ls/aliendefence/model/Hitbox.java index c8ea5d1..2bd0048 100644 --- a/src/main/java/model/Hitbox.java +++ b/src/de/oszimt/ls/aliendefence/model/Hitbox.java @@ -1,4 +1,4 @@ -package model; +package de.oszimt.ls.aliendefence.model; import java.util.Random; diff --git a/src/main/java/model/Level.java b/src/de/oszimt/ls/aliendefence/model/Level.java similarity index 99% rename from src/main/java/model/Level.java rename to src/de/oszimt/ls/aliendefence/model/Level.java index bf68385..b868abd 100644 --- a/src/main/java/model/Level.java +++ b/src/de/oszimt/ls/aliendefence/model/Level.java @@ -1,4 +1,4 @@ -package model; +package de.oszimt.ls.aliendefence.model; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/model/Point.java b/src/de/oszimt/ls/aliendefence/model/Point.java similarity index 92% rename from src/main/java/model/Point.java rename to src/de/oszimt/ls/aliendefence/model/Point.java index 9093ba3..763c4b0 100644 --- a/src/main/java/model/Point.java +++ b/src/de/oszimt/ls/aliendefence/model/Point.java @@ -1,4 +1,4 @@ -package model; +package de.oszimt.ls.aliendefence.model; public class Point { private int x; diff --git a/src/main/java/model/Target.java b/src/de/oszimt/ls/aliendefence/model/Target.java similarity index 98% rename from src/main/java/model/Target.java rename to src/de/oszimt/ls/aliendefence/model/Target.java index c3cd136..5ac331e 100644 --- a/src/main/java/model/Target.java +++ b/src/de/oszimt/ls/aliendefence/model/Target.java @@ -1,4 +1,4 @@ -package model; +package de.oszimt.ls.aliendefence.model; import java.util.Random; diff --git a/src/main/java/model/persistence/IAttemptPersistance.java b/src/de/oszimt/ls/aliendefence/model/persistence/IAttemptPersistance.java similarity index 76% rename from src/main/java/model/persistence/IAttemptPersistance.java rename to src/de/oszimt/ls/aliendefence/model/persistence/IAttemptPersistance.java index 015c364..0890a05 100644 --- a/src/main/java/model/persistence/IAttemptPersistance.java +++ b/src/de/oszimt/ls/aliendefence/model/persistence/IAttemptPersistance.java @@ -1,8 +1,8 @@ -package model.persistence; +package de.oszimt.ls.aliendefence.model.persistence; import java.util.Vector; -import model.Level; +import de.oszimt.ls.aliendefence.model.Level; public interface IAttemptPersistance { diff --git a/src/main/java/model/persistence/ILevelPersistance.java b/src/de/oszimt/ls/aliendefence/model/persistence/ILevelPersistance.java similarity index 86% rename from src/main/java/model/persistence/ILevelPersistance.java rename to src/de/oszimt/ls/aliendefence/model/persistence/ILevelPersistance.java index fa26c11..b5ecd3e 100644 --- a/src/main/java/model/persistence/ILevelPersistance.java +++ b/src/de/oszimt/ls/aliendefence/model/persistence/ILevelPersistance.java @@ -1,8 +1,8 @@ -package model.persistence; +package de.oszimt.ls.aliendefence.model.persistence; import java.util.List; -import model.Level; +import de.oszimt.ls.aliendefence.model.Level; public interface ILevelPersistance { diff --git a/src/main/java/model/persistence/IPersistance.java b/src/de/oszimt/ls/aliendefence/model/persistence/IPersistance.java similarity index 79% rename from src/main/java/model/persistence/IPersistance.java rename to src/de/oszimt/ls/aliendefence/model/persistence/IPersistance.java index aee96a0..0e5f60b 100644 --- a/src/main/java/model/persistence/IPersistance.java +++ b/src/de/oszimt/ls/aliendefence/model/persistence/IPersistance.java @@ -1,4 +1,4 @@ -package model.persistence; +package de.oszimt.ls.aliendefence.model.persistence; public interface IPersistance { diff --git a/src/main/java/model/persistence/ITargetPersistance.java b/src/de/oszimt/ls/aliendefence/model/persistence/ITargetPersistance.java similarity index 71% rename from src/main/java/model/persistence/ITargetPersistance.java rename to src/de/oszimt/ls/aliendefence/model/persistence/ITargetPersistance.java index 3aca497..c68dde4 100644 --- a/src/main/java/model/persistence/ITargetPersistance.java +++ b/src/de/oszimt/ls/aliendefence/model/persistence/ITargetPersistance.java @@ -1,8 +1,8 @@ -package model.persistence; +package de.oszimt.ls.aliendefence.model.persistence; import java.util.List; -import model.Target; +import de.oszimt.ls.aliendefence.model.Target; public interface ITargetPersistance { diff --git a/src/de/oszimt/ls/aliendefence/model/persistence/IUserPersistance.java b/src/de/oszimt/ls/aliendefence/model/persistence/IUserPersistance.java new file mode 100644 index 0000000..ff57ac3 --- /dev/null +++ b/src/de/oszimt/ls/aliendefence/model/persistence/IUserPersistance.java @@ -0,0 +1,9 @@ +package de.oszimt.ls.aliendefence.model.persistence; + +import de.oszimt.ls.aliendefence.toDo.User; + +public interface IUserPersistance { + + User readUser(String username); + +} \ No newline at end of file diff --git a/src/main/java/model/persistenceDB/AccessDB.java b/src/de/oszimt/ls/aliendefence/model/persistenceDB/AccessDB.java similarity index 93% rename from src/main/java/model/persistenceDB/AccessDB.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDB/AccessDB.java index 001fa32..1300770 100644 --- a/src/main/java/model/persistenceDB/AccessDB.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDB/AccessDB.java @@ -1,4 +1,4 @@ -package model.persistenceDB; +package de.oszimt.ls.aliendefence.model.persistenceDB; public class AccessDB { diff --git a/src/main/java/model/persistenceDB/AttemptDB.java b/src/de/oszimt/ls/aliendefence/model/persistenceDB/AttemptDB.java similarity index 95% rename from src/main/java/model/persistenceDB/AttemptDB.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDB/AttemptDB.java index b2b7a08..51d9bcd 100644 --- a/src/main/java/model/persistenceDB/AttemptDB.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDB/AttemptDB.java @@ -1,4 +1,4 @@ -package model.persistenceDB; +package de.oszimt.ls.aliendefence.model.persistenceDB; import java.sql.Connection; import java.sql.DriverManager; @@ -11,10 +11,10 @@ import java.time.LocalDateTime; import java.time.LocalTime; import java.util.Vector; -import model.Attempt; -import model.Level; -import model.persistence.IAttemptPersistance; -import toDo.User; +import de.oszimt.ls.aliendefence.model.Attempt; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance; +import de.oszimt.ls.aliendefence.toDo.User; public class AttemptDB implements IAttemptPersistance { diff --git a/src/main/java/model/persistenceDB/LevelDB.java b/src/de/oszimt/ls/aliendefence/model/persistenceDB/LevelDB.java similarity index 93% rename from src/main/java/model/persistenceDB/LevelDB.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDB/LevelDB.java index 9f433ad..0be5022 100644 --- a/src/main/java/model/persistenceDB/LevelDB.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDB/LevelDB.java @@ -1,4 +1,4 @@ -package model.persistenceDB; +package de.oszimt.ls.aliendefence.model.persistenceDB; import java.sql.Connection; import java.sql.DriverManager; @@ -9,9 +9,9 @@ import java.sql.Statement; import java.util.List; import java.util.Vector; -import model.Level; -import model.persistence.ILevelPersistance; -import model.persistence.ITargetPersistance; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.persistence.ILevelPersistance; +import de.oszimt.ls.aliendefence.model.persistence.ITargetPersistance; public class LevelDB implements ILevelPersistance { diff --git a/src/main/java/model/persistenceDB/PersistanceDB.java b/src/de/oszimt/ls/aliendefence/model/persistenceDB/PersistanceDB.java similarity index 62% rename from src/main/java/model/persistenceDB/PersistanceDB.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDB/PersistanceDB.java index c763dc3..c3abe93 100644 --- a/src/main/java/model/persistenceDB/PersistanceDB.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDB/PersistanceDB.java @@ -1,11 +1,11 @@ -package model.persistenceDB; +package de.oszimt.ls.aliendefence.model.persistenceDB; -import model.persistence.IAttemptPersistance; -import model.persistence.ILevelPersistance; -import model.persistence.IPersistance; -import model.persistence.ITargetPersistance; -import model.persistence.IUserPersistance; -import toDo.UserDB; +import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance; +import de.oszimt.ls.aliendefence.model.persistence.ILevelPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.model.persistence.ITargetPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance; +import de.oszimt.ls.aliendefence.toDo.UserDB; public class PersistanceDB implements IPersistance{ diff --git a/src/main/java/model/persistenceDB/TargetDB.java b/src/de/oszimt/ls/aliendefence/model/persistenceDB/TargetDB.java similarity index 94% rename from src/main/java/model/persistenceDB/TargetDB.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDB/TargetDB.java index 84cef10..076907c 100644 --- a/src/main/java/model/persistenceDB/TargetDB.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDB/TargetDB.java @@ -1,4 +1,4 @@ -package model.persistenceDB; +package de.oszimt.ls.aliendefence.model.persistenceDB; import java.sql.Connection; import java.sql.DriverManager; @@ -9,9 +9,9 @@ import java.sql.Statement; import java.util.List; import java.util.Vector; -import model.Hitbox; -import model.Target; -import model.persistence.ITargetPersistance; +import de.oszimt.ls.aliendefence.model.Hitbox; +import de.oszimt.ls.aliendefence.model.Target; +import de.oszimt.ls.aliendefence.model.persistence.ITargetPersistance; public class TargetDB implements ITargetPersistance { private AccessDB dbAccess; diff --git a/src/main/java/model/persistenceDummy/AttemptDummy.java b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/AttemptDummy.java similarity index 88% rename from src/main/java/model/persistenceDummy/AttemptDummy.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDummy/AttemptDummy.java index dbd7995..783e5a3 100644 --- a/src/main/java/model/persistenceDummy/AttemptDummy.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/AttemptDummy.java @@ -1,9 +1,9 @@ -package model.persistenceDummy; +package de.oszimt.ls.aliendefence.model.persistenceDummy; import java.util.Vector; -import model.Level; -import model.persistence.IAttemptPersistance; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance; /** * Klasse mit Dummywerten zum Testen der View und des Controllers diff --git a/src/main/java/model/persistenceDummy/LevelDummy.java b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/LevelDummy.java similarity index 87% rename from src/main/java/model/persistenceDummy/LevelDummy.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDummy/LevelDummy.java index c0b8edf..02633d9 100644 --- a/src/main/java/model/persistenceDummy/LevelDummy.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/LevelDummy.java @@ -1,11 +1,11 @@ -package model.persistenceDummy; +package de.oszimt.ls.aliendefence.model.persistenceDummy; import java.util.ArrayList; import java.util.List; -import model.Level; -import model.Target; -import model.persistence.ILevelPersistance; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.Target; +import de.oszimt.ls.aliendefence.model.persistence.ILevelPersistance; public class LevelDummy implements ILevelPersistance { diff --git a/src/main/java/model/persistenceDummy/PersistanceDummy.java b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/PersistanceDummy.java similarity index 65% rename from src/main/java/model/persistenceDummy/PersistanceDummy.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDummy/PersistanceDummy.java index a933195..270167b 100644 --- a/src/main/java/model/persistenceDummy/PersistanceDummy.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/PersistanceDummy.java @@ -1,10 +1,10 @@ -package model.persistenceDummy; +package de.oszimt.ls.aliendefence.model.persistenceDummy; -import model.persistence.IAttemptPersistance; -import model.persistence.ILevelPersistance; -import model.persistence.IPersistance; -import model.persistence.ITargetPersistance; -import model.persistence.IUserPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance; +import de.oszimt.ls.aliendefence.model.persistence.ILevelPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.model.persistence.ITargetPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance; public class PersistanceDummy implements IPersistance{ diff --git a/src/main/java/model/persistenceDummy/TargetDummy.java b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/TargetDummy.java similarity index 83% rename from src/main/java/model/persistenceDummy/TargetDummy.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDummy/TargetDummy.java index 3a3ca16..60cdf31 100644 --- a/src/main/java/model/persistenceDummy/TargetDummy.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/TargetDummy.java @@ -1,10 +1,10 @@ -package model.persistenceDummy; +package de.oszimt.ls.aliendefence.model.persistenceDummy; import java.util.ArrayList; import java.util.List; -import model.Target; -import model.persistence.ITargetPersistance; +import de.oszimt.ls.aliendefence.model.Target; +import de.oszimt.ls.aliendefence.model.persistence.ITargetPersistance; public class TargetDummy implements ITargetPersistance { diff --git a/src/main/java/model/persistenceDummy/UserDummy.java b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/UserDummy.java similarity index 66% rename from src/main/java/model/persistenceDummy/UserDummy.java rename to src/de/oszimt/ls/aliendefence/model/persistenceDummy/UserDummy.java index 9d7b77a..95850df 100644 --- a/src/main/java/model/persistenceDummy/UserDummy.java +++ b/src/de/oszimt/ls/aliendefence/model/persistenceDummy/UserDummy.java @@ -1,9 +1,9 @@ -package model.persistenceDummy; +package de.oszimt.ls.aliendefence.model.persistenceDummy; import java.time.LocalDate; -import model.persistence.IUserPersistance; -import toDo.User; +import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance; +import de.oszimt.ls.aliendefence.toDo.User; /** * Dummyklasse zum Testen diff --git a/src/main/java/toDo/CreateUserWindow.java b/src/de/oszimt/ls/aliendefence/toDo/CreateUserWindow.java similarity index 62% rename from src/main/java/toDo/CreateUserWindow.java rename to src/de/oszimt/ls/aliendefence/toDo/CreateUserWindow.java index cb26920..a54864f 100644 --- a/src/main/java/toDo/CreateUserWindow.java +++ b/src/de/oszimt/ls/aliendefence/toDo/CreateUserWindow.java @@ -1,4 +1,4 @@ -package toDo; +package de.oszimt.ls.aliendefence.toDo; //TODO create a usermanagement public class CreateUserWindow { diff --git a/src/main/java/toDo/User.java b/src/de/oszimt/ls/aliendefence/toDo/User.java similarity index 98% rename from src/main/java/toDo/User.java rename to src/de/oszimt/ls/aliendefence/toDo/User.java index e2cae63..fcea8a2 100644 --- a/src/main/java/toDo/User.java +++ b/src/de/oszimt/ls/aliendefence/toDo/User.java @@ -1,4 +1,4 @@ -package toDo; +package de.oszimt.ls.aliendefence.toDo; import java.time.LocalDate; diff --git a/src/main/java/toDo/UserController.java b/src/de/oszimt/ls/aliendefence/toDo/UserController.java similarity index 82% rename from src/main/java/toDo/UserController.java rename to src/de/oszimt/ls/aliendefence/toDo/UserController.java index 456872e..f5d6374 100644 --- a/src/main/java/toDo/UserController.java +++ b/src/de/oszimt/ls/aliendefence/toDo/UserController.java @@ -1,9 +1,9 @@ -package toDo; +package de.oszimt.ls.aliendefence.toDo; -import model.persistence.IUserPersistance; +import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance; /** - * controller for users + * de.oszimt.ls.aliendefence.controller for users * @author Clara Zufall * TODO implement this class */ diff --git a/src/main/java/toDo/UserDB.java b/src/de/oszimt/ls/aliendefence/toDo/UserDB.java similarity index 89% rename from src/main/java/toDo/UserDB.java rename to src/de/oszimt/ls/aliendefence/toDo/UserDB.java index ed463cb..da1b7df 100644 --- a/src/main/java/toDo/UserDB.java +++ b/src/de/oszimt/ls/aliendefence/toDo/UserDB.java @@ -1,4 +1,4 @@ -package toDo; +package de.oszimt.ls.aliendefence.toDo; import java.sql.Connection; import java.sql.DriverManager; @@ -6,8 +6,8 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import model.persistence.IUserPersistance; -import model.persistenceDB.AccessDB; +import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance; +import de.oszimt.ls.aliendefence.model.persistenceDB.AccessDB; /** * databaseconnection for userobjects, Story usermanagement diff --git a/src/de/oszimt/ls/aliendefence/view/StartAlienDefence.java b/src/de/oszimt/ls/aliendefence/view/StartAlienDefence.java new file mode 100644 index 0000000..48d4bb7 --- /dev/null +++ b/src/de/oszimt/ls/aliendefence/view/StartAlienDefence.java @@ -0,0 +1,16 @@ +package de.oszimt.ls.aliendefence.view; + +import de.oszimt.ls.aliendefence.controller.AlienDefenceController; +import de.oszimt.ls.aliendefence.model.persistence.IPersistance; +import de.oszimt.ls.aliendefence.model.persistenceDummy.PersistanceDummy; +import de.oszimt.ls.aliendefence.view.menue.MainMenu; + +public class StartAlienDefence { + + public static void main(String[] args) { + + IPersistance alienDefenceModel = new PersistanceDummy();//TODO new PersistanceDB(); + AlienDefenceController alienDefenceController = new AlienDefenceController(alienDefenceModel); + MainMenu.show(alienDefenceController); + } +} diff --git a/src/main/java/view/game/GameGUI.java b/src/de/oszimt/ls/aliendefence/view/game/GameGUI.java similarity index 86% rename from src/main/java/view/game/GameGUI.java rename to src/de/oszimt/ls/aliendefence/view/game/GameGUI.java index c9412c2..83de1a2 100644 --- a/src/main/java/view/game/GameGUI.java +++ b/src/de/oszimt/ls/aliendefence/view/game/GameGUI.java @@ -1,4 +1,4 @@ -package view.game; +package de.oszimt.ls.aliendefence.view.game; import java.awt.Color; import java.awt.Point; @@ -7,7 +7,8 @@ import java.awt.Toolkit; import javax.swing.ImageIcon; import javax.swing.JFrame; -import controller.GameController; +import de.oszimt.ls.aliendefence.controller.GameController; +import pictures._Res; /** * GUI der Klasse _______ @@ -28,7 +29,7 @@ public class GameGUI extends JFrame { public GameGUI(GameController gc) { super("Spiel v0.0 - FPS: "); - setCursor(Toolkit.getDefaultToolkit().createCustomCursor(new ImageIcon("pictures/crosshair.png").getImage(), + setCursor(Toolkit.getDefaultToolkit().createCustomCursor(_Res.image("crosshair.png"), new Point(10, 10), "Cursor")); // Fenstergestaltung @@ -45,6 +46,7 @@ public class GameGUI extends JFrame { spielfeld = new GameJPanel(gc); getContentPane().add(spielfeld); + setLocationRelativeTo(null); setVisible(true); // Startzeit setzen diff --git a/src/main/java/view/game/GameJPanel.java b/src/de/oszimt/ls/aliendefence/view/game/GameJPanel.java similarity index 81% rename from src/main/java/view/game/GameJPanel.java rename to src/de/oszimt/ls/aliendefence/view/game/GameJPanel.java index 0b593e7..6bfd8f2 100644 --- a/src/main/java/view/game/GameJPanel.java +++ b/src/de/oszimt/ls/aliendefence/view/game/GameJPanel.java @@ -1,21 +1,19 @@ -package view.game; +package de.oszimt.ls.aliendefence.view.game; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; import java.util.LinkedList; import java.util.List; -import javax.imageio.ImageIO; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingConstants; -import controller.GameController; -import model.Target; +import de.oszimt.ls.aliendefence.controller.GameController; +import de.oszimt.ls.aliendefence.model.Target; +import pictures._Res; @SuppressWarnings("serial") public class GameJPanel extends JPanel { @@ -25,7 +23,7 @@ public class GameJPanel extends JPanel { private GameController gc; private MouseClickListener mouseClickListener; private List rechteckePainter; - private BufferedImage img, win, loose; + private BufferedImage img, win, lose; private JLabel lblTimeleft; public GameJPanel(GameController gc) { @@ -45,14 +43,9 @@ public class GameJPanel extends JPanel { * Spielfläche initialisieren */ public void init() { - try { - this.img = ImageIO.read(new File("./pictures/" + this.gc.getCurrLevel().getBackgroundImage())); - this.win = ImageIO.read(new File("./pictures/YouWin.png")); - this.loose = ImageIO.read(new File("./pictures/YouLoose.png")); - - } catch (IOException e) { - e.printStackTrace(); - } + this.img = _Res.bimage(this.gc.getCurrLevel().getBackgroundImage()); + this.win = _Res.bimage("YouWin.png"); + this.lose = _Res.bimage("YouLoose.png"); LinkedList rechteckePainter = new LinkedList(); for (Target t : gc.getTargets()) { @@ -71,7 +64,7 @@ public class GameJPanel extends JPanel { if (gc.isHasWon()) { g.drawImage(this.win, 300, 120, null); } else { - g.drawImage(this.loose, 300, 120, null); + g.drawImage(this.lose, 300, 120, null); } g.setFont(new Font("Arial", Font.PLAIN, 16)); // g.drawString(gc.getShotsFired() + " Schüsse mit " + gc.getAccuracy() + " % diff --git a/src/main/java/view/game/MouseClickListener.java b/src/de/oszimt/ls/aliendefence/view/game/MouseClickListener.java similarity index 75% rename from src/main/java/view/game/MouseClickListener.java rename to src/de/oszimt/ls/aliendefence/view/game/MouseClickListener.java index a04e174..1d0d227 100644 --- a/src/main/java/view/game/MouseClickListener.java +++ b/src/de/oszimt/ls/aliendefence/view/game/MouseClickListener.java @@ -1,9 +1,9 @@ -package view.game; +package de.oszimt.ls.aliendefence.view.game; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import controller.GameController; +import de.oszimt.ls.aliendefence.controller.GameController; public class MouseClickListener extends MouseAdapter { diff --git a/src/main/java/view/game/TargetPainter.java b/src/de/oszimt/ls/aliendefence/view/game/TargetPainter.java similarity index 75% rename from src/main/java/view/game/TargetPainter.java rename to src/de/oszimt/ls/aliendefence/view/game/TargetPainter.java index b2a66e1..522e4f4 100644 --- a/src/main/java/view/game/TargetPainter.java +++ b/src/de/oszimt/ls/aliendefence/view/game/TargetPainter.java @@ -1,4 +1,4 @@ -package view.game; +package de.oszimt.ls.aliendefence.view.game; import java.awt.Graphics; import java.awt.image.BufferedImage; @@ -7,7 +7,8 @@ import java.io.IOException; import javax.imageio.ImageIO; -import model.Target; +import de.oszimt.ls.aliendefence.model.Target; +import pictures._Res; public class TargetPainter { @@ -17,17 +18,8 @@ public class TargetPainter { public TargetPainter(Target target) { this.target = target; - try { - this.image = ImageIO.read(new File("./pictures/" + target.getImageAddress())); - } catch (IOException e) { - e.printStackTrace(); - } - - try { - this.imageDestroyed = ImageIO.read(new File("./pictures/explosion.png")); - } catch (IOException e) { - e.printStackTrace(); - } + this.image = _Res.bimage(target.getImageAddress()); + this.imageDestroyed = _Res.bimage("explosion.png"); } diff --git a/src/main/java/view/menue/Highscore.java b/src/de/oszimt/ls/aliendefence/view/menue/Highscore.java similarity index 90% rename from src/main/java/view/menue/Highscore.java rename to src/de/oszimt/ls/aliendefence/view/menue/Highscore.java index f26fc08..dcf1d17 100644 --- a/src/main/java/view/menue/Highscore.java +++ b/src/de/oszimt/ls/aliendefence/view/menue/Highscore.java @@ -1,4 +1,4 @@ -package view.menue; +package de.oszimt.ls.aliendefence.view.menue; import java.awt.BorderLayout; import java.awt.Dimension; @@ -12,8 +12,8 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; -import controller.AttemptController; -import model.Level; +import de.oszimt.ls.aliendefence.controller.AttemptController; +import de.oszimt.ls.aliendefence.model.Level; public class Highscore extends JFrame { @@ -70,7 +70,8 @@ public class Highscore extends JFrame { pnlSouth.add(btnZielndern); // fügt Panel mit Button hinzu - add(pnlSouth, BorderLayout.SOUTH); + add(pnlSouth, BorderLayout.SOUTH); + this.setLocationRelativeTo(null); } public void btnAendern_Clicked(ActionEvent evt) { diff --git a/src/de/oszimt/ls/aliendefence/view/menue/LevelChoice.form b/src/de/oszimt/ls/aliendefence/view/menue/LevelChoice.form new file mode 100644 index 0000000..25b3793 --- /dev/null +++ b/src/de/oszimt/ls/aliendefence/view/menue/LevelChoice.form @@ -0,0 +1,56 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/de/oszimt/ls/aliendefence/view/menue/LevelChoice.java b/src/de/oszimt/ls/aliendefence/view/menue/LevelChoice.java new file mode 100644 index 0000000..143a4aa --- /dev/null +++ b/src/de/oszimt/ls/aliendefence/view/menue/LevelChoice.java @@ -0,0 +1,90 @@ +package de.oszimt.ls.aliendefence.view.menue; + +import de.oszimt.ls.aliendefence.controller.LevelController; +import de.oszimt.ls.aliendefence.model.Level; + +import javax.swing.*; +import javax.swing.table.DefaultTableModel; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; + +public class LevelChoice { + private JPanel panel; + private JButton btnNewLevel; + private JButton btnUpdateLevel; + private JTable tblLevels; + private JButton btnDeleteLevel; + + private final LevelController lvlControl; + private final LeveldesignWindow leveldesignWindow; + private DefaultTableModel jTableData; + + /** + * Create the panel + * @param lvlControl + * @param leveldesignWindow + */ + public LevelChoice(LevelController lvlControl, LeveldesignWindow leveldesignWindow) { + this.lvlControl = lvlControl; + this.leveldesignWindow = leveldesignWindow; + + btnNewLevel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + btnNewLevel_Clicked(); + } + }); + + btnUpdateLevel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btnUpdateLevel_Clicked(); + } + }); + + btnDeleteLevel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btnDeleteLevel_Clicked(); + } + }); + + tblLevels.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + this.updateTableData(); + } + + private String[][] getLevelsAsTableModel() { + List levels = this.lvlControl.readAllLevels(); + String[][] result = new String[levels.size()][]; + int i = 0; + for (Level l : levels) { + result[i++] = l.getData(); + } + return result; + } + + public void updateTableData() { + this.jTableData = new DefaultTableModel(this.getLevelsAsTableModel(), Level.getLevelDescriptions()); + this.tblLevels.setModel(jTableData); + } + + public void btnNewLevel_Clicked() { + this.leveldesignWindow.startLevelEditor(); + } + + public void btnUpdateLevel_Clicked() { + int level_id = Integer + .parseInt((String) this.tblLevels.getModel().getValueAt(this.tblLevels.getSelectedRow(), 0)); + this.leveldesignWindow.startLevelEditor(level_id); + } + + public void btnDeleteLevel_Clicked() { + int level_id = Integer + .parseInt((String) this.tblLevels.getModel().getValueAt(this.tblLevels.getSelectedRow(), 0)); + this.lvlControl.deleteLevel(level_id); + this.updateTableData(); + } + + public JPanel getPanel() { + return panel; + } +} diff --git a/src/main/java/view/menue/LevelChooser.java b/src/de/oszimt/ls/aliendefence/view/menue/LevelChooserOld.java similarity index 86% rename from src/main/java/view/menue/LevelChooser.java rename to src/de/oszimt/ls/aliendefence/view/menue/LevelChooserOld.java index 3e1f6bd..40a6fb3 100644 --- a/src/main/java/view/menue/LevelChooser.java +++ b/src/de/oszimt/ls/aliendefence/view/menue/LevelChooserOld.java @@ -1,4 +1,4 @@ -package view.menue; +package de.oszimt.ls.aliendefence.view.menue; import java.awt.BorderLayout; import java.awt.Font; @@ -6,20 +6,14 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.List; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.ListSelectionModel; -import javax.swing.SwingConstants; +import javax.swing.*; import javax.swing.table.DefaultTableModel; -import controller.LevelController; -import model.Level; +import de.oszimt.ls.aliendefence.controller.LevelController; +import de.oszimt.ls.aliendefence.model.Level; @SuppressWarnings("serial") -public class LevelChooser extends JPanel { +public class LevelChooserOld extends JPanel { private LevelController lvlControl; private LeveldesignWindow leveldesignWindow; @@ -31,7 +25,7 @@ public class LevelChooser extends JPanel { * * @param leveldesignWindow */ - public LevelChooser(LevelController lvlControl, LeveldesignWindow leveldesignWindow) { + public LevelChooserOld(LevelController lvlControl, LeveldesignWindow leveldesignWindow) { this.lvlControl = lvlControl; this.leveldesignWindow = leveldesignWindow; diff --git a/src/main/java/view/menue/LevelEditor.java b/src/de/oszimt/ls/aliendefence/view/menue/LevelEditor.java similarity index 97% rename from src/main/java/view/menue/LevelEditor.java rename to src/de/oszimt/ls/aliendefence/view/menue/LevelEditor.java index 5ef99a9..1a76b41 100644 --- a/src/main/java/view/menue/LevelEditor.java +++ b/src/de/oszimt/ls/aliendefence/view/menue/LevelEditor.java @@ -1,4 +1,4 @@ -package view.menue; +package de.oszimt.ls.aliendefence.view.menue; import java.awt.BorderLayout; import java.awt.Font; @@ -20,10 +20,10 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.table.DefaultTableModel; -import controller.LevelController; -import controller.TargetController; -import model.Level; -import model.Target; +import de.oszimt.ls.aliendefence.controller.LevelController; +import de.oszimt.ls.aliendefence.controller.TargetController; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.model.Target; @SuppressWarnings("serial") public class LevelEditor extends JPanel { diff --git a/src/main/java/view/menue/LeveldesignWindow.java b/src/de/oszimt/ls/aliendefence/view/menue/LeveldesignWindow.java similarity index 79% rename from src/main/java/view/menue/LeveldesignWindow.java rename to src/de/oszimt/ls/aliendefence/view/menue/LeveldesignWindow.java index cffc086..1eff0f1 100644 --- a/src/main/java/view/menue/LeveldesignWindow.java +++ b/src/de/oszimt/ls/aliendefence/view/menue/LeveldesignWindow.java @@ -1,4 +1,4 @@ -package view.menue; +package de.oszimt.ls.aliendefence.view.menue; import java.awt.CardLayout; @@ -6,16 +6,16 @@ import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; -import controller.LevelController; -import controller.TargetController; -import model.Level; +import de.oszimt.ls.aliendefence.controller.LevelController; +import de.oszimt.ls.aliendefence.controller.TargetController; +import de.oszimt.ls.aliendefence.model.Level; @SuppressWarnings("serial") public class LeveldesignWindow extends JFrame { private LevelController lvlControl; private JPanel contentPane; - private LevelChooser cardChooseLevel; + private LevelChoice cardChooseLevel; private LevelEditor cardLevelEditor; private CardLayout cards; @@ -35,13 +35,14 @@ public class LeveldesignWindow extends JFrame { this.cards = new CardLayout(); contentPane.setLayout(cards); - this.cardChooseLevel = new LevelChooser(lvlControl, this); - contentPane.add(cardChooseLevel, "levelChooser"); + this.cardChooseLevel = new LevelChoice(lvlControl, this); + contentPane.add(cardChooseLevel.getPanel(), "levelChooser"); this.cardLevelEditor = new LevelEditor(this, lvlControl, targetControl, Level.getDefaultLevel()); contentPane.add(cardLevelEditor, "levelEditor"); this.showLevelChooser(); + this.setLocationRelativeTo(null); this.setVisible(true); } diff --git a/src/de/oszimt/ls/aliendefence/view/menue/MainMenu.form b/src/de/oszimt/ls/aliendefence/view/menue/MainMenu.form new file mode 100644 index 0000000..9506199 --- /dev/null +++ b/src/de/oszimt/ls/aliendefence/view/menue/MainMenu.form @@ -0,0 +1,140 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/de/oszimt/ls/aliendefence/view/menue/MainMenu.java b/src/de/oszimt/ls/aliendefence/view/menue/MainMenu.java new file mode 100644 index 0000000..2c264d0 --- /dev/null +++ b/src/de/oszimt/ls/aliendefence/view/menue/MainMenu.java @@ -0,0 +1,124 @@ +package de.oszimt.ls.aliendefence.view.menue; + +import de.oszimt.ls.aliendefence.controller.AlienDefenceController; +import de.oszimt.ls.aliendefence.controller.GameController; +import de.oszimt.ls.aliendefence.model.Level; +import de.oszimt.ls.aliendefence.toDo.User; +import de.oszimt.ls.aliendefence.view.game.GameGUI; + +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; + +public class MainMenu { + + private JPanel main; + private JTextField loginTextField; + private JComboBox level; + private JButton playButton; + private JButton testButton; + private JButton highscoreButton; + private JButton levelEditorButton; + private JButton exitButton; + private JPasswordField passwordTextField; + + public MainMenu(AlienDefenceController alienDefenceController) { + + //fill level chooser + // Levelliste für die ComboBox abrufen + List arrLevel = alienDefenceController.getLevelController().readAllLevels(); + String[] arrLevelNames = getLevelNames(arrLevel); + level.setModel(new DefaultComboBoxModel(arrLevelNames)); + + // Button Spielen - ActionListener + playButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // User aus Datenbank holen + User user = alienDefenceController.getAlienDefenceModel().getUserPersistance().readUser(loginTextField.getText()); + + // Spielstarten, wenn Nutzer existiert und Passwort übereinstimmt + if (user != null && user.getPassword().equals(new String(passwordTextField.getPassword()))) { + + Thread t = new Thread("GameThread") { + @Override + public void run() { + + GameController gameController = alienDefenceController.startGame(arrLevel.get(level.getSelectedIndex()), user); + new GameGUI(gameController).start(); + } + }; + t.start(); + } else { + // Fehlermeldung - Zugangsdaten fehlerhaft + JOptionPane.showMessageDialog(null, "Zugangsdaten nicht korrekt", "Fehler", + JOptionPane.ERROR_MESSAGE); + } + } + }); + + // Button Testen - ActionListener + testButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + // Erstellt Modell von aktuellen Nutzer + User user = new User(1, "test", "pass"); + + Thread t = new Thread("GameThread") { + + @Override + public void run() { + GameController gameController = alienDefenceController.startGame(arrLevel.get(level.getSelectedIndex()), user); + new GameGUI(gameController).start(); + } + }; + t.start(); + } + }); + + // Button Highscore + highscoreButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + new Highscore(alienDefenceController.getAttemptController(), arrLevel.get(level.getSelectedIndex())); + } + }); + + // Button Leveleditor + levelEditorButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + new LeveldesignWindow(alienDefenceController.getLevelController(), alienDefenceController.getTargetController()); + } + }); + + // Button Beenden + exitButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + System.exit(0); + } + }); + } + + + private String[] getLevelNames(List arrLevel) { + String[] arrLevelNames = new String[arrLevel.size()]; + + for (int i = 0; i < arrLevel.size(); i++) { + arrLevelNames[i] = arrLevel.get(i).getName(); // Array aus Arraylist erstellt + } + + return arrLevelNames; + } + + public static void show(AlienDefenceController alienDefenceController) { + JFrame frame = new JFrame("AlienDefence"); + frame.setContentPane(new MainMenu(alienDefenceController).main); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } +} diff --git a/src/main/java/model/persistence/IUserPersistance.java b/src/main/java/model/persistence/IUserPersistance.java deleted file mode 100644 index 87cf03b..0000000 --- a/src/main/java/model/persistence/IUserPersistance.java +++ /dev/null @@ -1,9 +0,0 @@ -package model.persistence; - -import toDo.User; - -public interface IUserPersistance { - - User readUser(String username); - -} \ No newline at end of file diff --git a/src/main/java/view/StartAlienDefence.java b/src/main/java/view/StartAlienDefence.java deleted file mode 100644 index a7f81d9..0000000 --- a/src/main/java/view/StartAlienDefence.java +++ /dev/null @@ -1,18 +0,0 @@ -package view; - -import controller.AlienDefenceController; -import model.persistence.IPersistance; -import model.persistenceDummy.PersistanceDummy; -import view.menue.MainMenu; - -public class StartAlienDefence { - - public static void main(String[] args) { - - IPersistance alienDefenceModel = new PersistanceDummy();//TODO new PersistanceDB(); - AlienDefenceController alienDefenceController = new AlienDefenceController(alienDefenceModel); - MainMenu mainMenu = new MainMenu(alienDefenceController); - - mainMenu.setVisible(true); - } -} diff --git a/src/main/java/view/menue/MainMenu.java b/src/main/java/view/menue/MainMenu.java deleted file mode 100644 index e660b85..0000000 --- a/src/main/java/view/menue/MainMenu.java +++ /dev/null @@ -1,237 +0,0 @@ -package view.menue; - -import java.awt.Color; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Image; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.List; - -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JPasswordField; -import javax.swing.JTextField; -import javax.swing.border.EmptyBorder; - -import controller.AlienDefenceController; -import controller.GameController; -import model.Level; -import model.persistenceDB.PersistanceDB; -import toDo.User; -import view.game.GameGUI; - -@SuppressWarnings("serial") -public class MainMenu extends JFrame { - - private AlienDefenceController alienDefenceController; - private JTextField loginTextField; - private JPasswordField passwordTextField; - private int selectedLevel = 0; - - private String[] getLevelNames(List arrLevel) { - String[] arrLevelNames = new String[arrLevel.size()]; - - for (int i = 0; i < arrLevel.size(); i++) { - arrLevelNames[i] = arrLevel.get(i).getName(); // Array aus Arraylist erstellt - } - - return arrLevelNames; - } - - // Konstruktor - public MainMenu(AlienDefenceController alienDefenceController) { - - this.alienDefenceController = alienDefenceController; - - // Frame Formatierungen - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setBounds(100, 100, 450, 300); - JPanel contentPane = new JPanel(); - contentPane.setBackground(new Color(0, 0, 0)); - contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); - setContentPane(contentPane); - contentPane.setLayout(new GridBagLayout()); // GridBagLayout - GridBagConstraints c = new GridBagConstraints(); - c.fill = GridBagConstraints.HORIZONTAL; - - // JLable mit üBerschrift - JLabel lblheadline = new JLabel(" ALIEN DEFENCE"); - lblheadline.setForeground(new Color(124, 252, 0)); - lblheadline.setFont(new Font("Yu Gothic UI", Font.BOLD, 20)); - c.gridx = 0; - c.gridy = 0; - contentPane.add(lblheadline, c); - - // JPanel mit Logo - JPanel p = new JPanel() { - private static final long serialVersionUID = 1L; - - private ImageIcon imageIcon = new ImageIcon("./pictures/logo.png"); - private Image image = imageIcon.getImage(); - - @Override - protected void paintComponent(Graphics g) { - super.paintComponent(g); - if (image != null) { - g.drawImage(image, 5, 8, 145, 145, this); - } - } - }; - c.ipady = 150; // make this component tall - c.ipadx = 120; - c.weightx = 0.0; - c.gridwidth = 15; - c.gridx = 0; - c.gridy = 1; - contentPane.add(p, c); - - // Text Login - JLabel loginText = new JLabel("Login: "); // Einfacher Text - loginText.setForeground(Color.orange); - c.ipady = 0; - c.ipadx = 0; - c.gridwidth = 0; - c.gridx = 0; - c.gridy = 2; - contentPane.add(loginText, c); - - // Textfeld - loginTextField = new JTextField(15); - c.gridy = 3; - contentPane.add(loginTextField, c); - - // Text Passwort - JLabel passwordText = new JLabel("Passwort: "); // Einfacher Text - passwordText.setForeground(Color.orange); - c.gridy = 4; - contentPane.add(passwordText, c); - - // Textfeld - passwordTextField = new JPasswordField(15); - c.gridy = 5; - contentPane.add(passwordTextField, c); - - // Text Level - JLabel levelText = new JLabel("Level: "); // Einfacher Text - levelText.setForeground(Color.orange); - c.gridy = 6; - contentPane.add(levelText, c); - - // Levelliste für die ComboBox abrufen - List arrLevel = this.alienDefenceController.getLevelController().readAllLevels(); - String[] arrLevelNames = getLevelNames(arrLevel); - - // Level Auswahlbox - ActionListener - JComboBox combo = new JComboBox(arrLevelNames); - c.gridy = 7; - contentPane.add(combo, c); - ActionListener actLisCombo = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - selectedLevel = combo.getSelectedIndex(); - } - }; - combo.addActionListener(actLisCombo); // Listener - - // Button Spielen - ActionListener - JButton btnNewButton = new JButton("Spielen"); - btnNewButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - - // User aus Datenbank holen - User user = alienDefenceController.getAlienDefenceModel().getUserPersistance().readUser(loginTextField.getText()); - - // Spielstarten, wenn Nutzer existiert und Passwort übereinstimmt - if (user != null && user.getPassword().equals(new String(passwordTextField.getPassword()))) { - - Thread t = new Thread("GameThread") { - @Override - public void run() { - - GameController gameController = alienDefenceController.startGame(arrLevel.get(selectedLevel), user); - new GameGUI(gameController).start(); - } - }; - t.start(); - } else { - // Fehlermeldung - Zugangsdaten fehlerhaft - JOptionPane.showMessageDialog(null, "Zugangsdaten nicht korrekt", "Fehler", - JOptionPane.ERROR_MESSAGE); - } - } - }); - c.gridy = 8; - contentPane.add(btnNewButton, c); - - // Button Testen - ActionListener - JButton btnTestButton = new JButton("Testen"); - btnTestButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - - // Erstellt Modell von aktuellen Nutzer - User user = new User(1, "test", "pass"); - - Thread t = new Thread("GameThread") { - - @Override - public void run() { - - List arrLevel = alienDefenceController.getLevelController().readAllLevels(); - - GameController gameController = alienDefenceController.startGame(arrLevel.get(selectedLevel), user); - new GameGUI(gameController).start(); - } - }; - t.start(); - } - }); - c.gridy = 9; - contentPane.add(btnTestButton, c); - - // Button Highscore - JButton btnNewButton_2 = new JButton("Highscore"); - - btnNewButton_2.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - new Highscore(alienDefenceController.getAttemptController(), arrLevel.get(selectedLevel)); - } - }); - // selectedLevel - - c.gridy = 10; - contentPane.add(btnNewButton_2, c); - - // Button Leveleditor - JButton btnNewButton_1 = new JButton("Leveleditor"); - btnNewButton_1.setBackground(Color.ORANGE); - btnNewButton_1.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - new LeveldesignWindow(alienDefenceController.getLevelController(), alienDefenceController.getTargetController()); - } - }); - c.gridy = 11; - contentPane.add(btnNewButton_1, c); - - // Button Beenden - JButton btnNewButton_3 = new JButton("Beenden"); - btnNewButton_3.setBackground(Color.GRAY); - btnNewButton_3.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.exit(0); - } - }); - c.gridy = 12; - c.anchor = GridBagConstraints.PAGE_END; - contentPane.add(btnNewButton_3, c); - this.pack(); - } - -} \ No newline at end of file diff --git a/src/main/resources/pictures/Bildquellen.txt b/src/pictures/Bildquellen.txt similarity index 100% rename from src/main/resources/pictures/Bildquellen.txt rename to src/pictures/Bildquellen.txt diff --git a/src/main/resources/pictures/YouLoose.png b/src/pictures/YouLoose.png similarity index 100% rename from src/main/resources/pictures/YouLoose.png rename to src/pictures/YouLoose.png diff --git a/src/main/resources/pictures/YouWin.png b/src/pictures/YouWin.png similarity index 100% rename from src/main/resources/pictures/YouWin.png rename to src/pictures/YouWin.png diff --git a/src/pictures/_Res.java b/src/pictures/_Res.java new file mode 100644 index 0000000..cb3f7bb --- /dev/null +++ b/src/pictures/_Res.java @@ -0,0 +1,22 @@ +package pictures; + +import javax.imageio.ImageIO; +import javax.swing.*; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +public class _Res { + public static Image image(String name){ + return new ImageIcon(_Res.class.getResource(name)).getImage(); + } + public static BufferedImage bimage(String name){ + try { + return ImageIO.read(_Res.class.getResource(name)); + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } +} diff --git a/src/main/resources/pictures/background_1.jpg b/src/pictures/background_1.jpg similarity index 100% rename from src/main/resources/pictures/background_1.jpg rename to src/pictures/background_1.jpg diff --git a/src/main/resources/pictures/background_10.jpg b/src/pictures/background_10.jpg similarity index 100% rename from src/main/resources/pictures/background_10.jpg rename to src/pictures/background_10.jpg diff --git a/src/main/resources/pictures/background_2.jpg b/src/pictures/background_2.jpg similarity index 100% rename from src/main/resources/pictures/background_2.jpg rename to src/pictures/background_2.jpg diff --git a/src/main/resources/pictures/background_3.jpg b/src/pictures/background_3.jpg similarity index 100% rename from src/main/resources/pictures/background_3.jpg rename to src/pictures/background_3.jpg diff --git a/src/main/resources/pictures/background_4.jpg b/src/pictures/background_4.jpg similarity index 100% rename from src/main/resources/pictures/background_4.jpg rename to src/pictures/background_4.jpg diff --git a/src/main/resources/pictures/background_5.jpg b/src/pictures/background_5.jpg similarity index 100% rename from src/main/resources/pictures/background_5.jpg rename to src/pictures/background_5.jpg diff --git a/src/main/resources/pictures/background_6.jpg b/src/pictures/background_6.jpg similarity index 100% rename from src/main/resources/pictures/background_6.jpg rename to src/pictures/background_6.jpg diff --git a/src/main/resources/pictures/background_7.jpg b/src/pictures/background_7.jpg similarity index 100% rename from src/main/resources/pictures/background_7.jpg rename to src/pictures/background_7.jpg diff --git a/src/main/resources/pictures/background_8.jpg b/src/pictures/background_8.jpg similarity index 100% rename from src/main/resources/pictures/background_8.jpg rename to src/pictures/background_8.jpg diff --git a/src/main/resources/pictures/background_9.jpg b/src/pictures/background_9.jpg similarity index 100% rename from src/main/resources/pictures/background_9.jpg rename to src/pictures/background_9.jpg diff --git a/src/main/resources/pictures/ballon Bildquelle.txt b/src/pictures/ballon Bildquelle.txt similarity index 100% rename from src/main/resources/pictures/ballon Bildquelle.txt rename to src/pictures/ballon Bildquelle.txt diff --git a/src/main/resources/pictures/ballon.png b/src/pictures/ballon.png similarity index 100% rename from src/main/resources/pictures/ballon.png rename to src/pictures/ballon.png diff --git a/src/main/resources/pictures/crosshair.png b/src/pictures/crosshair.png similarity index 100% rename from src/main/resources/pictures/crosshair.png rename to src/pictures/crosshair.png diff --git a/src/main/resources/pictures/explosion.png b/src/pictures/explosion.png similarity index 100% rename from src/main/resources/pictures/explosion.png rename to src/pictures/explosion.png diff --git a/src/main/resources/pictures/italy Bildquelle.txt b/src/pictures/italy Bildquelle.txt similarity index 100% rename from src/main/resources/pictures/italy Bildquelle.txt rename to src/pictures/italy Bildquelle.txt diff --git a/src/main/resources/pictures/lemon.jpg b/src/pictures/lemon.jpg similarity index 100% rename from src/main/resources/pictures/lemon.jpg rename to src/pictures/lemon.jpg diff --git a/src/main/resources/pictures/logo.png b/src/pictures/logo.png similarity index 100% rename from src/main/resources/pictures/logo.png rename to src/pictures/logo.png diff --git a/src/pictures/logo200.png b/src/pictures/logo200.png new file mode 100644 index 0000000..2d8e890 Binary files /dev/null and b/src/pictures/logo200.png differ diff --git a/src/main/resources/pictures/ufo_1.png b/src/pictures/ufo_1.png similarity index 100% rename from src/main/resources/pictures/ufo_1.png rename to src/pictures/ufo_1.png diff --git a/src/main/resources/pictures/ufo_2.png b/src/pictures/ufo_2.png similarity index 100% rename from src/main/resources/pictures/ufo_2.png rename to src/pictures/ufo_2.png diff --git a/src/main/resources/pictures/ufo_3.png b/src/pictures/ufo_3.png similarity index 100% rename from src/main/resources/pictures/ufo_3.png rename to src/pictures/ufo_3.png diff --git a/src/main/resources/pictures/ufo_4.png b/src/pictures/ufo_4.png similarity index 100% rename from src/main/resources/pictures/ufo_4.png rename to src/pictures/ufo_4.png diff --git a/src/main/resources/pictures/ufo_5.png b/src/pictures/ufo_5.png similarity index 100% rename from src/main/resources/pictures/ufo_5.png rename to src/pictures/ufo_5.png