Characters moving #9
@@ -17,6 +17,7 @@ import netwerkprog.game.client.game.GAMESTATE;
|
||||
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.map.GameTile;
|
||||
import netwerkprog.game.client.game.map.Map;
|
||||
import netwerkprog.game.client.game.map.MapRenderer;
|
||||
import netwerkprog.game.client.game.map.GameInputProcessor;
|
||||
@@ -25,6 +26,8 @@ import netwerkprog.game.util.game.GameCharacter;
|
||||
import netwerkprog.game.util.graphics.FrameRate;
|
||||
import netwerkprog.game.util.graphics.TextRenderer;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
public class MainGame extends ApplicationAdapter {
|
||||
SpriteBatch batch;
|
||||
float screenWidth;
|
||||
@@ -113,11 +116,11 @@ public class MainGame extends ApplicationAdapter {
|
||||
TextureRegion[][] characters = TextureRegion.split(texture, 32, 32);
|
||||
this.testCharacter = new Hacker("harryyyyyyyyyy", characters[1][0], new BodySwap("test"));
|
||||
GameCharacter character2 = new Hacker("test2", characters[2][0], new BodySwap("test"));
|
||||
this.setSelectedCharacter(testCharacter);
|
||||
mapRenderer.getGameTiles()[1][1].visit(testCharacter);
|
||||
mapRenderer.getGameTiles()[1][2].visit(character2);
|
||||
this.team = new Team();
|
||||
this.team.addMember(this.testCharacter, character2);
|
||||
this.setSelectedCharacter(testCharacter);
|
||||
|
||||
}
|
||||
|
||||
@@ -156,7 +159,7 @@ public class MainGame extends ApplicationAdapter {
|
||||
frameRate.render();
|
||||
renderText();
|
||||
} else if (this.gamestate == GAMESTATE.SELECTING_FACTION) {
|
||||
renderString("FACTION SELECT\nPress 1 for mega corporation, press 2 for hackers",Gdx.graphics.getWidth()/2f,Gdx.graphics.getHeight()/2f);
|
||||
renderString("FACTION SELECT\nPress 1 for mega corporation, press 2 for hackers", Gdx.graphics.getWidth() / 2f, Gdx.graphics.getHeight() / 2f);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -176,7 +179,7 @@ public class MainGame extends ApplicationAdapter {
|
||||
|
||||
private void renderString(String text, float x, float y) {
|
||||
layout.setText(font, text);
|
||||
textRenderer.render(text, x - layout.width/2f, x - layout.height/2f);
|
||||
textRenderer.render(text, x - layout.width / 2f, x - layout.height / 2f);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -227,7 +230,9 @@ public class MainGame extends ApplicationAdapter {
|
||||
|
||||
public void setSelectedCharacter(GameCharacter character) {
|
||||
this.selectedCharacter = character;
|
||||
System.out.println("selected character set to : " + character);
|
||||
GameTile characterTile = mapRenderer.getTile(character);
|
||||
Point pos = mapRenderer.getPos(characterTile);
|
||||
mapRenderer.setSurroundedTilesOfCurrentCharacter(pos.x, pos.y);
|
||||
}
|
||||
|
||||
public GAMESTATE getGamestate() {
|
||||
|
||||
@@ -149,7 +149,7 @@ public class GameInputProcessor implements InputProcessor {
|
||||
// System.out.println(gameTile + " row: " + row + ", col: " + col);
|
||||
if (mainGame.hasCharacterSelected() && !gameTile.containsCharacter()) {
|
||||
// System.out.println(mainGame.getSelectedCharacter());
|
||||
if (gameTile.getSymbol() != '#') {
|
||||
if (gameTile.getSymbol() != '#' && mainGame.mapRenderer.getSurroundedTilesOfCurrentCharacter().contains(gameTile)) {
|
||||
removeCharacterFromTile(mainGame.getSelectedCharacter());
|
||||
gameTile.visit(mainGame.getSelectedCharacter());
|
||||
mainGame.mapRenderer.setSurroundedTilesOfCurrentCharacter(col,row);
|
||||
|
||||
@@ -11,6 +11,7 @@ import netwerkprog.game.util.game.GameCharacter;
|
||||
import netwerkprog.game.util.graphics.Renderable;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -152,19 +153,28 @@ public class MapRenderer implements Renderable {
|
||||
return res;
|
||||
}
|
||||
|
||||
public GameTile getTile(GameCharacter character) {
|
||||
for (GameTile[] tiles : this.gameTiles) {
|
||||
for (GameTile tile : tiles) {
|
||||
if (tile.containsCharacter())
|
||||
if (tile.getCharacter().equals(character)) {
|
||||
return tile;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getPos(GameTile tile, String choice) {
|
||||
|
||||
public Point getPos(GameTile tile) {
|
||||
for (int row = 0; row < this.gameTiles.length; row++) {
|
||||
for (int col = 0; col < this.gameTiles[0].length; col++) {
|
||||
if (gameTiles[row][col].equals(tile)) {
|
||||
if (choice.toLowerCase().equals("row"))
|
||||
return row;
|
||||
else if (choice.toLowerCase().equals("col"))
|
||||
return col;
|
||||
return new Point(col, row);
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
return new Point(-1, -1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user