Is fast Isaac

master
Jonathan Hager 6 years ago
parent 70c8a3945d
commit 005d44b7af

@ -24,9 +24,11 @@ import com.dungeoncrawler.model.entities.*;
import com.dungeoncrawler.model.Entity; import com.dungeoncrawler.model.Entity;
import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer;
import com.dungeoncrawler.model.Item; import com.dungeoncrawler.model.Item;
import com.dungeoncrawler.model.ItemContainer;
import com.dungeoncrawler.model.items.Key; import com.dungeoncrawler.model.items.Key;
import com.dungeoncrawler.model.items.Potion; import com.dungeoncrawler.model.items.Potion;
import com.dungeoncrawler.model.items.Sword; import com.dungeoncrawler.model.items.Sword;
import java.util.ArrayList;
public class Controller extends ApplicationAdapter implements InputProcessor{ public class Controller extends ApplicationAdapter implements InputProcessor{
SpriteBatch batch; SpriteBatch batch;
@ -278,6 +280,27 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
d.setCurrentRoom(d.getCurrentLevel().getRooms()[roomPosX][roomPosY]); d.setCurrentRoom(d.getCurrentLevel().getRooms()[roomPosX][roomPosY]);
d.setCurrentEntities(d.getCurrentRoom().getEnemies()); d.setCurrentEntities(d.getCurrentRoom().getEnemies());
} }
public ArrayList<ItemContainer> playerPickUp(){
ArrayList<ItemContainer> tempItems = d.getCurrentRoom().getItems();
ArrayList<AnimatedObject> tempSprites = m.getM().getMaps()[level][roomPosX][roomPosY].getMapItems();
ArrayList<ItemContainer> garbageCollector = new ArrayList<>();
for(int i = 0; i < tempItems.size(); i++){
if(Intersector.overlaps(m.getPlayer().getBoundingRectangle(), tempSprites.get(i).getSprite().getBoundingRectangle())){
garbageCollector.add(tempItems.get(i));
tempItems.remove(i);
tempSprites.remove(i);
}
}
d.getCurrentRoom().setItems(tempItems);
return garbageCollector;
}
@Override @Override
public boolean keyDown(int keycode) { public boolean keyDown(int keycode) {
@ -322,9 +345,14 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(keycode == Input.Keys.F){ if(keycode == Input.Keys.F){
if(v != null){} if(v != null){}
if(m != null){ if(m != null){
Item k = new Sword(1); //Item k = new Sword(1);
m.addItem(k); //m.addItem(k);
//d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer())); //d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer()));
ArrayList<ItemContainer> garbage = playerPickUp();
for(ItemContainer item : garbage){
d.getPlayer().getInv().addItem(item.getItem());
}
} }
} }
@ -333,7 +361,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(v != null){} if(v != null){}
if(m != null){ if(m != null){
Item k = new Potion(1); Item k = new Potion(1);
m.addItem(k); //m.addItem(k);
//d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer())); //d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer()));
} }
} }
@ -341,11 +369,11 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(v != null){} if(v != null){}
if(m != null){ if(m != null){
Item k = new Key(1); Item k = new Key(1);
m.addItem(k); //m.addItem(k);
//d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer())); //d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer()));
} }
} }
/*
if(keycode == Input.Keys.NUM_1){ if(keycode == Input.Keys.NUM_1){
m.moveItem(0); m.moveItem(0);
} }
@ -370,6 +398,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(keycode == Input.Keys.NUM_8){ if(keycode == Input.Keys.NUM_8){
m.moveItem(7); m.moveItem(7);
} }
*/

