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