This commit is contained in:
MickWerf
2020-06-07 17:25:57 +02:00
6 changed files with 58 additions and 4 deletions

View File

@@ -219,6 +219,7 @@ public class MainGame extends Game implements ClientCallback {
} else if (this.team.isDead()) {
text += "Too bad! You lost!";
}
text += "\nPress ESC to exit the game";
renderString(text, Gdx.graphics.getWidth() / 2f, Gdx.graphics.getHeight() / 2f);
}
@@ -317,6 +318,12 @@ public class MainGame extends Game implements ClientCallback {
return map.getWidth();
}
public void exit() {
client.disconnect();
dispose();
Gdx.app.exit();
}
public void setSelectedCharacter(GameCharacter character) {
if (!character.isDead()) {
this.selectedCharacter = character;

View File

@@ -10,29 +10,54 @@ public class Team {
this.members = new BST<>();
}
/**
* create a new team with the given characters
* @param characters the characters
*/
public Team(BST<GameCharacter> characters) {
this.members = characters;
}
/**
* add new member
* @param gameCharacter the member to add
*/
public void addMember(GameCharacter gameCharacter) {
if (this.members.getSize() != 6)
this.members.insert(gameCharacter);
}
/**
* get members
* @return the members
*/
public BST<GameCharacter> getMembers() {
return this.members;
}
/**
* set members
* @param members the members to set
*/
public void setMembers(BST<GameCharacter> members) {
this.members = members;
}
/**
* add members
* @param characters the members to add
*/
public void addMember(GameCharacter... characters) {
for (GameCharacter gameCharacter : characters) {
this.members.insert(gameCharacter);
}
}
/**
* get the specific character
* @param character the character to get
* @return the character, null if it doesnt exist
*/
public GameCharacter get(GameCharacter character) {
for (GameCharacter cur : this.members) {
if (cur.equals(character)) {
@@ -42,6 +67,11 @@ public class Team {
return null;
}
/**
* get the character with the specified username
* @param username the username of the character
* @return the character, null if it doesnt exist
*/
public GameCharacter get(String username) {
for (GameCharacter cur : this.members) {
if (cur.getName().equals(username)) {
@@ -51,6 +81,11 @@ public class Team {
return null;
}
/**
* get the character at the specified position
* @param position the position of the character
* @return the character, null if it can't be found
*/
public GameCharacter get(int position) {
if (position >= this.members.getSize()) {
throw new IndexOutOfBoundsException("position out of range");
@@ -63,12 +98,20 @@ public class Team {
return null;
}
/**
* update all characters
* @param deltaTime the time between the last frame
*/
public void update(double deltaTime) {
for (GameCharacter character : this.members) {
character.update(deltaTime);
}
}
/**
* check if all players are dead
* @return true if all players are dead
*/
public boolean isDead() {
int dead = 0;
for (GameCharacter character : this.members) {

View File

@@ -128,6 +128,10 @@ public class GameInputProcessor implements InputProcessor {
mainGame.chooseHacker();
}
} else if (mainGame.getGamestate() == GAMESTATE.ENDED) {
if (keycode == Input.Keys.ESCAPE) {
mainGame.exit();
}
}
return false;
}

View File

@@ -5,8 +5,8 @@ public abstract class AbstractTree<E> implements Tree<E> {
public void inorder() {
}
@Override /* Postorder traversal from the root */
public void postorder() {
@Override /* Post order traversal from the root */
public void postOrder() {
}
@Override /* Preorder traversal from the root */

View File

@@ -141,7 +141,7 @@ public class BST<E extends Comparable<E>> extends AbstractTree<E> {
* Post order traversal from the root
*/
@Override
public void postorder() {
public void postOrder() {
postorder(root);
}

View File

@@ -16,7 +16,7 @@ public interface Tree<E> extends Iterable<E> {
public void inorder();
/** Postorder traversal from the root */
public void postorder();
public void postOrder();
/** Preorder traversal from the root */
public void preorder();