@ -7,6 +7,7 @@ package com.dungeoncrawler.model;
import com.dungeoncrawler.model.entities.*; import com.dungeoncrawler.model.entities.*;
import com.dungeoncrawler.model.items.Sword; import com.dungeoncrawler.model.items.Sword;
import java.util.ArrayList;
/** /**
* *
@ -143,7 +144,7 @@ public class DungeonGenerator {
int itemAmount = (int) (Math.random() * 2); int itemAmount = (int) (Math.random() * 2);
int enemyAmount = (int) (Math.random() * 6); int enemyAmount = (int) (Math.random() * 6);
Room tempRoom = new Room(new ItemContainer[itemAmount], new Entity[enemyAmount]); Room tempRoom = new Room(new ArrayList<ItemContainer>(itemAmount), new Entity[enemyAmount]);
// Items werden generiert // Items werden generiert
int[][] belegt = new int[itemAmount][2]; int[][] belegt = new int[itemAmount][2];
@ -227,7 +228,7 @@ public class DungeonGenerator {
tempContainer = null; tempContainer = null;
} }
tempRoom.setItem(tempContainer, i); tempRoom.getItems().add(tempContainer);
} }
// Entities werden generiert // Entities werden generiert

@ -17,8 +17,8 @@ public class Inventory {
public void addItem(Item i) public void addItem(Item i)
{ {
for(int n = 0; n <= items.length; n++){ for(int n = 0; n < items.length; n++){
for(int m = 0; m <= items[0].length; m++){ for(int m = 0; m < items[0].length; m++){
if(items[n][m] == null){ if(items[n][m] == null){
items[n][m] = i; items[n][m] = i;
n = items.length + 1; n = items.length + 1;
@ -48,6 +48,10 @@ public class Inventory {
return items[x][y]; return items[x][y];
} }
public Item[][] getItem(){
return items;
}
public int getWidth(){ public int getWidth(){
return width; return width;
} }

@ -5,17 +5,19 @@
*/ */
package com.dungeoncrawler.model; package com.dungeoncrawler.model;
import java.util.ArrayList;
/** /**
* *
* @author jonathan * @author jonathan
*/ */
public class Room { public class Room {
private ItemContainer[] item; private ArrayList<ItemContainer> items;
private Entity[] enemies; private Entity[] enemies;
int lvl; int lvl;
public Room(ItemContainer[] item, Entity[] enemies){ public Room(ArrayList<ItemContainer> items, Entity[] enemies){
this.item = item; this.items = items;
this.enemies = enemies; this.enemies = enemies;
} }
@ -30,24 +32,6 @@ public class Room {
// TODO: Zu Implementieren // TODO: Zu Implementieren
} }
/**
* @return the item
*/
public ItemContainer[] getItem() {
return item;
}
/**
* @param item the item to set
*/
public void setItem(ItemContainer[] item) {
this.item = item;
}
public void setItem(ItemContainer item, int i) {
this.item[i] = item;
}
/** /**
* @return the enemies * @return the enemies
*/ */
@ -65,4 +49,18 @@ public class Room {
public void setEnemies(Entity enemy, int i){ public void setEnemies(Entity enemy, int i){
this.enemies[i] = enemy; this.enemies[i] = enemy;
} }
/**
* @return the items
*/
public ArrayList<ItemContainer> getItems() {
return items;
}
/**
* @param items the items to set
*/
public void setItems(ArrayList<ItemContainer> items) {
this.items = items;
}
} }

@ -126,7 +126,7 @@ public class GameScreen {
},0, 0.1f); },0, 0.1f);
//Inventory TEST //Inventory TEST
HudTexture = new Texture("sprites/HUD.png"); HudTexture = new Texture("sprites/hud.png");
HudSprite = new Sprite(HudTexture); HudSprite = new Sprite(HudTexture);
HudSprite.setX(-HudSprite.getWidth()); HudSprite.setX(-HudSprite.getWidth());
HudSprite.setY(20f); HudSprite.setY(20f);
@ -219,7 +219,19 @@ public class GameScreen {
entitySprites[i].setY(e[i].getyPos()); entitySprites[i].setY(e[i].getyPos());
} }
} }
} }
InventoryItemSprites = new Sprite[8];
Item[][] items = p.getInv().getItem();
for(int x = 0; x < items.length; x++){
for(int y = 0; y < items[0].length; y++){
if(items[x][y] != null){
addItem(items[x][y]);
}
}
}
//BATCH //BATCH
@ -301,6 +313,7 @@ public class GameScreen {
} }
} }
/*
for(int i = 0; i < arrowSprites.length; i++){ for(int i = 0; i < arrowSprites.length; i++){
if(arrowSprites[i] != null){ if(arrowSprites[i] != null){
arrowSprites[i].setX(arrows[i].getxPos()); arrowSprites[i].setX(arrows[i].getxPos());
@ -308,6 +321,7 @@ public class GameScreen {
arrowSprites[i].draw(batch); arrowSprites[i].draw(batch);
} }
} }
*/
batch.end(); batch.end();
} }
@ -400,6 +414,7 @@ public class GameScreen {
return e; return e;
} }
/*
public void moveItem(int i){ public void moveItem(int i){
if(i == 0){ if(i == 0){
if(InventoryItemSprites[i] != null){ if(InventoryItemSprites[i] != null){
@ -413,6 +428,7 @@ public class GameScreen {
} }
} }
*/
public void addItem(Item item){ public void addItem(Item item){
switch(item.getId()){ switch(item.getId()){

@ -314,9 +314,9 @@ public class MapGenerator {
layers.add(dynamicLayer); layers.add(dynamicLayer);
layers.add(staticLayer); layers.add(staticLayer);
for(int i = 0; i < r.getItem().length; i++){ for(int i = 0; i < r.getItems().size(); i++){
if(r.getItem()[i] != null){ if(r.getItems().get(i) != null){
ItemContainer container = r.getItem()[i]; ItemContainer container = r.getItems().get(i);
Item item = container.getItem(); Item item = container.getItem();
if(item.getId() == 2){ if(item.getId() == 2){

Loading…
Cancel
Save