Compare commits
13 Commits
77ab0f130b
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b44c3ed39d | |||
| 2187337f86 | |||
| 823a869316 | |||
| 52a72c9dbb | |||
| 7b4d78c1e0 | |||
| 47d54416c7 | |||
| 012a6208d8 | |||
| e8f044069f | |||
| 538c11c597 | |||
| d860a7d797 | |||
| 39b80c1bf7 | |||
| 1265df634c | |||
| 47e1c660b8 |
@@ -7,5 +7,6 @@
|
|||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="mysql:mysql-connector-java:8.0.25" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -3,6 +3,7 @@ package de.oszimt.ls.aliendefence.controller;
|
|||||||
import de.oszimt.ls.aliendefence.model.Level;
|
import de.oszimt.ls.aliendefence.model.Level;
|
||||||
import de.oszimt.ls.aliendefence.model.persistence.IPersistance;
|
import de.oszimt.ls.aliendefence.model.persistence.IPersistance;
|
||||||
import de.oszimt.ls.aliendefence.model.User;
|
import de.oszimt.ls.aliendefence.model.User;
|
||||||
|
import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
|
||||||
|
|
||||||
public class AlienDefenceController {
|
public class AlienDefenceController {
|
||||||
|
|
||||||
@@ -11,23 +12,30 @@ public class AlienDefenceController {
|
|||||||
private LevelController levelController;
|
private LevelController levelController;
|
||||||
private TargetController targetController;
|
private TargetController targetController;
|
||||||
private AttemptController attemptController;
|
private AttemptController attemptController;
|
||||||
//TODO UserController implementieren
|
private UserController userController;
|
||||||
|
|
||||||
//Persistenz
|
//Persistenz
|
||||||
private IPersistance alienDefenceModel;
|
private IPersistance alienDefenceModel;
|
||||||
|
private IUserPersistance userModel;
|
||||||
|
|
||||||
public AlienDefenceController(IPersistance alienDefenceModel) {
|
public AlienDefenceController(IPersistance alienDefenceModel, IUserPersistance userModel) {
|
||||||
super();
|
super();
|
||||||
this.alienDefenceModel = alienDefenceModel;
|
this.alienDefenceModel = alienDefenceModel;
|
||||||
|
this.userModel = userModel;
|
||||||
this.attemptController = new AttemptController(alienDefenceModel);
|
this.attemptController = new AttemptController(alienDefenceModel);
|
||||||
this.levelController = new LevelController(alienDefenceModel);
|
this.levelController = new LevelController(alienDefenceModel);
|
||||||
this.targetController = new TargetController(alienDefenceModel);
|
this.targetController = new TargetController(alienDefenceModel);
|
||||||
|
this.userController = new UserController(userModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
public IPersistance getAlienDefenceModel() {
|
public IPersistance getAlienDefenceModel() {
|
||||||
return alienDefenceModel;
|
return alienDefenceModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IUserPersistance getUserModel() {
|
||||||
|
return userModel;
|
||||||
|
}
|
||||||
|
|
||||||
public AttemptController getAttemptController() {
|
public AttemptController getAttemptController() {
|
||||||
return attemptController;
|
return attemptController;
|
||||||
}
|
}
|
||||||
@@ -40,6 +48,10 @@ public class AlienDefenceController {
|
|||||||
return targetController;
|
return targetController;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UserController getUserController() {
|
||||||
|
return userController;
|
||||||
|
}
|
||||||
|
|
||||||
public GameController startGame(Level selectedLevel, User user) {
|
public GameController startGame(Level selectedLevel, User user) {
|
||||||
this.gameController = new GameController(selectedLevel, user, this);
|
this.gameController = new GameController(selectedLevel, user, this);
|
||||||
return this.gameController;
|
return this.gameController;
|
||||||
|
|||||||
@@ -34,13 +34,13 @@ public class AttemptController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* calculates points from attempt for highscore TODO create formula here
|
* calculates points from attempt for highscore
|
||||||
*
|
*
|
||||||
* @param level Levelobjekt
|
* @param level Levelobjekt
|
||||||
* @param hitcounter Controllerobjekt das die Treffer und Reaktionszeiten misst
|
* @param hitcounter Controllerobjekt das die Treffer und Reaktionszeiten misst
|
||||||
* @return points
|
* @return points
|
||||||
*/
|
*/
|
||||||
public int calculatePoints(Level level, HitCounter hitcounter) {
|
public int calculatePoints(Level level, HitCounter hitcounter) {
|
||||||
return -1;
|
return (int) ((hitcounter.getHit()/level.getTargets().size())* 400L +(hitcounter.getHit()/hitcounter.getShots())* 200L +(1000-(hitcounter.getReactionTime()/hitcounter.getSumReactionDiffernce())*400));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import de.oszimt.ls.aliendefence.model.Level;
|
|||||||
import de.oszimt.ls.aliendefence.model.Point;
|
import de.oszimt.ls.aliendefence.model.Point;
|
||||||
import de.oszimt.ls.aliendefence.model.Target;
|
import de.oszimt.ls.aliendefence.model.Target;
|
||||||
import de.oszimt.ls.aliendefence.model.User;
|
import de.oszimt.ls.aliendefence.model.User;
|
||||||
|
import de.oszimt.ls.aliendefence.model.persistence.IAttemptPersistance;
|
||||||
|
import de.oszimt.ls.aliendefence.model.persistenceDB.AttemptDB;
|
||||||
import de.oszimt.ls.aliendefence.view.menue.Highscore;
|
import de.oszimt.ls.aliendefence.view.menue.Highscore;
|
||||||
|
|
||||||
public class GameController {
|
public class GameController {
|
||||||
@@ -47,18 +49,15 @@ public class GameController {
|
|||||||
|
|
||||||
setHighscore = false; //damit keine doppelten Eintrüge erzeugt werden
|
setHighscore = false; //damit keine doppelten Eintrüge erzeugt werden
|
||||||
|
|
||||||
// TODO Highscoreeintrag erzeugen Highscore >> F_user_id, F_level_id, shots,
|
/*System.out.println("Highscoreeintrag für " + currentLevel.getName() + ": " + currentUser.getFirst_name()
|
||||||
// hits, reaction_time
|
|
||||||
System.out.println("Highscoreeintrag für " + currentLevel.getName() + ": " + currentUser.getFirst_name()
|
|
||||||
+ " hat " + this.getShotsFired() + " mal auf " + this.getTargets().size()
|
+ " hat " + this.getShotsFired() + " mal auf " + this.getTargets().size()
|
||||||
+ " Ziele gefeuert und " + this.getHits() + " mal getroffen.");
|
+ " Ziele gefeuert und " + this.getHits() + " mal getroffen.");
|
||||||
System.out.println("Highscorepunkte: " + alienDefenceController.getAttemptController().calculatePoints(this.currentLevel, this.hitCounter));
|
System.out.println("Highscorepunkte: " + alienDefenceController.getAttemptController().calculatePoints(this.currentLevel, this.hitCounter));*/
|
||||||
int insert_id = 0;
|
//int insert_id = 0;
|
||||||
// AttemptDB attemptDB =
|
|
||||||
// this.alienDefenceController.getAlienDefenceModel().getAttemptPersistance();
|
IAttemptPersistance attemptDB = this.alienDefenceController.getAlienDefenceModel().getAttemptPersistance();
|
||||||
// int insert_id = attemptDB.createHighscoreEntry(currentUser.getP_user_id(),
|
int insert_id = attemptDB.createHighscoreEntry(currentUser.getP_user_id(), currentLevel.getLevel_id(),
|
||||||
// currentLevel.getLevel_id(),
|
this.getShotsFired(), this.getHits(), this.hitCounter.getReactionTime());
|
||||||
// this.getShotsFired(), this.getHits(), relReactionDiffernce);
|
|
||||||
|
|
||||||
new Highscore(this.alienDefenceController.getAttemptController(), currentLevel,
|
new Highscore(this.alienDefenceController.getAttemptController(), currentLevel,
|
||||||
insert_id);
|
insert_id);
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* de.oszimt.ls.aliendefence.controller for users
|
* de.oszimt.ls.aliendefence.controller for users
|
||||||
* @author Clara Zufall
|
* @author Joel Baldauf
|
||||||
* TODO implement this class
|
|
||||||
*/
|
*/
|
||||||
public class UserController {
|
public class UserController {
|
||||||
|
|
||||||
@@ -15,9 +14,14 @@ public class UserController {
|
|||||||
public UserController(IUserPersistance userPersistance) {
|
public UserController(IUserPersistance userPersistance) {
|
||||||
this.userPersistance = userPersistance;
|
this.userPersistance = userPersistance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* erstellt einen User in der Persistenzschicht
|
||||||
|
* @param user Das zu erstellende Userobjekt
|
||||||
|
*
|
||||||
|
*/
|
||||||
public void createUser(User user) {
|
public void createUser(User user) {
|
||||||
|
this.userPersistance.createUser(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -26,19 +30,36 @@ public class UserController {
|
|||||||
* @param passwort das richtige Passwort
|
* @param passwort das richtige Passwort
|
||||||
* @return Userobjekt, null wenn der User nicht existiert
|
* @return Userobjekt, null wenn der User nicht existiert
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public User readUser(String username, String passwort) {
|
public User readUser(String username, String passwort) {
|
||||||
return null;
|
if (checkPassword(username, passwort)) return this.userPersistance.readUser(username);
|
||||||
|
else return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* verändert einen User in der Persistenzschicht
|
||||||
|
* @param user zu aktualisierender User
|
||||||
|
*
|
||||||
|
*/
|
||||||
public void changeUser(User user) {
|
public void changeUser(User user) {
|
||||||
|
this.userPersistance.updateUser(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* löscht einen User in der Persistenzschicht
|
||||||
|
* @param user zu löschender User
|
||||||
|
*
|
||||||
|
*/
|
||||||
public void deleteUser(User user) {
|
public void deleteUser(User user) {
|
||||||
|
this.userPersistance.deleteUser(user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* überprüft, ob das Passwort eines Benutzers richtig ist
|
||||||
|
* @param username zu prüfender Nutzername
|
||||||
|
* @param passwort zu prüfendes Passwort
|
||||||
|
*/
|
||||||
public boolean checkPassword(String username, String passwort) {
|
public boolean checkPassword(String username, String passwort) {
|
||||||
return false;
|
return this.userPersistance.readUser(username).getPassword().equals(passwort);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,5 +5,7 @@ import de.oszimt.ls.aliendefence.model.User;
|
|||||||
public interface IUserPersistance {
|
public interface IUserPersistance {
|
||||||
|
|
||||||
User readUser(String username);
|
User readUser(String username);
|
||||||
|
int createUser(User user);
|
||||||
|
void updateUser(User user);
|
||||||
|
void deleteUser(User user);
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,6 @@
|
|||||||
package de.oszimt.ls.aliendefence.model.persistenceDB;
|
package de.oszimt.ls.aliendefence.model.persistenceDB;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.*;
|
||||||
import java.sql.DriverManager;
|
|
||||||
import java.sql.PreparedStatement;
|
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.SQLException;
|
|
||||||
|
|
||||||
import de.oszimt.ls.aliendefence.model.User;
|
import de.oszimt.ls.aliendefence.model.User;
|
||||||
import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
|
import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
|
||||||
@@ -12,8 +8,7 @@ import de.oszimt.ls.aliendefence.model.persistenceDB.AccessDB;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* databaseconnection for userobjects, Story usermanagement
|
* databaseconnection for userobjects, Story usermanagement
|
||||||
* @author Clara Zufall
|
* @author Joel Baldauf
|
||||||
* TODO finish this class
|
|
||||||
*/
|
*/
|
||||||
public class UserDB implements IUserPersistance{
|
public class UserDB implements IUserPersistance{
|
||||||
|
|
||||||
@@ -23,6 +18,47 @@ public class UserDB implements IUserPersistance{
|
|||||||
this.dbAccess = dbAccess;
|
this.dbAccess = dbAccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* insert new user into database
|
||||||
|
*
|
||||||
|
* @param user userobject to be inserted into database
|
||||||
|
* @return lastKey
|
||||||
|
*/
|
||||||
|
public int createUser(User user) {
|
||||||
|
String sql = "INSERT INTO users (first_name, sur_name, birthday, street, house_number, postal_code, city, login_name, password, salary_expectations, marital_status, final_grade) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
|
||||||
|
int lastKey = -1;
|
||||||
|
try (Connection con = DriverManager.getConnection(this.dbAccess.getFullURL(), this.dbAccess.getUser(),
|
||||||
|
this.dbAccess.getPassword());
|
||||||
|
PreparedStatement statement = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);) {
|
||||||
|
|
||||||
|
//statement.setInt(1, level_id);
|
||||||
|
statement.setString(1, user.getFirst_name());
|
||||||
|
statement.setString(2, user.getSur_name());
|
||||||
|
statement.setDate(3, Date.valueOf(user.getBirthday()));
|
||||||
|
statement.setString(4, user.getStreet());
|
||||||
|
statement.setString(5, user.getHouse_number());
|
||||||
|
statement.setString(6, user.getPostal_code());
|
||||||
|
statement.setString(7, user.getCity());
|
||||||
|
statement.setString(8, user.getLoginname());
|
||||||
|
statement.setString(9, user.getPassword());
|
||||||
|
statement.setInt(10, user.getSalary_expectations());
|
||||||
|
statement.setString(11, user.getMarital_status());
|
||||||
|
statement.setDouble(12, user.getFinal_grade());
|
||||||
|
statement.execute();
|
||||||
|
|
||||||
|
ResultSet generatedKeys = statement.getGeneratedKeys();
|
||||||
|
if (generatedKeys.next()) {
|
||||||
|
lastKey = generatedKeys.getInt(1);
|
||||||
|
}
|
||||||
|
generatedKeys.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return lastKey;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* read userdata by unique username
|
* read userdata by unique username
|
||||||
*
|
*
|
||||||
@@ -54,4 +90,51 @@ public class UserDB implements IUserPersistance{
|
|||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* update existing user
|
||||||
|
*
|
||||||
|
* @param user userobject to be updated
|
||||||
|
*/
|
||||||
|
public void updateUser (User user) {
|
||||||
|
String sql = "UPDATE users SET first_name = ?, sur_name = ?, birthday = ?, street = ?, house_number = ?, " +
|
||||||
|
"postal_code = ?, city = ?, login_name = ?, password = ?, salary_expectations = ?, marital_status = ?, final_grade = ? WHERE P_user_id = ?";
|
||||||
|
try (Connection con = DriverManager.getConnection(this.dbAccess.getFullURL(), this.dbAccess.getUser(),
|
||||||
|
this.dbAccess.getPassword()); PreparedStatement statement = con.prepareStatement(sql)) {
|
||||||
|
|
||||||
|
statement.setString(1, user.getFirst_name());
|
||||||
|
statement.setString(2, user.getSur_name());
|
||||||
|
statement.setDate(3, Date.valueOf(user.getBirthday()));
|
||||||
|
statement.setString(4, user.getStreet());
|
||||||
|
statement.setString(5, user.getHouse_number());
|
||||||
|
statement.setString(6, user.getPostal_code());
|
||||||
|
statement.setString(7, user.getCity());
|
||||||
|
statement.setString(8, user.getLoginname());
|
||||||
|
statement.setString(9, user.getPassword());
|
||||||
|
statement.setInt(10, user.getSalary_expectations());
|
||||||
|
statement.setString(11, user.getMarital_status());
|
||||||
|
statement.setDouble(12, user.getFinal_grade());
|
||||||
|
statement.setInt(13, user.getP_user_id());
|
||||||
|
statement.executeUpdate();
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* delete existing user
|
||||||
|
*
|
||||||
|
* @param user userobject to be deleted
|
||||||
|
*/
|
||||||
|
public void deleteUser (User user) {
|
||||||
|
String sql = "DELETE FROM users WHERE P_user_id = " + user.getP_user_id() + ";";
|
||||||
|
|
||||||
|
try (Connection con = DriverManager.getConnection(this.dbAccess.getFullURL(), this.dbAccess.getUser(),
|
||||||
|
this.dbAccess.getPassword()); Statement statement = con.createStatement()) {
|
||||||
|
statement.executeUpdate(sql);
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,13 @@ public class UserDummy implements IUserPersistance {
|
|||||||
public User readUser(String username) {
|
public User readUser(String username) {
|
||||||
return new User(1, "Dummy", "Persistenz", LocalDate.now(), "Dummystr.", "12C", "11111", "Nowhere", username, "pass", 12000, "gefangen", 1.58);
|
return new User(1, "Dummy", "Persistenz", LocalDate.now(), "Dummystr.", "12C", "11111", "Nowhere", username, "pass", 12000, "gefangen", 1.58);
|
||||||
}
|
}
|
||||||
|
public int createUser(User user) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
public void deleteUser(User user) {
|
||||||
|
System.out.println("");
|
||||||
|
}
|
||||||
|
public void updateUser(User user) {
|
||||||
|
System.out.println("");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ package de.oszimt.ls.aliendefence.view;
|
|||||||
|
|
||||||
import de.oszimt.ls.aliendefence.controller.AlienDefenceController;
|
import de.oszimt.ls.aliendefence.controller.AlienDefenceController;
|
||||||
import de.oszimt.ls.aliendefence.model.persistence.IPersistance;
|
import de.oszimt.ls.aliendefence.model.persistence.IPersistance;
|
||||||
import de.oszimt.ls.aliendefence.model.persistenceDummy.PersistanceDummy;
|
import de.oszimt.ls.aliendefence.model.persistence.IUserPersistance;
|
||||||
|
import de.oszimt.ls.aliendefence.model.persistenceDB.AccessDB;
|
||||||
|
import de.oszimt.ls.aliendefence.model.persistenceDB.PersistanceDB;
|
||||||
|
import de.oszimt.ls.aliendefence.model.persistenceDB.UserDB;
|
||||||
import de.oszimt.ls.aliendefence.view.menue.MainMenu;
|
import de.oszimt.ls.aliendefence.view.menue.MainMenu;
|
||||||
|
|
||||||
public class StartAlienDefence {
|
public class StartAlienDefence {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
AccessDB dbAccess = new AccessDB();
|
||||||
IPersistance alienDefenceModel = new PersistanceDummy();//TODO new PersistanceDB();
|
IPersistance alienDefenceModel = new PersistanceDB();
|
||||||
AlienDefenceController alienDefenceController = new AlienDefenceController(alienDefenceModel);
|
IUserPersistance userModel = new UserDB(dbAccess);
|
||||||
|
AlienDefenceController alienDefenceController = new AlienDefenceController(alienDefenceModel, userModel);
|
||||||
MainMenu.show(alienDefenceController);
|
MainMenu.show(alienDefenceController);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package de.oszimt.ls.aliendefence.view.menue;
|
package de.oszimt.ls.aliendefence.view.menue;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.*;
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
@@ -15,6 +14,7 @@ import javax.swing.JTable;
|
|||||||
import de.oszimt.ls.aliendefence.controller.AttemptController;
|
import de.oszimt.ls.aliendefence.controller.AttemptController;
|
||||||
import de.oszimt.ls.aliendefence.model.Level;
|
import de.oszimt.ls.aliendefence.model.Level;
|
||||||
|
|
||||||
|
|
||||||
public class Highscore extends JFrame {
|
public class Highscore extends JFrame {
|
||||||
|
|
||||||
// Attribute
|
// Attribute
|
||||||
@@ -50,13 +50,25 @@ public class Highscore extends JFrame {
|
|||||||
|
|
||||||
// Tablle basierend auf zweidimensionalem Vector
|
// Tablle basierend auf zweidimensionalem Vector
|
||||||
JTable table = new JTable(vecRow, title);
|
JTable table = new JTable(vecRow, title);
|
||||||
|
table.setBackground(Color.BLACK);
|
||||||
|
table.setForeground(Color.YELLOW);
|
||||||
|
table.setSelectionBackground(Color.YELLOW);
|
||||||
|
table.setSelectionForeground(Color.BLACK);
|
||||||
|
table.getTableHeader().setOpaque(false);
|
||||||
|
table.getTableHeader().setBackground(Color.BLACK);
|
||||||
|
table.getTableHeader().setForeground(Color.YELLOW);
|
||||||
|
|
||||||
if (mark >= 0)
|
if (mark >= 0)
|
||||||
table.setRowSelectionInterval(mark, mark);
|
table.setRowSelectionInterval(mark, mark);
|
||||||
setMinimumSize(new Dimension(650, 500));
|
setMinimumSize(new Dimension(650, 500));
|
||||||
getContentPane().add(new JScrollPane(table), BorderLayout.NORTH);
|
JScrollPane scrollPane = new JScrollPane(table);
|
||||||
|
scrollPane.getViewport().setBackground(Color.BLACK);
|
||||||
|
getContentPane().add(scrollPane, BorderLayout.NORTH);
|
||||||
setTitle("Highscore-Liste"); // Titel
|
setTitle("Highscore-Liste"); // Titel
|
||||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
pack();
|
pack();
|
||||||
|
getContentPane().setBackground(Color.BLACK);
|
||||||
|
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
|
|
||||||
JButton btnZielndern = new JButton("Highscoreliste löschen");
|
JButton btnZielndern = new JButton("Highscoreliste löschen");
|
||||||
@@ -67,6 +79,7 @@ public class Highscore extends JFrame {
|
|||||||
});
|
});
|
||||||
|
|
||||||
JPanel pnlSouth = new JPanel();
|
JPanel pnlSouth = new JPanel();
|
||||||
|
pnlSouth.setBackground(Color.BLACK);
|
||||||
pnlSouth.add(btnZielndern);
|
pnlSouth.add(btnZielndern);
|
||||||
|
|
||||||
// fügt Panel mit Button hinzu
|
// fügt Panel mit Button hinzu
|
||||||
|
|||||||
@@ -2,22 +2,40 @@
|
|||||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="de.oszimt.ls.aliendefence.view.menue.LevelChoice">
|
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="de.oszimt.ls.aliendefence.view.menue.LevelChoice">
|
||||||
<grid id="27dc6" binding="panel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
<grid id="27dc6" binding="panel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||||
<constraints>
|
<constraints>
|
||||||
<xy x="20" y="20" width="501" height="400"/>
|
<xy x="20" y="20" width="677" height="400"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties/>
|
<properties>
|
||||||
|
<background color="-16777216"/>
|
||||||
|
<foreground color="-16777216"/>
|
||||||
|
</properties>
|
||||||
<border type="none"/>
|
<border type="none"/>
|
||||||
<children>
|
<children>
|
||||||
<grid id="6dda1" layout-manager="FlowLayout" hgap="5" vgap="5" flow-align="1">
|
<grid id="6dda1" layout-manager="FlowLayout" hgap="5" vgap="5" flow-align="1">
|
||||||
<constraints border-constraint="South"/>
|
<constraints border-constraint="South"/>
|
||||||
<properties/>
|
<properties>
|
||||||
|
<background color="-16777216"/>
|
||||||
|
<foreground color="-16777216"/>
|
||||||
|
</properties>
|
||||||
<border type="none"/>
|
<border type="none"/>
|
||||||
<children>
|
<children>
|
||||||
|
<component id="a4374" class="javax.swing.JButton" binding="btnBack">
|
||||||
|
<constraints/>
|
||||||
|
<properties>
|
||||||
|
<text value="zurück"/>
|
||||||
|
</properties>
|
||||||
|
</component>
|
||||||
<component id="cdd2d" class="javax.swing.JButton" binding="btnPlay">
|
<component id="cdd2d" class="javax.swing.JButton" binding="btnPlay">
|
||||||
<constraints/>
|
<constraints/>
|
||||||
<properties>
|
<properties>
|
||||||
<text value="Spielen"/>
|
<text value="Spielen"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
|
<component id="a6b5c" class="javax.swing.JButton" binding="btnHighscore">
|
||||||
|
<constraints/>
|
||||||
|
<properties>
|
||||||
|
<text value="Highscore"/>
|
||||||
|
</properties>
|
||||||
|
</component>
|
||||||
<component id="c85bc" class="javax.swing.JButton" binding="btnNewLevel">
|
<component id="c85bc" class="javax.swing.JButton" binding="btnNewLevel">
|
||||||
<constraints/>
|
<constraints/>
|
||||||
<properties>
|
<properties>
|
||||||
@@ -41,19 +59,30 @@
|
|||||||
<component id="fc00" class="javax.swing.JLabel">
|
<component id="fc00" class="javax.swing.JLabel">
|
||||||
<constraints border-constraint="North"/>
|
<constraints border-constraint="North"/>
|
||||||
<properties>
|
<properties>
|
||||||
|
<enabled value="true"/>
|
||||||
<font size="18" style="1"/>
|
<font size="18" style="1"/>
|
||||||
|
<foreground color="-16711936"/>
|
||||||
<horizontalAlignment value="0"/>
|
<horizontalAlignment value="0"/>
|
||||||
<text value="Levelauswahl"/>
|
<text value="Levelauswahl"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
<scrollpane id="231d4">
|
<scrollpane id="231d4" binding="scrollPane">
|
||||||
<constraints border-constraint="Center"/>
|
<constraints border-constraint="Center"/>
|
||||||
<properties/>
|
<properties>
|
||||||
|
<background color="-16777216"/>
|
||||||
|
<foreground color="-16711936"/>
|
||||||
|
</properties>
|
||||||
<border type="none"/>
|
<border type="none"/>
|
||||||
<children>
|
<children>
|
||||||
<component id="28513" class="javax.swing.JTable" binding="tblLevels">
|
<component id="28513" class="javax.swing.JTable" binding="tblLevels">
|
||||||
<constraints/>
|
<constraints/>
|
||||||
<properties/>
|
<properties>
|
||||||
|
<background color="-16777216"/>
|
||||||
|
<foreground color="-16711936"/>
|
||||||
|
<gridColor color="-16777216"/>
|
||||||
|
<selectionBackground color="-16711936"/>
|
||||||
|
<selectionForeground color="-16777216"/>
|
||||||
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
</children>
|
</children>
|
||||||
</scrollpane>
|
</scrollpane>
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ public class LevelChoice {
|
|||||||
private JTable tblLevels;
|
private JTable tblLevels;
|
||||||
private JButton btnDeleteLevel;
|
private JButton btnDeleteLevel;
|
||||||
private JButton btnPlay;
|
private JButton btnPlay;
|
||||||
|
private JScrollPane scrollPane;
|
||||||
|
private JButton btnBack;
|
||||||
|
private JButton btnHighscore;
|
||||||
|
|
||||||
private final LevelController lvlControl;
|
private final LevelController lvlControl;
|
||||||
private final LeveldesignWindow leveldesignWindow;
|
private final LeveldesignWindow leveldesignWindow;
|
||||||
@@ -65,12 +68,30 @@ public class LevelChoice {
|
|||||||
|
|
||||||
if (source == LeveldesignWindow.LEVELEDITOR) {
|
if (source == LeveldesignWindow.LEVELEDITOR) {
|
||||||
btnPlay.setVisible(false);
|
btnPlay.setVisible(false);
|
||||||
|
btnHighscore.setVisible(false);
|
||||||
}
|
}
|
||||||
else if (source == LeveldesignWindow.TESTEN) {
|
else if (source == LeveldesignWindow.TESTEN) {
|
||||||
btnNewLevel.setVisible(false);
|
btnNewLevel.setVisible(false);
|
||||||
btnUpdateLevel.setVisible(false);
|
btnUpdateLevel.setVisible(false);
|
||||||
btnDeleteLevel.setVisible(false);
|
btnDeleteLevel.setVisible(false);
|
||||||
}
|
}
|
||||||
|
scrollPane.getViewport().setBackground(Color.BLACK);
|
||||||
|
|
||||||
|
tblLevels.getTableHeader().setOpaque(false);
|
||||||
|
tblLevels.getTableHeader().setBackground(Color.BLACK);
|
||||||
|
tblLevels.getTableHeader().setForeground(Color.YELLOW);
|
||||||
|
btnBack.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
leveldesignWindow.dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
btnHighscore.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
btnHighscore_Clicked(controller);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private String[][] getLevelsAsTableModel() {
|
private String[][] getLevelsAsTableModel() {
|
||||||
@@ -119,6 +140,14 @@ public class LevelChoice {
|
|||||||
t.start();
|
t.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void btnHighscore_Clicked(AlienDefenceController alienDefenceController) {
|
||||||
|
//Level_id des selektierten Elements auslesen
|
||||||
|
int level_id = Integer
|
||||||
|
.parseInt((String) this.tblLevels.getModel().getValueAt(this.tblLevels.getSelectedRow(), 0));
|
||||||
|
|
||||||
|
new Highscore(alienDefenceController.getAttemptController(), alienDefenceController.getLevelController().readLevel(level_id));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public JPanel getPanel() {
|
public JPanel getPanel() {
|
||||||
return panel;
|
return panel;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package de.oszimt.ls.aliendefence.view.menue;
|
package de.oszimt.ls.aliendefence.view.menue;
|
||||||
|
|
||||||
import java.awt.CardLayout;
|
import java.awt.*;
|
||||||
|
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
@@ -21,8 +21,8 @@ public class LeveldesignWindow extends JFrame {
|
|||||||
|
|
||||||
private CardLayout cards;
|
private CardLayout cards;
|
||||||
|
|
||||||
public static int TESTEN = 0;
|
public static final int TESTEN = 0;
|
||||||
public static int LEVELEDITOR = 1;
|
public static final int LEVELEDITOR = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the frame.
|
* Create the frame.
|
||||||
@@ -35,6 +35,8 @@ public class LeveldesignWindow extends JFrame {
|
|||||||
setBounds(100, 100, 1200, 800);
|
setBounds(100, 100, 1200, 800);
|
||||||
contentPane = new JPanel();
|
contentPane = new JPanel();
|
||||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
|
contentPane.setBackground(Color.BLACK);
|
||||||
|
|
||||||
setContentPane(contentPane);
|
setContentPane(contentPane);
|
||||||
this.cards = new CardLayout();
|
this.cards = new CardLayout();
|
||||||
contentPane.setLayout(cards);
|
contentPane.setLayout(cards);
|
||||||
@@ -47,6 +49,8 @@ public class LeveldesignWindow extends JFrame {
|
|||||||
|
|
||||||
this.showLevelChooser();
|
this.showLevelChooser();
|
||||||
this.setLocationRelativeTo(null);
|
this.setLocationRelativeTo(null);
|
||||||
|
this.setUndecorated(true);
|
||||||
|
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
|
||||||
this.setVisible(true);
|
this.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="de.oszimt.ls.aliendefence.view.menue.MainMenu">
|
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="de.oszimt.ls.aliendefence.view.menue.MainMenu">
|
||||||
<grid id="27dc6" binding="main" layout-manager="GridLayoutManager" row-count="13" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
<grid id="27dc6" binding="main" layout-manager="GridLayoutManager" row-count="13" column-count="3" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
|
||||||
<margin top="0" left="0" bottom="0" right="0"/>
|
<margin top="0" left="0" bottom="0" right="0"/>
|
||||||
<constraints>
|
<constraints>
|
||||||
<xy x="20" y="20" width="326" height="715"/>
|
<xy x="20" y="20" width="326" height="715"/>
|
||||||
@@ -15,8 +15,8 @@
|
|||||||
<children>
|
<children>
|
||||||
<component id="c5b1d" class="javax.swing.JLabel">
|
<component id="c5b1d" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="1" fill="0" indent="0" use-parent-layout="false">
|
<grid row="1" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="0" indent="0" use-parent-layout="false">
|
||||||
<preferred-size width="177" height="9"/>
|
<preferred-size width="177" height="100"/>
|
||||||
</grid>
|
</grid>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
@@ -27,8 +27,8 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="8961e" class="javax.swing.JLabel">
|
<component id="8961e" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="0" indent="1" use-parent-layout="false">
|
<grid row="2" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="1" fill="0" indent="1" use-parent-layout="false">
|
||||||
<preferred-size width="200" height="103"/>
|
<preferred-size width="200" height="200"/>
|
||||||
</grid>
|
</grid>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="965b" class="javax.swing.JLabel">
|
<component id="965b" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="4" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font size="14" style="1"/>
|
<font size="14" style="1"/>
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="14947" class="javax.swing.JLabel">
|
<component id="14947" class="javax.swing.JLabel">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
<grid row="6" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<font size="14" style="1"/>
|
<font size="14" style="1"/>
|
||||||
@@ -60,64 +60,32 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="b84a7" class="javax.swing.JPasswordField" binding="passwordTextField">
|
<component id="b84a7" class="javax.swing.JPasswordField" binding="passwordTextField">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="5" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
<grid row="7" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||||
<preferred-size width="150" height="-1"/>
|
<preferred-size width="150" height="-1"/>
|
||||||
</grid>
|
</grid>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties/>
|
<properties/>
|
||||||
</component>
|
</component>
|
||||||
<component id="4aca1" class="javax.swing.JLabel">
|
|
||||||
<constraints>
|
|
||||||
<grid row="6" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
|
||||||
</constraints>
|
|
||||||
<properties>
|
|
||||||
<font size="14" style="1"/>
|
|
||||||
<foreground color="-256"/>
|
|
||||||
<text value="Level:"/>
|
|
||||||
</properties>
|
|
||||||
</component>
|
|
||||||
<component id="a16d0" class="javax.swing.JComboBox" binding="level">
|
|
||||||
<constraints>
|
|
||||||
<grid row="7" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
|
|
||||||
</constraints>
|
|
||||||
<properties/>
|
|
||||||
</component>
|
|
||||||
<component id="39eaf" class="javax.swing.JButton" binding="playButton">
|
<component id="39eaf" class="javax.swing.JButton" binding="playButton">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="8" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
<grid row="9" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<actionCommand value=""/>
|
<actionCommand value=""/>
|
||||||
<text value="Spielen"/>
|
<text value="Spielen"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
<component id="6cda2" class="javax.swing.JButton" binding="testButton">
|
|
||||||
<constraints>
|
|
||||||
<grid row="9" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
|
||||||
</constraints>
|
|
||||||
<properties>
|
|
||||||
<text value="Testen"/>
|
|
||||||
</properties>
|
|
||||||
</component>
|
|
||||||
<component id="9d215" class="javax.swing.JTextField" binding="loginTextField">
|
<component id="9d215" class="javax.swing.JTextField" binding="loginTextField">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="6" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
<grid row="5" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="1" indent="0" use-parent-layout="false">
|
||||||
<preferred-size width="150" height="-1"/>
|
<preferred-size width="150" height="-1"/>
|
||||||
</grid>
|
</grid>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties/>
|
<properties/>
|
||||||
</component>
|
</component>
|
||||||
<component id="e66c9" class="javax.swing.JButton" binding="highscoreButton" default-binding="true">
|
|
||||||
<constraints>
|
|
||||||
<grid row="10" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
|
||||||
</constraints>
|
|
||||||
<properties>
|
|
||||||
<text value="Highscore"/>
|
|
||||||
</properties>
|
|
||||||
</component>
|
|
||||||
<component id="7ae73" class="javax.swing.JButton" binding="levelEditorButton" default-binding="true">
|
<component id="7ae73" class="javax.swing.JButton" binding="levelEditorButton" default-binding="true">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="11" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
<grid row="10" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<background color="-256"/>
|
<background color="-256"/>
|
||||||
@@ -127,7 +95,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component id="ef1af" class="javax.swing.JButton" binding="exitButton">
|
<component id="ef1af" class="javax.swing.JButton" binding="exitButton">
|
||||||
<constraints>
|
<constraints>
|
||||||
<grid row="12" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
<grid row="11" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
</constraints>
|
</constraints>
|
||||||
<properties>
|
<properties>
|
||||||
<background color="-3552823"/>
|
<background color="-3552823"/>
|
||||||
@@ -135,6 +103,44 @@
|
|||||||
<text value="Beenden"/>
|
<text value="Beenden"/>
|
||||||
</properties>
|
</properties>
|
||||||
</component>
|
</component>
|
||||||
|
<hspacer id="abee9">
|
||||||
|
<constraints>
|
||||||
|
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
|
</constraints>
|
||||||
|
</hspacer>
|
||||||
|
<hspacer id="da8b7">
|
||||||
|
<constraints>
|
||||||
|
<grid row="4" column="2" row-span="1" col-span="1" vsize-policy="1" hsize-policy="6" anchor="0" fill="1" indent="0" use-parent-layout="false"/>
|
||||||
|
</constraints>
|
||||||
|
</hspacer>
|
||||||
|
<vspacer id="c33be">
|
||||||
|
<constraints>
|
||||||
|
<grid row="0" column="1" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||||
|
</constraints>
|
||||||
|
</vspacer>
|
||||||
|
<vspacer id="8c4ad">
|
||||||
|
<constraints>
|
||||||
|
<grid row="12" column="1" row-span="1" col-span="1" vsize-policy="6" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false"/>
|
||||||
|
</constraints>
|
||||||
|
</vspacer>
|
||||||
|
<vspacer id="109a4">
|
||||||
|
<constraints>
|
||||||
|
<grid row="8" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false">
|
||||||
|
<minimum-size width="-1" height="30"/>
|
||||||
|
<preferred-size width="-1" height="30"/>
|
||||||
|
<maximum-size width="-1" height="30"/>
|
||||||
|
</grid>
|
||||||
|
</constraints>
|
||||||
|
</vspacer>
|
||||||
|
<vspacer id="99842">
|
||||||
|
<constraints>
|
||||||
|
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="1" anchor="0" fill="2" indent="0" use-parent-layout="false">
|
||||||
|
<minimum-size width="-1" height="30"/>
|
||||||
|
<preferred-size width="-1" height="30"/>
|
||||||
|
<maximum-size width="-1" height="30"/>
|
||||||
|
</grid>
|
||||||
|
</constraints>
|
||||||
|
</vspacer>
|
||||||
</children>
|
</children>
|
||||||
</grid>
|
</grid>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
@@ -15,21 +15,16 @@ public class MainMenu {
|
|||||||
|
|
||||||
private JPanel main;
|
private JPanel main;
|
||||||
private JTextField loginTextField;
|
private JTextField loginTextField;
|
||||||
private JComboBox level;
|
|
||||||
private JButton playButton;
|
private JButton playButton;
|
||||||
private JButton testButton;
|
|
||||||
private JButton highscoreButton;
|
|
||||||
private JButton levelEditorButton;
|
private JButton levelEditorButton;
|
||||||
private JButton exitButton;
|
private JButton exitButton;
|
||||||
private JPasswordField passwordTextField;
|
private JPasswordField passwordTextField;
|
||||||
|
|
||||||
public MainMenu(AlienDefenceController alienDefenceController) {
|
public MainMenu(AlienDefenceController alienDefenceController) {
|
||||||
|
|
||||||
//fill level chooser
|
//fill level chooser
|
||||||
// Levelliste für die ComboBox abrufen
|
// Levelliste für die ComboBox abrufen
|
||||||
List<Level> arrLevel = alienDefenceController.getLevelController().readAllLevels();
|
List<Level> arrLevel = alienDefenceController.getLevelController().readAllLevels();
|
||||||
String[] arrLevelNames = getLevelNames(arrLevel);
|
String[] arrLevelNames = getLevelNames(arrLevel);
|
||||||
level.setModel(new DefaultComboBoxModel<String>(arrLevelNames));
|
|
||||||
|
|
||||||
// Button Spielen - ActionListener
|
// Button Spielen - ActionListener
|
||||||
playButton.addActionListener(new ActionListener() {
|
playButton.addActionListener(new ActionListener() {
|
||||||
@@ -44,9 +39,9 @@ public class MainMenu {
|
|||||||
Thread t = new Thread("GameThread") {
|
Thread t = new Thread("GameThread") {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
new LeveldesignWindow(alienDefenceController, user, LeveldesignWindow.TESTEN);
|
||||||
GameController gameController = alienDefenceController.startGame(arrLevel.get(level.getSelectedIndex()), user);
|
//GameController gameController = alienDefenceController.startGame(arrLevel.get(level.getSelectedIndex()), user);
|
||||||
new GameGUI(gameController).start();
|
//new GameGUI(gameController).start();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
t.start();
|
t.start();
|
||||||
@@ -59,22 +54,14 @@ public class MainMenu {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Button Testen - ActionListener
|
// Button Testen - ActionListener
|
||||||
testButton.addActionListener(new ActionListener() {
|
/*testButton.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
// Erstellt Modell von aktuellen Nutzer
|
// Erstellt Modell von aktuellen Nutzer
|
||||||
User user = new User(1, "test", "pass");
|
User user = new User(1, "test", "pass");
|
||||||
new LeveldesignWindow(alienDefenceController, user, LeveldesignWindow.TESTEN);
|
new LeveldesignWindow(alienDefenceController, user, LeveldesignWindow.TESTEN);
|
||||||
}
|
}
|
||||||
});
|
});*/
|
||||||
|
|
||||||
// Button Highscore
|
|
||||||
highscoreButton.addActionListener(new ActionListener() {
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
new Highscore(alienDefenceController.getAttemptController(), arrLevel.get(level.getSelectedIndex()));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Button Leveleditor
|
// Button Leveleditor
|
||||||
levelEditorButton.addActionListener(new ActionListener() {
|
levelEditorButton.addActionListener(new ActionListener() {
|
||||||
@@ -106,10 +93,12 @@ public class MainMenu {
|
|||||||
|
|
||||||
public static void show(AlienDefenceController alienDefenceController) {
|
public static void show(AlienDefenceController alienDefenceController) {
|
||||||
JFrame frame = new JFrame("AlienDefence");
|
JFrame frame = new JFrame("AlienDefence");
|
||||||
|
frame.setUndecorated(true);
|
||||||
frame.setContentPane(new MainMenu(alienDefenceController).main);
|
frame.setContentPane(new MainMenu(alienDefenceController).main);
|
||||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
frame.pack();
|
frame.pack();
|
||||||
frame.setLocationRelativeTo(null);
|
frame.setLocationRelativeTo(null);
|
||||||
|
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user