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.badlogic.gdx.utils.Timer;
import com.dungeoncrawler.model.Item;
import com.dungeoncrawler.model.ItemContainer;
import com.dungeoncrawler.model.items.Key;
import com.dungeoncrawler.model.items.Potion;
import com.dungeoncrawler.model.items.Sword;
import java.util.ArrayList;
public class Controller extends ApplicationAdapter implements InputProcessor{
SpriteBatch batch;
@ -278,6 +280,27 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
d.setCurrentRoom(d.getCurrentLevel().getRooms()[roomPosX][roomPosY]);
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
public boolean keyDown(int keycode) {
@ -322,9 +345,14 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(keycode == Input.Keys.F){
if(v != null){}
if(m != null){
Item k = new Sword(1);
m.addItem(k);
//Item k = new Sword(1);
//m.addItem(k);
//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(m != null){
Item k = new Potion(1);
m.addItem(k);
//m.addItem(k);
//d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer()));
}
}
@ -341,11 +369,11 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(v != null){}
if(m != null){
Item k = new Key(1);
m.addItem(k);
//m.addItem(k);
//d.setCurrentItemContainer(m.playerPickUp(d.getCurrentItemContainer(), d.getPlayer()));
}
}
/*
if(keycode == Input.Keys.NUM_1){
m.moveItem(0);
}
@ -370,6 +398,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(keycode == Input.Keys.NUM_8){
m.moveItem(7);
}
*/

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

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

@ -5,17 +5,19 @@
*/
package com.dungeoncrawler.model;
import java.util.ArrayList;
/**
*
* @author jonathan
*/
public class Room {
private ItemContainer[] item;
private ArrayList<ItemContainer> items;
private Entity[] enemies;
int lvl;
public Room(ItemContainer[] item, Entity[] enemies){
this.item = item;
public Room(ArrayList<ItemContainer> items, Entity[] enemies){
this.items = items;
this.enemies = enemies;
}
@ -30,24 +32,6 @@ public class Room {
// 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
*/
@ -65,4 +49,18 @@ public class Room {
public void setEnemies(Entity enemy, int i){
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);
//Inventory TEST
HudTexture = new Texture("sprites/HUD.png");
HudTexture = new Texture("sprites/hud.png");
HudSprite = new Sprite(HudTexture);
HudSprite.setX(-HudSprite.getWidth());
HudSprite.setY(20f);
@ -219,7 +219,19 @@ public class GameScreen {
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
@ -301,6 +313,7 @@ public class GameScreen {
}
}
/*
for(int i = 0; i < arrowSprites.length; i++){
if(arrowSprites[i] != null){
arrowSprites[i].setX(arrows[i].getxPos());
@ -308,6 +321,7 @@ public class GameScreen {
arrowSprites[i].draw(batch);
}
}
*/
batch.end();
}
@ -400,6 +414,7 @@ public class GameScreen {
return e;
}
/*
public void moveItem(int i){
if(i == 0){
if(InventoryItemSprites[i] != null){
@ -413,6 +428,7 @@ public class GameScreen {
}
}
*/
public void addItem(Item item){
switch(item.getId()){

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

Loading…
Cancel
Save