Jannik Niebuhr
3 years ago
610 changed files with 51964 additions and 1 deletions
-
0prog2-codebase/.metadata/.lock
-
767prog2-codebase/.metadata/.log
-
32prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/1c/901e6f556dcc001c1604bd95dc1c47bd
-
46prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/1e/f005f04172cc001c1b99dc395638891e
-
53prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/1f/40a24f711ecd001c1b99dc395638891e
-
5prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/22/806756696bcc001c1604bd95dc1c47bd
-
58prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/23/d07df0721acd001c1b99dc395638891e
-
35prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/24/d0d87bde6ecc001c1604bd95dc1c47bd
-
32prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/29/30d34bcf6ccc001c1604bd95dc1c47bd
-
675prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/2b/403433d91dcd001c1b99dc395638891e
-
46prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/3/003548c471cc001c1b99dc395638891e
-
149prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/37/30eb63b61dcd001c1b99dc395638891e
-
53prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/37/b0e5acc33dcd001c1b99dc395638891e
-
5prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/42/00e43f796bcc001c1604bd95dc1c47bd
-
57prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/45/10304a971dcd001c1b99dc395638891e
-
34prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/5/f0cf763f6fcc001c1604bd95dc1c47bd
-
32prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/56/a03bb2586dcc001c1604bd95dc1c47bd
-
23prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/57/d066739c81d0001c1725a54fc8b8a406
-
53prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/64/60ce11b973cc001c1b99dc395638891e
-
16prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/6a/504e3d2081d0001c10e4aba650691eec
-
53prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/6b/20ecd63c3dcd001c1b99dc395638891e
-
29prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/6d/00843fc96ccc001c1604bd95dc1c47bd
-
5prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/6e/e067935871d0001c10e4aba650691eec
-
18prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/6f/306b09567dd0001c10e4aba650691eec
-
45prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/70/10e23dd071cc001c1b99dc395638891e
-
29prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/73/601e21846ccc001c1604bd95dc1c47bd
-
60prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/74/002666cf3dcd001c1b99dc395638891e
-
7prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/83/90212ccb79d0001c10e4aba650691eec
-
35prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/92/b0a34b4a6fcc001c1604bd95dc1c47bd
-
5prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/98/a0f0b8e570d0001c10e4aba650691eec
-
18prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/9a/40d094457ed0001c10e4aba650691eec
-
36prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/9a/d0d89e4572d0001c10e4aba650691eec
-
47prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/9c/a028730a72cc001c1b99dc395638891e
-
35prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/9d/e0d29c826dcc001c1604bd95dc1c47bd
-
52prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/9f/70d75ce118cd001c1b99dc395638891e
-
58prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/a0/d0b36dd83dcd001c1b99dc395638891e
-
47prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/a2/30560b9271cc001c1b99dc395638891e
-
0prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/a2/f0dff9a16acc001c1604bd95dc1c47bd
-
22prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/a5/0051eaef37d1001c1725a54fc8b8a406
-
32prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/a7/d0bafe526dcc001c1604bd95dc1c47bd
-
59prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/ab/50920cd63dcd001c1b99dc395638891e
-
46prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/ae/f010795872cc001c1b99dc395638891e
-
19prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/ae/f0fee53634d1001c1725a54fc8b8a406
-
52prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/b/90497b5a72cc001c1b99dc395638891e
-
51prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/b4/503644f73bcd001c1b99dc395638891e
-
0prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/b5/704806d070d0001c10e4aba650691eec
-
148prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/b7/d07e94d41dcd001c1b99dc395638891e
-
35prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c0451fa36dcc001c1604bd95dc1c47bd
-
0prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/ba/508b71416bcc001c1604bd95dc1c47bd
-
41prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/bb/407e9b446fcc001c1604bd95dc1c47bd
-
47prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/be/d08449ad71cc001c1b99dc395638891e
-
24prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/c/500542d871d0001c10e4aba650691eec
-
54prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/c9/301f4cbb3dcd001c1b99dc395638891e
-
23prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/ca/80fff88b82d0001c1725a54fc8b8a406
-
43prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/d4/f0946ca76fcc001c1604bd95dc1c47bd
-
47prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/d7/90cd074671cc001c1b99dc395638891e
-
58prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/d8/10bca2793dcd001c1b99dc395638891e
-
44prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/db/f0cdc4b66fcc001c1604bd95dc1c47bd
-
29prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/e/506795b36ccc001c1604bd95dc1c47bd
-
52prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/e6/80441def3bcd001c1b99dc395638891e
-
5prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/e7/f05a5c696bcc001c1604bd95dc1c47bd
-
149prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/f5/3040ab4b1ecd001c1b99dc395638891e
-
45prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.history/f9/d0879f2672cc001c1b99dc395638891e
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.projects/GameProject/.indexes/e4/45/history.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.projects/GameProject/.indexes/e4/d1/history.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.projects/GameProject/.indexes/properties.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.projects/GameProject/.markers
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.projects/GameProject/org.eclipse.jdt.core/state.dat
-
1prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
-
1prog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.root/14.tree
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
-
3prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
-
3prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.egit.core.prefs
-
9prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.junit.prefs
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
-
12prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.browser.prefs
-
4prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
-
2prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
-
9prog2-codebase/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
-
13prog2-codebase/.metadata/.plugins/org.eclipse.debug.core/.launches/GameLoop.launch
-
13prog2-codebase/.metadata/.plugins/org.eclipse.debug.core/.launches/MultiLevelGame.launch
-
8prog2-codebase/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
-
32prog2-codebase/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml
-
2218prog2-codebase/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
-
11prog2-codebase/.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.project
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/1045345399.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/1323802929.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/154772007.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/1638656465.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/1865797976.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/1885772502.index
-
BINprog2-codebase/.metadata/.plugins/org.eclipse.jdt.core/1940943461.index
@ -0,0 +1,767 @@ |
|||||
|
!SESSION 2022-04-27 14:58:22.003 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -data C:\Users\birgi\Programmierung 2\GitTeam53\prog2-codebase -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-04-27 14:58:37.059 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 14:58:37.060 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@195498aa, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4b360972, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 14:58:37.060 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@793d09e, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@68821f6, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-04-27 14:58:47.975 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-04-27 15:10:16.291 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-04-27 15:10:31.542 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 15:10:31.542 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2beee3e8, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@732d078d, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 15:10:31.543 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58bad46f, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7c0e4e4e, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-04-27 15:10:46.359 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-04-27 15:54:40.727 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-04-27 15:54:55.237 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 15:54:55.237 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58bad46f, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7c0e4e4e, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 15:54:55.238 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@20231384, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3ba97962, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-04-27 15:55:10.227 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-04-27 19:46:45.346 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-04-27 19:47:00.046 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 19:47:00.047 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@495da9a7, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2beee3e8, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-27 19:47:00.047 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@732d078d, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58bad46f, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-04-27 19:47:14.603 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-04-29 10:09:47.134 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-04-29 10:10:06.393 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-29 10:10:06.394 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7c0e4e4e, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@20231384, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-04-29 10:10:06.394 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3ba97962, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@35becbd4, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-04-29 10:10:24.248 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-04 15:35:59.780 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-04 15:36:18.101 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-04 15:36:18.101 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@495da9a7, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2beee3e8, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-04 15:36:18.102 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@732d078d, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58bad46f, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-04 15:36:33.580 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-05 13:56:17.030 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-05 13:56:34.566 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-05 13:56:34.567 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@c0013b8, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2c1ea7be, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-05 13:56:34.567 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@2493eec6, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@42d174ad, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-05 13:56:49.687 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-05 14:43:17.629 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-05 14:43:32.847 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-05 14:43:32.848 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3bcc8f13, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3cb04dd, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-05 14:43:32.848 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@73d91faf, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@30fa8a6b, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-05 14:43:48.632 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.core 4 0 2022-05-05 14:43:51.699 |
||||
|
!MESSAGE Remove repository mapping of Git mapped resource for which project or mapped git repository has disappeared: 'RepositoryMapping[<empty> -> '../.git', absolute path: 'C:/Users/birgi/Programmierung 2/GitTeam53/prog2-codebase/.git' ]' |
||||
|
!STACK 0 |
||||
|
java.io.FileNotFoundException: |
||||
|
at org.eclipse.egit.core.project.GitProjectData.logAndUnmapGoneMappedResource(GitProjectData.java:751) |
||||
|
at org.eclipse.egit.core.project.GitProjectData.map(GitProjectData.java:714) |
||||
|
at org.eclipse.egit.core.project.GitProjectData.remapAll(GitProjectData.java:678) |
||||
|
at org.eclipse.egit.core.project.GitProjectData.load(GitProjectData.java:661) |
||||
|
at org.eclipse.egit.core.project.GitProjectData.get(GitProjectData.java:217) |
||||
|
at org.eclipse.egit.core.project.RepositoryMapping.getProjectData(RepositoryMapping.java:335) |
||||
|
at org.eclipse.egit.core.project.RepositoryMapping.findMapping(RepositoryMapping.java:356) |
||||
|
at org.eclipse.egit.core.project.RepositoryMapping.getMapping(RepositoryMapping.java:296) |
||||
|
at org.eclipse.egit.core.internal.util.ResourceUtil.getRepository(ResourceUtil.java:708) |
||||
|
at org.eclipse.egit.core.internal.info.GitItemStateFactory.getIndexDiffDataOrNull(GitItemStateFactory.java:106) |
||||
|
at org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator.decorateResource(GitLightweightDecorator.java:194) |
||||
|
at org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator.decorate(GitLightweightDecorator.java:172) |
||||
|
at org.eclipse.ui.internal.decorators.LightweightDecoratorDefinition.decorate(LightweightDecoratorDefinition.java:250) |
||||
|
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager$LightweightRunnable.run(LightweightDecoratorManager.java:105) |
||||
|
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) |
||||
|
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.decorate(LightweightDecoratorManager.java:360) |
||||
|
at org.eclipse.ui.internal.decorators.LightweightDecoratorManager.getDecorations(LightweightDecoratorManager.java:346) |
||||
|
at org.eclipse.ui.internal.decorators.DecorationScheduler$1.queue(DecorationScheduler.java:419) |
||||
|
at org.eclipse.ui.internal.decorators.DecorationScheduler$1.run(DecorationScheduler.java:397) |
||||
|
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) |
||||
|
!SESSION 2022-05-06 15:16:47.190 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-06 15:17:05.372 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-06 15:17:05.372 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@35becbd4, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3bcc8f13, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-06 15:17:05.372 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3cb04dd, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@73d91faf, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-06 15:17:22.258 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-06 15:27:29.195 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-06 15:27:44.698 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-06 15:27:44.698 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@732d078d, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@58bad46f, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-06 15:27:44.699 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@7c0e4e4e, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@20231384, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-06 15:28:02.161 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-06 15:41:06.871 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-06 15:41:22.081 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-06 15:41:22.082 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4ec427, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4c8d45cf, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-06 15:41:22.082 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@fde487b, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4cc4d454, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-06 15:41:38.040 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-07 09:34:54.339 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-07 09:35:11.135 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-07 09:35:11.135 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@f3876ef, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@6b751cb1, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-07 09:35:11.135 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@df9d400, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4ec427, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-07 09:35:29.416 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-10 16:51:01.505 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-10 16:51:20.473 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-10 16:51:20.473 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@20231384, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3ba97962, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-10 16:51:20.473 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@35becbd4, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3bcc8f13, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-10 16:51:38.994 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
||||
|
!SESSION 2022-05-10 18:50:36.438 ----------------------------------------------- |
||||
|
eclipse.buildId=4.23.0.I20220308-0310 |
||||
|
java.version=17.0.1 |
||||
|
java.vendor=Oracle Corporation |
||||
|
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=de_DE |
||||
|
Framework arguments: -product org.eclipse.epp.package.java.product |
||||
|
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product |
||||
|
|
||||
|
!ENTRY org.eclipse.jface 2 0 2022-05-10 18:50:52.879 |
||||
|
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-10 18:50:52.879 |
||||
|
!MESSAGE A conflict occurred for CTRL+SHIFT+T: |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.navigate.open.type,Open Type, |
||||
|
Open a type in a Java editor, |
||||
|
Category(org.eclipse.ui.category.navigate,Navigate,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@df9d400, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(CTRL+SHIFT+T, |
||||
|
ParameterizedCommand(Command(org.eclipse.lsp4e.symbolinworkspace,Go to Symbol in Workspace, |
||||
|
, |
||||
|
Category(org.eclipse.lsp4e.category,Language Servers,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4ec427, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
!SUBENTRY 1 org.eclipse.jface 2 0 2022-05-10 18:50:52.879 |
||||
|
!MESSAGE A conflict occurred for ALT+SHIFT+R: |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.rename.element,Rename - Refactoring , |
||||
|
Rename the selected element, |
||||
|
Category(org.eclipse.jdt.ui.category.refactoring,Refactor - Java,Java Refactoring Actions,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@4c8d45cf, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
Binding(ALT+SHIFT+R, |
||||
|
ParameterizedCommand(Command(org.eclipse.ui.edit.rename,Rename, |
||||
|
Rename the selected item, |
||||
|
Category(org.eclipse.ui.category.file,File,null,true), |
||||
|
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@fde487b, |
||||
|
,,true),null), |
||||
|
org.eclipse.ui.defaultAcceleratorConfiguration, |
||||
|
org.eclipse.ui.contexts.window,,,system) |
||||
|
|
||||
|
!ENTRY org.eclipse.egit.ui 2 0 2022-05-10 18:51:10.337 |
||||
|
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git |
||||
|
user global configuration and to define the default location to store repositories: 'C:\Users\birgi'. If this is |
||||
|
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and |
||||
|
EGit might behave differently since they see different configuration options. |
||||
|
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. |
@ -0,0 +1,32 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
public class Level5 { |
||||
|
|
||||
|
} |
@ -0,0 +1,58 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
public void applyGameLogic() { |
||||
|
super.applyGameLogic(); |
||||
|
System.out.println("AUA!"); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,675 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
/** |
||||
|
* Class that realizes all the game logic of a very simple game level. The level contains for now |
||||
|
* only two objects that are {@link GameObject} subclasses: {@link FallingStar} and |
||||
|
* {@link EgoObject}. Functions performed by this class are: |
||||
|
* <ul> |
||||
|
* <li>initially set up the level, spawn all object etc., in method {@link #prepareLevel} |
||||
|
* <li>React to game events in {@link #actionIfEgoCollidesWithCollect(GameObject, GameObject)} , |
||||
|
* {@link #actionIfEgoCollidesWithEnemy(GameObject, GameObject)}, etc. |
||||
|
* <li>define basic object movement rules for all objects in the level in the various |
||||
|
* ObjectController subclasses: {@link EgoController} and {@link FallingStarController}. |
||||
|
* </ul> |
||||
|
*/ |
||||
|
public class SpaceInvadersLevel extends Playground { |
||||
|
|
||||
|
public static final double SHOTSPEED = 175; |
||||
|
public static final double EGOSPEED = 220; |
||||
|
protected static final int LEVEL2STARS = 80; |
||||
|
protected static final double BONUS_DURATION = 1.; |
||||
|
protected static final double ENEMYSPEEDX = 60; |
||||
|
protected static final double ENEMYSPEEDY = 40; |
||||
|
protected static final double ENEMYSCALE = 1.0; |
||||
|
protected static final double ENEMYSHOTSPEED = 75; |
||||
|
protected static final int NRSHARDS = 50; |
||||
|
protected static final double EXPL_DURATION = 1.; |
||||
|
protected static final int NR_ENEMIES = 30; |
||||
|
protected static final int NR_COLLECT = 5; |
||||
|
protected static final Color EXPL_COLOR = Color.RED; |
||||
|
protected static final double SHARDSPEED = 200; |
||||
|
protected static final double STARSPEED = 100; |
||||
|
protected static final double STARTTEXTSPEED = 75; |
||||
|
protected static final double STARTPERIOD = 5.; |
||||
|
protected static final double DYING_INTERVAL = 2.0; |
||||
|
protected static final int CANVASX = 700; |
||||
|
protected static final int CANVASY = 700; |
||||
|
protected static final double EGORAD = 15; |
||||
|
protected static final double LEVEL_INIT_TIME = 1.0; |
||||
|
|
||||
|
protected int nextShot = 0; |
||||
|
|
||||
|
protected boolean lost = false; |
||||
|
protected boolean doneLevel = false; |
||||
|
protected double starttime = 0; |
||||
|
protected File smash = null; |
||||
|
protected File laser = null; |
||||
|
|
||||
|
protected BufferedImage[] alienImage = null; |
||||
|
protected double[] alienshowTime = null; |
||||
|
|
||||
|
protected BufferedImage[] heartImage = null; |
||||
|
protected double[] heartshowTime = null; |
||||
|
|
||||
|
protected Animation enemyAnim = null; |
||||
|
protected Animation heartAnim = null; |
||||
|
|
||||
|
private static Logger logger = LogManager.getLogger(SpaceInvadersLevel.class); |
||||
|
|
||||
|
public SpaceInvadersLevel() { |
||||
|
super(); |
||||
|
this.canvasX = this.preferredSizeX(); |
||||
|
this.canvasY = this.preferredSizeY(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* initially sets up the level. Not called by user interaction, but called every time a layer is |
||||
|
* restarted from scratch. So make sure that this is possible. Here, resources are loaded only |
||||
|
* once even if method is called several times. |
||||
|
* |
||||
|
* @param id String identifies level. |
||||
|
*/ |
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
logger.info("PREPARE"); |
||||
|
reset(); |
||||
|
this.doneLevel = false; |
||||
|
this.lost = false; |
||||
|
resetFlags(FLAGS_LEVEL); |
||||
|
|
||||
|
// set up flags that some objects rely on |
||||
|
setLevelFlag("delete", new LinkedList<String>()); |
||||
|
setLevelFlag("replace", new LinkedList<String>()); |
||||
|
getOrCreateGlobalFlag("points", Integer.valueOf(0)); |
||||
|
setLevelFlag("enemyShotCounter", Integer.valueOf(0)); |
||||
|
setLevelFlag("gameStatus", "start"); |
||||
|
setLevelFlag("detailedStatus", "std"); |
||||
|
getOrCreateGlobalFlag("egoLives", Integer.valueOf(5)); |
||||
|
setLevelFlag("dying", Double.valueOf(-1)); |
||||
|
|
||||
|
// start time measure |
||||
|
this.starttime = this.getGameTime(); |
||||
|
|
||||
|
// music load |
||||
|
if (this.smash == null) { |
||||
|
this.smash = new File("./audio/smash.wav"); |
||||
|
} |
||||
|
if (this.laser == null) { |
||||
|
this.laser = new File("./audio/laser.wav"); |
||||
|
} |
||||
|
|
||||
|
// ----- Alien |
||||
|
if (this.enemyAnim == null) { |
||||
|
String dateiName = "./video/sweetAlien.txt"; |
||||
|
this.enemyAnim = new Animation(dateiName); |
||||
|
} |
||||
|
|
||||
|
// -----Heart |
||||
|
if (this.heartAnim == null) { |
||||
|
String heartName = "./video/heart.txt"; |
||||
|
this.heartAnim = new Animation(heartName); |
||||
|
} |
||||
|
|
||||
|
// load highscore and update |
||||
|
HighscoreManager dh = new HighscoreManager(); |
||||
|
int alltimeHighscore = dh.readHSFromFile(); |
||||
|
setGlobalFlag("highscore", alltimeHighscore); |
||||
|
logger.info("HIGHSCORE" + alltimeHighscore); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* (re)draws the level but NOT the objects, they draw themselves. Called by the main game loop. |
||||
|
* This method mainly draws the background and the scoreboard. |
||||
|
* |
||||
|
* @param g2 Graphics2D object that can, and should be, draw on. |
||||
|
*/ |
||||
|
@Override |
||||
|
public void redrawLevel(Graphics2D g2) { |
||||
|
// Set anti-alias! |
||||
|
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); |
||||
|
// Set anti-alias for text |
||||
|
g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, |
||||
|
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); |
||||
|
|
||||
|
// fill background with black |
||||
|
int[] x = {0, canvasX, canvasX, 0}; |
||||
|
int[] y = {0, 0, canvasY, canvasY}; |
||||
|
Polygon bg = new Polygon(x, y, 4); |
||||
|
g2.setColor(Color.BLACK); |
||||
|
g2.fill(bg); |
||||
|
|
||||
|
// draw score in upper left part of playground |
||||
|
Integer pts = (Integer) getGlobalFlag("points"); |
||||
|
Font drawFont = new Font("SansSerif", Font.PLAIN, 20); |
||||
|
AttributedString as = new AttributedString("Points: " + pts); |
||||
|
as.addAttribute(TextAttribute.FONT, drawFont); |
||||
|
as.addAttribute(TextAttribute.FOREGROUND, Color.yellow); |
||||
|
g2.drawString(as.getIterator(), 10, 20); |
||||
|
|
||||
|
// draw lives counter in upper left part of playground |
||||
|
Integer lives = (Integer) getGlobalFlag("egoLives"); |
||||
|
Font drawFont2 = new Font("SansSerif", Font.PLAIN, 20); |
||||
|
AttributedString as2 = new AttributedString("Lives: " + lives); |
||||
|
as2.addAttribute(TextAttribute.FONT, drawFont2); |
||||
|
as2.addAttribute(TextAttribute.FOREGROUND, Color.yellow); |
||||
|
g2.drawString(as2.getIterator(), canvasX - 100, 20); |
||||
|
|
||||
|
// draw highscore in left part of playground under score |
||||
|
Integer highscore = (Integer) getGlobalFlag("highscore"); |
||||
|
Font drawFont3 = new Font("SansSerif", Font.PLAIN, 20); |
||||
|
AttributedString as3 = new AttributedString("Highscore: " + highscore); |
||||
|
as3.addAttribute(TextAttribute.FONT, drawFont3); |
||||
|
as3.addAttribute(TextAttribute.FOREGROUND, Color.yellow); |
||||
|
g2.drawString(as3.getIterator(), 10, 40); |
||||
|
|
||||
|
if (isPaused()) { |
||||
|
Font drawFont4 = new Font("SansSerif", Font.PLAIN, 50); |
||||
|
AttributedString as4 = new AttributedString("Das Spiel wurde pausiert."); |
||||
|
as4.addAttribute(TextAttribute.FONT, drawFont4); |
||||
|
as4.addAttribute(TextAttribute.FOREGROUND, Color.red); |
||||
|
g2.drawString(as4.getIterator(), 30, 400); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* applies the logic of the level: For now, this is just about deleting shots that are leaving the |
||||
|
* screen and calling methods 'actionIf..' in case objects collide. |
||||
|
* |
||||
|
*/ |
||||
|
@Override |
||||
|
public void applyGameLogic() { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
String gameStatus = (String) getLevelFlag("gameStatus"); |
||||
|
String subStatus = (String) getLevelFlag("detailedStatus"); |
||||
|
|
||||
|
if (gameStatus.equals("start") == true) { |
||||
|
setupInitialState(); |
||||
|
|
||||
|
} else if (gameStatus.equals("starting") == true) { |
||||
|
|
||||
|
if ((gameTime - starttime) > LEVEL_INIT_TIME) { |
||||
|
setLevelFlag("gameStatus", "init"); |
||||
|
} |
||||
|
|
||||
|
} else if (gameStatus.equals("init") == true) { |
||||
|
|
||||
|
this.createEnemies(); |
||||
|
this.createCollectables(); |
||||
|
|
||||
|
setLevelFlag("gameStatus", "playing"); |
||||
|
|
||||
|
} else if (gameStatus.equals("playing") == true) { |
||||
|
GameObject s = this.getObject("ego"); |
||||
|
|
||||
|
if (subStatus.equals("std")) { |
||||
|
|
||||
|
// check for collisions of enemy and shots, reuse shots list from before.. |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
|
||||
|
// check whether all enemies have been destroyed or escaped |
||||
|
if (enemies.size() == 0) { |
||||
|
HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"), |
||||
|
(Integer) Playground.getGlobalFlag("highscore")); |
||||
|
this.doneLevel = true; |
||||
|
logger.info("no enemies left, level done."); |
||||
|
} |
||||
|
|
||||
|
// loop over enemies to check for collisions or suchlike ... |
||||
|
LinkedList<GameObject> shots = collectObjects("simpleShot", true); |
||||
|
for (GameObject e : enemies) { |
||||
|
// if ego collides with enemy.. |
||||
|
if (s.collisionDetection(e)) { |
||||
|
actionIfEgoCollidesWithEnemy(e, s); |
||||
|
} |
||||
|
|
||||
|
// if shot collides with enemy |
||||
|
for (GameObject shot : shots) { |
||||
|
if (e.collisionDetection(shot)) { |
||||
|
actionIfEnemyIsHit(e, shot); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// collecting hearts |
||||
|
LinkedList<GameObject> collects = collectObjects("collect", false); |
||||
|
for (GameObject c : collects) { |
||||
|
if (s.collisionDetection(c)) { |
||||
|
actionIfEgoCollidesWithCollect(c, s); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// loop over enemies and, with a certain probability, launch an enemy shot for each one |
||||
|
for (GameObject e : enemies) { |
||||
|
createEnemyShot(e); |
||||
|
} |
||||
|
|
||||
|
// check for collisions between ego object and enemy shots |
||||
|
LinkedList<GameObject> eshots = collectObjects("enmyShot", true); |
||||
|
for (GameObject eshot : eshots) { |
||||
|
|
||||
|
if (s.collisionDetection(eshot)) { |
||||
|
logger.trace("COLLISION" + eshot.scol.get(0) + "/" + s.scol.get(0)); |
||||
|
actionIfEgoObjectIsHit(eshot, s); |
||||
|
} |
||||
|
} |
||||
|
} // if substatus.. |
||||
|
else if (subStatus.equals("dying")) { |
||||
|
Double t0 = (Double) getLevelFlag("t0"); |
||||
|
if (gameTime - t0 > DYING_INTERVAL) { |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
setLevelFlag("detailedStatus", "std"); |
||||
|
s.setActive(true); |
||||
|
|
||||
|
for (GameObject e : enemies) { |
||||
|
logger.trace("activating" + e.getId()); |
||||
|
e.setActive(true); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} // if (gameStatus == "playing") |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
public boolean gameOver() { |
||||
|
return lost; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
public boolean levelFinished() { |
||||
|
return doneLevel; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* calculates and returns the preferred size of the level (in pixel) for X-direction |
||||
|
*/ |
||||
|
public int preferredSizeX() { |
||||
|
return CANVASX; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* calculates and returns the preferred size of the level (in pixel) for Y-direction |
||||
|
*/ |
||||
|
public int preferredSizeY() { |
||||
|
return CANVASY; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** Adds ego object and stars and displays startup message. Is called from applyGameLogic */ |
||||
|
protected void setupInitialState() { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
setLevelFlag("gameStatus", "starting"); |
||||
|
|
||||
|
this.createStars(); |
||||
|
|
||||
|
// set up ego object |
||||
|
this.createEgoObject(); |
||||
|
|
||||
|
// add text object to playground |
||||
|
ObjectController ctrl = new LimitedTimeController(gameTime, 3.); |
||||
|
GameObject readyText = new TextObject("ready?", this, getSizeX() / 2, 0, 0, 100, |
||||
|
this.getStartupMessage(), 50, Color.RED).addController(ctrl); |
||||
|
addObject(readyText); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* simply returns the text that should be displayed at level start |
||||
|
* |
||||
|
* @return a string that is displayed at start. Should be not longer than 30 characters. |
||||
|
*/ |
||||
|
protected String getStartupMessage() { |
||||
|
return "Get ready for level X!"; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* returns a number representing the speed of an enemy object in X direction (pixels/second) |
||||
|
* |
||||
|
* @return a positive value |
||||
|
*/ |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* returns a number representing the speed of an enemy object in Y direction (pixels/second) |
||||
|
* |
||||
|
* @return a positive value |
||||
|
*/ |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* returns the maximum number of enemy instances (which are created at level start) |
||||
|
* |
||||
|
* @return a positive value |
||||
|
*/ |
||||
|
protected int calcNrEnemies() { |
||||
|
return SpaceInvadersLevel.NR_ENEMIES; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* returns the maximum number of collectables' instances (which are created at level start) |
||||
|
* |
||||
|
* @return a positive value |
||||
|
*/ |
||||
|
protected int calcNrCollect() { |
||||
|
return SpaceInvadersLevel.NR_COLLECT; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
protected GameObject createEnemyShotObject(GameObject parentObject, String name, |
||||
|
ObjectController limitedTimeController) { |
||||
|
GameObject to = |
||||
|
new TextObject(name, this, parentObject.getX(), parentObject.getY(), 0, ENEMYSHOTSPEED, "I", |
||||
|
20, Color.YELLOW).generateColliders().addController(limitedTimeController); |
||||
|
/* |
||||
|
* // also possible: GameObject to = new RectObject(name, this, parentObject.getX(), |
||||
|
* parentObject.getY(), 0, ENEMYSHOTSPEED, 4, 20, |
||||
|
* Color.YELLOW).addController(limitedTimeController) ; to.generateColliders(); |
||||
|
*/ |
||||
|
return to; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
protected void createEnemyShot(GameObject e) { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
|
||||
|
double PROB = calcEnemyShotProb(); |
||||
|
double diceThrow = Math.random(); |
||||
|
Integer nrEnemyShots = (Integer) (getLevelFlag("enemyShotCounter")); |
||||
|
if (diceThrow < PROB) { |
||||
|
setLevelFlag("enemyShotCounter", Integer.valueOf(++nrEnemyShots)); |
||||
|
|
||||
|
LimitedTimeController limitedTimeController = new LimitedTimeController(gameTime, 10.); |
||||
|
|
||||
|
GameObject textObject = |
||||
|
createEnemyShotObject(e, "enmyShot" + nrEnemyShots, limitedTimeController); |
||||
|
|
||||
|
addObject(textObject); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* calculates and returns the probability that an enemy shots. Used by |
||||
|
* {@link SpaceInvadersLevel#createEnemyShot(GameObject)}. |
||||
|
* |
||||
|
* @return a positive value between 0 (no chance) to 1 (for sure). |
||||
|
*/ |
||||
|
double calcEnemyShotProb() { |
||||
|
return 0.1 * this.getTimestep(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
ObjectController createEnemyController() { |
||||
|
return new EnemyController(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
GameObject createSingleEnemy(String name, double x_enemy, double y_enemy, double vx_enemy, |
||||
|
double vy_enemy, ObjectController enemyController, double gameTime) { |
||||
|
|
||||
|
GameObject tmp = |
||||
|
new AnimatedGameobject(name, this, x_enemy, y_enemy, vx_enemy, vy_enemy, ENEMYSCALE, |
||||
|
this.enemyAnim, gameTime, "loop").addController(enemyController).generateColliders(); |
||||
|
return tmp; |
||||
|
} |
||||
|
|
||||
|
GameObject createSingleCollect(String name) { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
double cspeedy = 20.; |
||||
|
double x_collect = Math.random() * this.canvasX; |
||||
|
double y_collect = Math.random() * this.canvasY / 3; |
||||
|
double vx_collect = 2 * (Math.random() - 0.5) * 0; |
||||
|
double vy_collect = Math.random() * cspeedy; |
||||
|
|
||||
|
GameObject tmp = new AnimatedGameobject(name, this, x_collect, y_collect, vx_collect, |
||||
|
vy_collect, 0.3, this.heartAnim, gameTime, "loop").generateColliders() |
||||
|
.addController(new EnemyController()); |
||||
|
return tmp; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void createEnemies() { |
||||
|
// create enemies |
||||
|
double gameTime = this.getGameTime(); |
||||
|
double speedx = this.calcEnemySpeedX(); |
||||
|
double speedy = this.calcEnemySpeedY(); |
||||
|
for (int i = 0; i < this.calcNrEnemies(); i++) { |
||||
|
double x_enemy = Math.random() * this.canvasX; |
||||
|
double y_enemy = Math.random() * this.canvasY / 3; |
||||
|
double vx_enemy = 2 * (Math.random() - 0.5) * speedx; |
||||
|
double vy_enemy = Math.random() * speedy; |
||||
|
|
||||
|
ObjectController enemyController = createEnemyController(); |
||||
|
GameObject enemy = createSingleEnemy("enemy" + i, x_enemy, y_enemy, vx_enemy, vy_enemy, |
||||
|
enemyController, gameTime); |
||||
|
addObject(enemy); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
void createCollectables() { |
||||
|
// create collectables |
||||
|
for (int i = 0; i < this.calcNrCollect(); i++) { |
||||
|
|
||||
|
|
||||
|
GameObject collect = createSingleCollect("collect" + i); |
||||
|
|
||||
|
addObject(collect); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void createEgoObject() { |
||||
|
// add ego to playground at lower bottom |
||||
|
EgoController egoController = |
||||
|
new CollisionAwareEgoController(SpaceInvadersLevel.EGORAD, this.laser); |
||||
|
|
||||
|
GameObject ego = new EgoObject("ego", this, canvasX / 2, canvasY - (EGORAD * 2), 0, 0, EGORAD) |
||||
|
.addController(egoController).generateColliders(); |
||||
|
|
||||
|
addObject(ego); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void createStars() { |
||||
|
// add stars to playground |
||||
|
for (int i = 1; i <= LEVEL2STARS; i++) { |
||||
|
FallingStarController fsc = new FallingStarController(); |
||||
|
|
||||
|
GameObject star = new FallingStar("star" + i, this, Math.random() * canvasX, |
||||
|
Math.random() * 15, 0.0, Math.random() * STARSPEED, Color.WHITE, 1.).addController(fsc); |
||||
|
|
||||
|
addObject(star); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void createExplosion(double gameTime, GameObject e, String basename, double interval, |
||||
|
Color color) { |
||||
|
// spawn a cloud of exploded shards |
||||
|
for (int i = 0; i < NRSHARDS; i++) { |
||||
|
double vx = 2 * (Math.random() - 0.5) * SHARDSPEED + e.getVX(); |
||||
|
double vy = 2 * (Math.random() - 0.5) * SHARDSPEED + e.getVY(); |
||||
|
addObject( |
||||
|
new FallingStar("shard" + gameTime + "/" + i, this, e.getX(), e.getY(), vx, vy, color, 2) |
||||
|
.addController(new LimitedTimeController(gameTime, interval))); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* implements game behavior if an enemy object is hit by a players' shot. It creates an explosion |
||||
|
* effect, plays a sound and adds 200 points to the current score (and it removes the enemy object |
||||
|
* and the shot object). |
||||
|
* |
||||
|
* @param e enemy which was hit |
||||
|
* @param shot the shot object that hit the enemy |
||||
|
*/ |
||||
|
void actionIfEnemyIsHit(GameObject e, GameObject shot) { |
||||
|
|
||||
|
double gameTime = this.getGameTime(); |
||||
|
createExplosion(gameTime, e, "shard", DYING_INTERVAL, Color.RED); |
||||
|
|
||||
|
Music.music(smash); |
||||
|
|
||||
|
// delete enemy |
||||
|
deleteObject(e.getId()); |
||||
|
|
||||
|
// delete shot |
||||
|
deleteObject(shot.getId()); |
||||
|
|
||||
|
// add to points counter |
||||
|
Integer pts = (Integer) getGlobalFlag("points"); |
||||
|
setGlobalFlag("points", pts + 200); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* implements game behavior if ego object of player touches a collectable |
||||
|
* {@link gameobjects.GameObject }. Here it adds one extra life and displays a text for a limited |
||||
|
* time on screen "Extra life!!". The duration is set in constant |
||||
|
* {@link SpaceInvadersLevel#EXPL_DURATION}. |
||||
|
* |
||||
|
* |
||||
|
* @param collect item touched by ego |
||||
|
* @param ego the players ego object |
||||
|
*/ |
||||
|
void actionIfEgoCollidesWithCollect(GameObject collect, GameObject ego) { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
|
||||
|
if (this.getObject("bonustext") == null) { |
||||
|
|
||||
|
// spawn a bonus points object |
||||
|
double vx = 2 * (Math.random() - 0.5) * SHARDSPEED + collect.getVX(); |
||||
|
double vy = 2 * (Math.random() - 0.5) * SHARDSPEED + collect.getVY(); |
||||
|
|
||||
|
|
||||
|
LimitedTimeController bonusTextController = |
||||
|
new LimitedTimeController(gameTime, SpaceInvadersLevel.EXPL_DURATION); |
||||
|
GameObject bonusText = new TextObject("bonustext", this, collect.getX(), collect.getY(), vx, |
||||
|
vy, "Extra life!!", 20, Color.YELLOW).addController(bonusTextController); |
||||
|
|
||||
|
addObject(bonusText); |
||||
|
|
||||
|
// delete collect |
||||
|
deleteObject(collect.getId()); |
||||
|
|
||||
|
// add to points counter |
||||
|
Integer lives = (Integer) getGlobalFlag("egoLives"); |
||||
|
lives++; |
||||
|
setGlobalFlag("egoLives", lives); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* implements behaviour of game when ego object is touching an enemy. It displays a text "AUAA!!" |
||||
|
* for a certain time on the game screen. Time span is defined as constant in |
||||
|
* {@link SpaceInvadersLevel#BONUS_DURATION } . |
||||
|
* |
||||
|
* @param enemy the enemy that was hit |
||||
|
* @param ego the ego object of the player |
||||
|
*/ |
||||
|
void actionIfEgoCollidesWithEnemy(GameObject enemy, GameObject ego) { |
||||
|
|
||||
|
/** |
||||
|
* set temporary text over ego. This object lives only for a short time. While it lives, further |
||||
|
* collisions are ignored. Otherwise a single collision would result in a lot of deducted |
||||
|
* points... |
||||
|
*/ |
||||
|
|
||||
|
double gameTime = this.getGameTime(); |
||||
|
GameObject auaObj = this.getObject("AUA-EGO"); |
||||
|
|
||||
|
if (auaObj == null) { |
||||
|
addObject(new TextObject("AUA-EGO", this, ego.getX(), ego.getY() - 20, ego.getVX(), |
||||
|
ego.getVY(), "AUAA!!", 10, Color.RED) |
||||
|
.addController(new LimitedTimeController(gameTime, BONUS_DURATION))); |
||||
|
// deduct points |
||||
|
Integer pts = (Integer) getGlobalFlag("points"); |
||||
|
setGlobalFlag("points", pts - 500); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* implements what happens if the eog object of player is hit by a shot. It removes the shot from |
||||
|
* screen, reduces lives by 1, removes the ego and end current playing. |
||||
|
* |
||||
|
* @param eshot the shot object that hits the ego |
||||
|
* @param ego the ego object of the player |
||||
|
*/ |
||||
|
void actionIfEgoObjectIsHit(GameObject eshot, GameObject ego) { |
||||
|
logger.debug("collision of " + eshot.getId() + " and " + ego.getId()); |
||||
|
|
||||
|
double gameTime = this.getGameTime(); |
||||
|
this.deleteObject(eshot.getId()); |
||||
|
|
||||
|
Integer oldLives = (Integer) getGlobalFlag("egoLives"); |
||||
|
int newLives = oldLives - 1; |
||||
|
setGlobalFlag("egoLives", newLives); |
||||
|
logger.debug("set egoLives to " + newLives + " (was " + oldLives + ")"); |
||||
|
|
||||
|
if (newLives <= 0) { |
||||
|
lost = true; |
||||
|
HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"), |
||||
|
(Integer) Playground.getGlobalFlag("highscore")); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
LinkedList<GameObject> eshots = collectObjects("enmyShot", true); |
||||
|
for (GameObject _eshot : eshots) { |
||||
|
deleteObject(_eshot.getId()); |
||||
|
} |
||||
|
setLevelFlag("detailedStatus", "dying"); |
||||
|
setLevelFlag("t0", gameTime); |
||||
|
ego.setActive(false); |
||||
|
createExplosion(gameTime, ego, "egoexp", DYING_INTERVAL, Color.WHITE); |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
for (GameObject enemy : enemies) { |
||||
|
enemy.setY(0); |
||||
|
enemy.setActive(false); |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1,149 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
public void applyGameLogic() { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
String gameStatus = (String) getLevelFlag("gameStatus"); |
||||
|
String subStatus = (String) getLevelFlag("detailedStatus"); |
||||
|
|
||||
|
if (gameStatus.equals("start") == true) { |
||||
|
setupInitialState(); |
||||
|
|
||||
|
} else if (gameStatus.equals("starting") == true) { |
||||
|
|
||||
|
if ((gameTime - starttime) > LEVEL_INIT_TIME) { |
||||
|
setLevelFlag("gameStatus", "init"); |
||||
|
} |
||||
|
|
||||
|
} else if (gameStatus.equals("init") == true) { |
||||
|
|
||||
|
this.createEnemies(); |
||||
|
this.createCollectables(); |
||||
|
|
||||
|
setLevelFlag("gameStatus", "playing"); |
||||
|
|
||||
|
} else if (gameStatus.equals("playing") == true) { |
||||
|
GameObject s = this.getObject("ego"); |
||||
|
|
||||
|
if (subStatus.equals("std")) { |
||||
|
|
||||
|
// check for collisions of enemy and shots, reuse shots list from before.. |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
|
||||
|
// check whether all enemies have been destroyed or escaped |
||||
|
if (enemies.size() == 0) { |
||||
|
HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"), |
||||
|
(Integer) Playground.getGlobalFlag("highscore")); |
||||
|
this.doneLevel = true; |
||||
|
logger.info("no enemies left, level done."); |
||||
|
} |
||||
|
|
||||
|
// loop over enemies to check for collisions or suchlike ... |
||||
|
LinkedList<GameObject> shots = collectObjects("simpleShot", true); |
||||
|
for (GameObject e : enemies) { |
||||
|
// if ego collides with enemy.. |
||||
|
if (s.collisionDetection(e)) { |
||||
|
actionIfEgoCollidesWithEnemy(e, s); |
||||
|
} |
||||
|
|
||||
|
// if shot collides with enemy |
||||
|
for (GameObject shot : shots) { |
||||
|
if (e.collisionDetection(shot)) { |
||||
|
actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// collecting hearts |
||||
|
LinkedList<GameObject> collects = collectObjects("collect", false); |
||||
|
for (GameObject c : collects) { |
||||
|
if (s.collisionDetection(c)) { |
||||
|
actionIfEgoCollidesWithCollect(c, s); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// loop over enemies and, with a certain probability, launch an enemy shot for each one |
||||
|
for (GameObject e : enemies) { |
||||
|
createEnemyShot(e); |
||||
|
} |
||||
|
|
||||
|
// check for collisions between ego object and enemy shots |
||||
|
LinkedList<GameObject> eshots = collectObjects("enmyShot", true); |
||||
|
for (GameObject eshot : eshots) { |
||||
|
|
||||
|
if (s.collisionDetection(eshot)) { |
||||
|
logger.trace("COLLISION" + eshot.scol.get(0) + "/" + s.scol.get(0)); |
||||
|
actionIfEgoObjectIsHit(eshot, s); |
||||
|
} |
||||
|
} |
||||
|
} // if substatus.. |
||||
|
else if (subStatus.equals("dying")) { |
||||
|
Double t0 = (Double) getLevelFlag("t0"); |
||||
|
if (gameTime - t0 > DYING_INTERVAL) { |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
setLevelFlag("detailedStatus", "std"); |
||||
|
s.setActive(true); |
||||
|
|
||||
|
for (GameObject e : enemies) { |
||||
|
logger.trace("activating" + e.getId()); |
||||
|
e.setActive(true); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} // if (gameStatus == "playing") |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
protected static final int NR_ENEMIES = 21; |
||||
|
|
||||
|
protected static Logger logger = LogManager.getLogger(Level7.class); |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level7.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level7.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level7.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
} |
@ -0,0 +1,57 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
public void applyGameLogic() { |
||||
|
super.applyGameLogic(); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,34 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import gameobjects.GameObject; |
||||
|
import rendering.RectArtist; |
||||
|
|
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
} |
||||
|
|
||||
|
public void addObject(String id, Playground pg, double x, double y, double vx, double vy, double width, double height, Color color) { |
||||
|
GameObject rectangle= new GameObject(rectangle, pg, 350, 100, 0, 0, 700, 250, Color.RED); |
||||
|
} |
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,16 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
} |
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
|
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import gameobjects.GameObject; |
||||
|
import java.awt.Color; |
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
addObject(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
} |
@ -0,0 +1,60 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
void actionIfEnemyIsHit(GameObject e, GameObject shot) { |
||||
|
super.actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,7 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import gameobjects.GameObject; |
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
public class LevelWithBox { |
||||
|
|
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import gameobjects.GameObject; |
||||
|
import rendering.RectArtist; |
||||
|
import java.awt.Color; |
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
} |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import gameobjects.GameObject; |
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 12; |
||||
|
|
||||
|
@Override |
||||
|
void actionIfEnemyIsHit(GameObject e, GameObject shot) { |
||||
|
super.actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "LevelWithBox, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return LevelWithBox.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return LevelWithBox.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return LevelWithBox.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,58 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
protected static final int NR_ENEMIES = 21; |
||||
|
|
||||
|
@Override |
||||
|
void actionIfEnemyIsHit(GameObject e, GameObject shot) { |
||||
|
super.actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level7.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level7.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level7.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 1000; |
||||
|
protected static final double ENEMYSPEEDY = 2000; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.RectObject; |
||||
|
|
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
GameObject RectOb = new RectObject("RedObj", null, 350, 100, 0, 0, 700, 250, Color.RED); |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
addObject(RectOb); |
||||
|
} |
||||
|
} |
@ -0,0 +1,32 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,59 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 12; |
||||
|
|
||||
|
@Override |
||||
|
void actionIfEnemyIsHit(GameObject e, GameObject shot) { |
||||
|
super.actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level6.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level6.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level6.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,46 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
protected static final int NR_ENEMIES = 21; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level7.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level7.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1,19 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import gameobjects.GameObject; |
||||
|
import rendering.RectArtist; |
||||
|
|
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
} |
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 12; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level6.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level6.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return SpaceInvadersLevel.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,51 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
protected static final int NR_ENEMIES = 21; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level7.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level7.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level7.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,148 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
public void applyGameLogic() { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
String gameStatus = (String) getLevelFlag("gameStatus"); |
||||
|
String subStatus = (String) getLevelFlag("detailedStatus"); |
||||
|
|
||||
|
if (gameStatus.equals("start") == true) { |
||||
|
setupInitialState(); |
||||
|
|
||||
|
} else if (gameStatus.equals("starting") == true) { |
||||
|
|
||||
|
if ((gameTime - starttime) > LEVEL_INIT_TIME) { |
||||
|
setLevelFlag("gameStatus", "init"); |
||||
|
} |
||||
|
|
||||
|
} else if (gameStatus.equals("init") == true) { |
||||
|
|
||||
|
this.createEnemies(); |
||||
|
this.createCollectables(); |
||||
|
|
||||
|
setLevelFlag("gameStatus", "playing"); |
||||
|
|
||||
|
} else if (gameStatus.equals("playing") == true) { |
||||
|
GameObject s = this.getObject("ego"); |
||||
|
|
||||
|
if (subStatus.equals("std")) { |
||||
|
|
||||
|
// check for collisions of enemy and shots, reuse shots list from before.. |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
|
||||
|
// check whether all enemies have been destroyed or escaped |
||||
|
if (enemies.size() == 0) { |
||||
|
HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"), |
||||
|
(Integer) Playground.getGlobalFlag("highscore")); |
||||
|
this.doneLevel = true; |
||||
|
logger.info("no enemies left, level done."); |
||||
|
} |
||||
|
|
||||
|
// loop over enemies to check for collisions or suchlike ... |
||||
|
LinkedList<GameObject> shots = collectObjects("simpleShot", true); |
||||
|
for (GameObject e : enemies) { |
||||
|
// if ego collides with enemy.. |
||||
|
if (s.collisionDetection(e)) { |
||||
|
actionIfEgoCollidesWithEnemy(e, s); |
||||
|
} |
||||
|
|
||||
|
// if shot collides with enemy |
||||
|
for (GameObject shot : shots) { |
||||
|
if (e.collisionDetection(shot)) { |
||||
|
actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// collecting hearts |
||||
|
LinkedList<GameObject> collects = collectObjects("collect", false); |
||||
|
for (GameObject c : collects) { |
||||
|
if (s.collisionDetection(c)) { |
||||
|
actionIfEgoCollidesWithCollect(c, s); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// loop over enemies and, with a certain probability, launch an enemy shot for each one |
||||
|
for (GameObject e : enemies) { |
||||
|
createEnemyShot(e); |
||||
|
} |
||||
|
|
||||
|
// check for collisions between ego object and enemy shots |
||||
|
LinkedList<GameObject> eshots = collectObjects("enmyShot", true); |
||||
|
for (GameObject eshot : eshots) { |
||||
|
|
||||
|
if (s.collisionDetection(eshot)) { |
||||
|
logger.trace("COLLISION" + eshot.scol.get(0) + "/" + s.scol.get(0)); |
||||
|
actionIfEgoObjectIsHit(eshot, s); |
||||
|
} |
||||
|
} |
||||
|
} // if substatus.. |
||||
|
else if (subStatus.equals("dying")) { |
||||
|
Double t0 = (Double) getLevelFlag("t0"); |
||||
|
if (gameTime - t0 > DYING_INTERVAL) { |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
setLevelFlag("detailedStatus", "std"); |
||||
|
s.setActive(true); |
||||
|
|
||||
|
for (GameObject e : enemies) { |
||||
|
e.setActive(true); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} // if (gameStatus == "playing") |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 1400; |
||||
|
protected static final double ENEMYSPEEDY = 1000; |
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
} |
@ -0,0 +1,41 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 1000; |
||||
|
protected static final double ENEMYSPEEDY = 2000; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
package base; |
||||
|
|
||||
|
import java.io.IOException; |
||||
|
|
||||
|
import playground.Level5; |
||||
|
import playground.Level6; |
||||
|
import playground.Level7; |
||||
|
|
||||
|
|
||||
|
public class MultiLevelGame extends GameLoop { |
||||
|
|
||||
|
@Override |
||||
|
void defineLevels() { |
||||
|
this.resetLevels(); |
||||
|
this.addLevel(new Level5()); |
||||
|
this.addLevel(new Level6()); |
||||
|
this.addLevel(new Level7()); |
||||
|
} |
||||
|
|
||||
|
public static void main(String[] args) throws IOException { |
||||
|
MultiLevelGame mlg = new MultiLevelGame(); |
||||
|
mlg.runGame(args); |
||||
|
} |
||||
|
} |
@ -0,0 +1,54 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 12; |
||||
|
|
||||
|
protected static Logger logger = LogManager.getLogger(Level6.class); |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level6.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level6.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level6.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import gameobjects.GameObject; |
||||
|
import rendering.RectArtist; |
||||
|
|
||||
|
|
||||
|
public class LevelWithBox extends SpaceInvadersLevel { |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Box-Level!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public void prepareLevel(String id) { |
||||
|
super.prepareLevel(id); |
||||
|
} |
||||
|
|
||||
|
public void addObject(String id, Playground pg, double x, double y, double vx, double vy, double width, double height, Color color) { |
||||
|
GameObject rectangle= new (rectangle, pg, 350, 100, 0, 0, 700, 250, Color.RED); |
||||
|
} |
||||
|
} |
@ -0,0 +1,43 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,58 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
void actionIfEnemyIsHit(GameObject e, GameObject shot) { |
||||
|
System.out.println("AUA!"); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,44 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
protected double calcEnemySpeedX() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return SpaceInvadersLevel.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level6 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 480; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 12; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level6, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level6.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level6.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level6.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
public class Level6 { |
||||
|
|
||||
|
} |
@ -0,0 +1,149 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level5 extends SpaceInvadersLevel { |
||||
|
|
||||
|
protected static final double ENEMYSPEEDX = 160; |
||||
|
protected static final double ENEMYSPEEDY = 80; |
||||
|
protected static final int NR_ENEMIES = 5; |
||||
|
|
||||
|
@Override |
||||
|
public void applyGameLogic() { |
||||
|
double gameTime = this.getGameTime(); |
||||
|
String gameStatus = (String) getLevelFlag("gameStatus"); |
||||
|
String subStatus = (String) getLevelFlag("detailedStatus"); |
||||
|
|
||||
|
if (gameStatus.equals("start") == true) { |
||||
|
setupInitialState(); |
||||
|
|
||||
|
} else if (gameStatus.equals("starting") == true) { |
||||
|
|
||||
|
if ((gameTime - starttime) > LEVEL_INIT_TIME) { |
||||
|
setLevelFlag("gameStatus", "init"); |
||||
|
} |
||||
|
|
||||
|
} else if (gameStatus.equals("init") == true) { |
||||
|
|
||||
|
this.createEnemies(); |
||||
|
this.createCollectables(); |
||||
|
|
||||
|
setLevelFlag("gameStatus", "playing"); |
||||
|
|
||||
|
} else if (gameStatus.equals("playing") == true) { |
||||
|
GameObject s = this.getObject("ego"); |
||||
|
|
||||
|
if (subStatus.equals("std")) { |
||||
|
|
||||
|
// check for collisions of enemy and shots, reuse shots list from before.. |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
|
||||
|
// check whether all enemies have been destroyed or escaped |
||||
|
if (enemies.size() == 0) { |
||||
|
HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"), |
||||
|
(Integer) Playground.getGlobalFlag("highscore")); |
||||
|
this.doneLevel = true; |
||||
|
//logger.info("no enemies left, level done."); |
||||
|
} |
||||
|
|
||||
|
// loop over enemies to check for collisions or suchlike ... |
||||
|
LinkedList<GameObject> shots = collectObjects("simpleShot", true); |
||||
|
for (GameObject e : enemies) { |
||||
|
// if ego collides with enemy.. |
||||
|
if (s.collisionDetection(e)) { |
||||
|
actionIfEgoCollidesWithEnemy(e, s); |
||||
|
} |
||||
|
|
||||
|
// if shot collides with enemy |
||||
|
for (GameObject shot : shots) { |
||||
|
if (e.collisionDetection(shot)) { |
||||
|
actionIfEnemyIsHit(e, shot); |
||||
|
System.out.println("AUA!"); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// collecting hearts |
||||
|
LinkedList<GameObject> collects = collectObjects("collect", false); |
||||
|
for (GameObject c : collects) { |
||||
|
if (s.collisionDetection(c)) { |
||||
|
actionIfEgoCollidesWithCollect(c, s); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// loop over enemies and, with a certain probability, launch an enemy shot for each one |
||||
|
for (GameObject e : enemies) { |
||||
|
createEnemyShot(e); |
||||
|
} |
||||
|
|
||||
|
// check for collisions between ego object and enemy shots |
||||
|
LinkedList<GameObject> eshots = collectObjects("enmyShot", true); |
||||
|
for (GameObject eshot : eshots) { |
||||
|
|
||||
|
if (s.collisionDetection(eshot)) { |
||||
|
//logger.trace("COLLISION" + eshot.scol.get(0) + "/" + s.scol.get(0)); |
||||
|
actionIfEgoObjectIsHit(eshot, s); |
||||
|
} |
||||
|
} |
||||
|
} // if substatus.. |
||||
|
else if (subStatus.equals("dying")) { |
||||
|
Double t0 = (Double) getLevelFlag("t0"); |
||||
|
if (gameTime - t0 > DYING_INTERVAL) { |
||||
|
LinkedList<GameObject> enemies = collectObjects("enemy", false); |
||||
|
setLevelFlag("detailedStatus", "std"); |
||||
|
s.setActive(true); |
||||
|
|
||||
|
for (GameObject e : enemies) { |
||||
|
//logger.trace("activating" + e.getId()); |
||||
|
e.setActive(true); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} // if (gameStatus == "playing") |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level5, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected int calcNrEnemies() { |
||||
|
return Level5.NR_ENEMIES; |
||||
|
} |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
package playground; |
||||
|
|
||||
|
import java.awt.Color; |
||||
|
import java.awt.Font; |
||||
|
import java.awt.Graphics2D; |
||||
|
import java.awt.Polygon; |
||||
|
import java.awt.RenderingHints; |
||||
|
import java.awt.font.TextAttribute; |
||||
|
import java.awt.image.BufferedImage; |
||||
|
import java.io.*; |
||||
|
import java.text.AttributedString; |
||||
|
import java.util.LinkedList; |
||||
|
import controller.EnemyController; |
||||
|
import controller.FallingStarController; |
||||
|
import controller.LimitedTimeController; |
||||
|
import controller.ObjectController; |
||||
|
import controller.EgoController; |
||||
|
import controller.CollisionAwareEgoController; |
||||
|
import gameobjects.AnimatedGameobject; |
||||
|
import gameobjects.FallingStar; |
||||
|
import gameobjects.GameObject; |
||||
|
import gameobjects.EgoObject; |
||||
|
import gameobjects.TextObject; |
||||
|
import org.apache.logging.log4j.Logger; |
||||
|
import org.apache.logging.log4j.LogManager; |
||||
|
|
||||
|
public class Level7 extends SpaceInvadersLevel { |
||||
|
protected static final double ENEMYSPEEDX = 800; |
||||
|
protected static final double ENEMYSPEEDY = 140; |
||||
|
|
||||
|
@Override |
||||
|
protected String getStartupMessage() { |
||||
|
return "Level7, get ready!"; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedX() { |
||||
|
return Level5.ENEMYSPEEDX; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
protected double calcEnemySpeedY() { |
||||
|
return Level5.ENEMYSPEEDY; |
||||
|
} |
||||
|
} |
@ -0,0 +1 @@ |
|||||
|
|
@ -0,0 +1 @@ |
|||||
|
|
@ -0,0 +1,2 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
version=1 |
@ -0,0 +1,3 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n |
||||
|
preferredTargets=default\:default| |
@ -0,0 +1,3 @@ |
|||||
|
GitRepositoriesView.GitDirectories=C\:\\Users\\birgi\\Programmierung 2\\GitTeam53\\.git; |
||||
|
GitRepositoriesView.GitDirectories.relative=C\:\\Users\\birgi\\Programmierung 2\\GitTeam53\\.git; |
||||
|
eclipse.preferences.version=1 |
@ -0,0 +1,9 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled |
||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled |
||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 |
||||
|
org.eclipse.jdt.core.compiler.compliance=17 |
||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error |
||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error |
||||
|
org.eclipse.jdt.core.compiler.release=enabled |
||||
|
org.eclipse.jdt.core.compiler.source=17 |
@ -0,0 +1,2 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.jdt.junit.content_assist_favorite_static_members_migrated=true |
@ -0,0 +1,2 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1651064564679" defaultVMConnector\="">\r\n <vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\r\n <vm id\="1651064564679" name\="jdk 17.0.1" path\="C\:\\Users\\birgi\\Java\\jdk 17.0.1"/>\r\n </vmType>\r\n</vmSettings>\r\n |
@ -0,0 +1,12 @@ |
|||||
|
breadcrumb.org.eclipse.jdt.ui.JavaPerspective=true |
||||
|
command=C\:\\Users\\birgi\\Java\\jdk 17.0.1\\bin\\javadoc.exe |
||||
|
content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"/> |
||||
|
content_assist_number_of_computers=12 |
||||
|
content_assist_proposals_background=255,255,255 |
||||
|
content_assist_proposals_foreground=0,0,0 |
||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.jdt.ui.formatterprofiles.version=22 |
||||
|
spelling_locale_initialized=true |
||||
|
typefilter_migrated_2=true |
||||
|
useAnnotationsPrefPage=true |
||||
|
useQuickDiffPrefPage=true |
@ -0,0 +1,2 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.jsch.core.hasChangedDefaultWin32SshHome=true |
@ -0,0 +1,2 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.m2e.discovery.pref.projects= |
@ -0,0 +1,2 @@ |
|||||
|
browsers=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<web-browsers current\="0">\r\n<system/>\r\n<external location\="C\:\\Program Files\\Internet Explorer\\iexplore.exe" name\="Internet Explorer"/>\r\n<external location\="C\:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe" name\="Microsoft Edge"/>\r\n</web-browsers> |
||||
|
eclipse.preferences.version=1 |
@ -0,0 +1,4 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
platformState=1649934036588 |
||||
|
quickStart=false |
||||
|
tipsAndTricks=true |
@ -0,0 +1,2 @@ |
|||||
|
eclipse.preferences.version=1 |
||||
|
showIntro=false |
@ -0,0 +1,9 @@ |
|||||
|
//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false |
||||
|
PLUGINS_NOT_ACTIVATED_ON_STARTUP=;org.eclipse.m2e.discovery; |
||||
|
eclipse.preferences.version=1 |
||||
|
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_END=255,255,255 |
||||
|
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_BG_START=255,255,255 |
||||
|
org.eclipse.ui.workbench.ACTIVE_NOFOCUS_TAB_TEXT_COLOR=16,16,16 |
||||
|
org.eclipse.ui.workbench.ACTIVE_TAB_BG_END=255,255,255 |
||||
|
org.eclipse.ui.workbench.ACTIVE_TAB_BG_START=255,255,255 |
||||
|
org.eclipse.ui.workbench.INACTIVE_TAB_BG_START=242,242,242 |
@ -0,0 +1,13 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
|
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> |
||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> |
||||
|
<listEntry value="/GameProject/src/base/GameLoop.java"/> |
||||
|
</listAttribute> |
||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> |
||||
|
<listEntry value="1"/> |
||||
|
</listAttribute> |
||||
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> |
||||
|
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="base.GameLoop"/> |
||||
|
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value=""/> |
||||
|
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="GameProject"/> |
||||
|
</launchConfiguration> |
@ -0,0 +1,13 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
|
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication"> |
||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> |
||||
|
<listEntry value="/GameProject/src/base/MultiLevelGame.java"/> |
||||
|
</listAttribute> |
||||
|
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> |
||||
|
<listEntry value="1"/> |
||||
|
</listAttribute> |
||||
|
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/> |
||||
|
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="base.MultiLevelGame"/> |
||||
|
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value=""/> |
||||
|
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="GameProject"/> |
||||
|
</launchConfiguration> |
@ -0,0 +1,8 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<section name="Workbench"> |
||||
|
<section name="org.eclipse.debug.ui.SCOPED_SAVE_SELECTION_DIALOG"> |
||||
|
<item key="DIALOG_WIDTH" value="343"/> |
||||
|
<item key="DIALOG_HEIGHT" value="434"/> |
||||
|
<item key="DIALOG_FONT_NAME" value="1|Segoe UI|9.0|0|WINDOWS|1|-15|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI"/> |
||||
|
</section> |
||||
|
</section> |
@ -0,0 +1,32 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
|
<launchHistory> |
||||
|
<launchGroup id="org.eclipse.debug.ui.launchGroup.debug"> |
||||
|
<mruHistory> |
||||
|
<launch memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration local="true" path="MultiLevelGame"/> "/> |
||||
|
<launch memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration local="true" path="GameLoop"/> "/> |
||||
|
</mruHistory> |
||||
|
<favorites/> |
||||
|
</launchGroup> |
||||
|
<launchGroup id="org.eclipse.debug.ui.launchGroup.profile"> |
||||
|
<mruHistory/> |
||||
|
<favorites/> |
||||
|
</launchGroup> |
||||
|
<launchGroup id="org.eclipse.eclemma.ui.launchGroup.coverage"> |
||||
|
<mruHistory> |
||||
|
<launch memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration local="true" path="MultiLevelGame"/> "/> |
||||
|
<launch memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration local="true" path="GameLoop"/> "/> |
||||
|
</mruHistory> |
||||
|
<favorites/> |
||||
|
</launchGroup> |
||||
|
<launchGroup id="org.eclipse.ui.externaltools.launchGroup"> |
||||
|
<mruHistory/> |
||||
|
<favorites/> |
||||
|
</launchGroup> |
||||
|
<launchGroup id="org.eclipse.debug.ui.launchGroup.run"> |
||||
|
<mruHistory> |
||||
|
<launch memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration local="true" path="MultiLevelGame"/> "/> |
||||
|
<launch memento="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration local="true" path="GameLoop"/> "/> |
||||
|
</mruHistory> |
||||
|
<favorites/> |
||||
|
</launchGroup> |
||||
|
</launchHistory> |
2218
prog2-codebase/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,11 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<projectDescription> |
||||
|
<name>.org.eclipse.egit.core.cmp</name> |
||||
|
<comment></comment> |
||||
|
<projects> |
||||
|
</projects> |
||||
|
<buildSpec> |
||||
|
</buildSpec> |
||||
|
<natures> |
||||
|
</natures> |
||||
|
</projectDescription> |
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue