added team class that uses a tree

This commit is contained in:
Sem van der Hoeven
2020-06-02 23:35:28 +02:00
parent 42d88e434f
commit 087c3a7193
2 changed files with 56 additions and 7 deletions

View File

@@ -11,13 +11,13 @@ import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.graphics.g2d.TextureRegion;
import netwerkprog.game.client.game.characters.Hacker; import netwerkprog.game.client.game.characters.Hacker;
import netwerkprog.game.client.game.characters.Team;
import netwerkprog.game.client.game.characters.abilities.BodySwap; import netwerkprog.game.client.game.characters.abilities.BodySwap;
import netwerkprog.game.client.game.map.Map; import netwerkprog.game.client.game.map.Map;
import netwerkprog.game.client.game.map.MapRenderer; import netwerkprog.game.client.game.map.MapRenderer;
import netwerkprog.game.client.game.map.GameInputProcessor; import netwerkprog.game.client.game.map.GameInputProcessor;
import netwerkprog.game.util.game.GameCharacter; import netwerkprog.game.util.game.GameCharacter;
import netwerkprog.game.util.graphics.FrameRate; import netwerkprog.game.util.graphics.FrameRate;
import netwerkprog.game.util.tree.BST;
public class MainGame extends ApplicationAdapter { public class MainGame extends ApplicationAdapter {
SpriteBatch batch; SpriteBatch batch;
@@ -28,11 +28,11 @@ public class MainGame extends ApplicationAdapter {
private OrthographicCamera camera; private OrthographicCamera camera;
private GameInputProcessor gameInputProcessor; private GameInputProcessor gameInputProcessor;
private GameCharacter selectedCharacter; private GameCharacter selectedCharacter;
private Team team;
private Map map; private Map map;
public MapRenderer mapRenderer; public MapRenderer mapRenderer;
private BST<GameCharacter> tree;
public GameCharacter testCharacter; public GameCharacter testCharacter;
private static MainGame INSTANCE; private static MainGame INSTANCE;
@@ -80,7 +80,6 @@ public class MainGame extends ApplicationAdapter {
camera.viewportWidth = screenWidth / 2; camera.viewportWidth = screenWidth / 2;
camera.viewportHeight = screenHeight / 2; camera.viewportHeight = screenHeight / 2;
camera.update(); camera.update();
this.tree = new BST<>();
initCharacters(); initCharacters();
// this.tree.insert(new Hacker(,new BodySwap())); // this.tree.insert(new Hacker(,new BodySwap()));
@@ -99,6 +98,7 @@ public class MainGame extends ApplicationAdapter {
this.setSelectedCharacter(testCharacter); this.setSelectedCharacter(testCharacter);
mapRenderer.getGameTiles()[1][1].visit(testCharacter); mapRenderer.getGameTiles()[1][1].visit(testCharacter);
mapRenderer.getGameTiles()[1][2].visit(character2); mapRenderer.getGameTiles()[1][2].visit(character2);
this.team = new Team();
} }
@@ -180,10 +180,6 @@ public class MainGame extends ApplicationAdapter {
return map.getWidth(); return map.getWidth();
} }
public BST<GameCharacter> getTree() {
return tree;
}
public void setSelectedCharacter(GameCharacter character) { public void setSelectedCharacter(GameCharacter character) {
this.selectedCharacter = character; this.selectedCharacter = character;
System.out.println("selected character set to : " + character); System.out.println("selected character set to : " + character);

View File

@@ -0,0 +1,53 @@
package netwerkprog.game.client.game.characters;
import netwerkprog.game.util.game.GameCharacter;
import netwerkprog.game.util.tree.BST;
import java.util.ArrayList;
import java.util.Iterator;
public class Team {
private BST<GameCharacter> members;
public Team() {
this.members = new BST<>();
}
public Team(BST<GameCharacter> characters) {
this.members = characters;
}
public void addMember(GameCharacter gameCharacter) {
if (this.members.getSize() != 6)
this.members.insert(gameCharacter);
}
public BST<GameCharacter> getMembers() {
return this.members;
}
public void setMembers(BST<GameCharacter> members) {
this.members = members;
}
public GameCharacter get(GameCharacter character) {
for (GameCharacter cur : this.members) {
if (cur.equals(character)) {
return cur;
}
}
return null;
}
public GameCharacter get(int position) {
if (position >= this.members.getSize()) {
throw new IndexOutOfBoundsException("position out of range");
}
int i = 0;
for (GameCharacter cur : this.members) {
if (i == position) return cur;
i++;
}
return null;
}
}