Skip to content

Commit

Permalink
Végleges Szkeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
tamas-boczan committed Mar 23, 2014
1 parent d903f16 commit 1121667
Show file tree
Hide file tree
Showing 19 changed files with 830 additions and 478 deletions.
14 changes: 12 additions & 2 deletions Barricade.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
public class Barricade extends Construct {
private Object speedModifier;
private int speedModifier;

/**
* visszater a a lassitas mertekevel
* @return speedModifier
*/
public int getSpeedModifier() {
throw new UnsupportedOperationException();
System.out.println("--> Barricade.getSpeedModifier()");
System.out.println("<-- modifier");
return speedModifier;
}

/**
* A Barricade konstruktora
*/
public Barricade()
{
System.out.println("--> Barricade()");
type = "Barricade"; //Beállítjuk a saját típusát
speedModifier = 2 ;
}
}
22 changes: 16 additions & 6 deletions Construct.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
public class Construct {
protected String type;
public Updater unnamed_Updater_;
public MagicGem _construct;

protected MagicGem gem;

/**
* Épület típusával tér vissza
* @return a típus amivel visszatér
*/
public String getType() {
return this.type;
System.out.println("--> Construct.getType()");//
System.out.println("<-- towerType");//
return this.type;//
}


/**
* beállítja a gem attribútumot a kapott értékre
* @param gem - a kapott érték
*/
public void setMagicGem(MagicGem gem) {
throw new UnsupportedOperationException();
System.out.println("--> Construct.setMagicGem("+gem+")");//
this.gem = gem;//
}
}
49 changes: 46 additions & 3 deletions ConstructManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,54 @@ public ConstructManager (Updater updater){
this.updater = updater; //Beállítjuk az updater attribútumot
}

public void build(String type, Tile center) {
throw new UnsupportedOperationException();
/**
* egy épület létrehozása
* @param type - az épület típusa, ami alapján tudja a függvény, mit hozzon létre
* @param location - egy csempe, ahova az adott épülettípust elhelyezzük
*/
public void build(String type, Tile location) {
System.out.println("--> ConstructManager.build("+type+", "+location+")");
int cost = 20;
if (mana.hasEnough(cost)) {
location.getType();
Construct construct = null;//
if(type == "Tower") {//
construct = new Tower(); //
}//
if(type == "Barricade") {//
construct = new Barricade();//
}//
location.addConstruct(construct);
mana.decrease(cost);
updater.addConstruct(construct);
}
}

/**
* Az adott épület fejlesztése varázskő alapján
* @param type - ennek megfelelően fejleszti az adott épületet a varázskővel
* @param construct az épület, amelyen a fejlesztést véghezvisszük
*/
public void upgrade(String type, Construct construct) {
throw new UnsupportedOperationException();
System.out.println("--> ConstructManager.upgrade(gemType, "+construct+")");
int cost = 20;
if (mana.hasEnough(cost)) {
if(construct.getType() == "Tower"){
MagicGem gem = new MagicGem();
construct.setMagicGem(gem);
if(type == "Range") {
((Tower)construct).setRange(20);
}
}
mana.decrease(cost);
}
}

/**
* A mana beállítása
* @param mana - az adott mana, amit beállítunk
*/
public void setMana(Mana mana) {
this.mana = mana;
}
}
9 changes: 9 additions & 0 deletions Dwarf.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
public class Dwarf extends Enemy {

/**
* A dwarf konstruktora, beállítsa az enemy típusát 'Dwarf'-ra
*/

public Dwarf() {
System.out.println("--> Dwarf() ");
this.type = "Dwarf";
}
}
8 changes: 8 additions & 0 deletions Elf.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
public class Elf extends Enemy {

/**
* Az Elf konstruktora, amely beállítja az Enemy típusát 'Elf' -re
*/
public Elf() {
System.out.println("--> <<create>> ");
this.type = "Elf";
}
}
6 changes: 4 additions & 2 deletions EndTile.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ public EndTile (Geometry geometry) {
this.geometry = geometry; //Beállítjuk az őt tároló Geometry-re mutató referenciát
type = "EndTile"; //Beállítjuk a saját típusát
}

/**
* Az adott csempé ellenség listájához hozzáad egy ellenséget, amennyiben az szükséges
*/
public void addEnemy(Enemy enemy) {
System.out.println("--> EndTile.addEnemy(" + enemy +")");
enemies.add(enemy);
System.out.println("<--");
//System.out.println("<--");
}
}

Expand Down
81 changes: 47 additions & 34 deletions Enemy.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,36 @@ public class Enemy {
protected String type;
protected int moveDelay;
protected Tile currentTile;
public PathTile unnamed_PathTile_;
public EndTile unnamed_EndTile_;
public Updater unnamed_Updater_;


/**
* value értékével csökkenti az életerejét
* @param value ennyivel sérül
*/
public void damage(int value) {
System.out.println("--> Enemy.damage(" + value +")");
System.out.println("--> Enemy.damage(damage)");
if (value >= health)
health = 0;
else health -= value;
System.out.println("<--");
}

/**
* Csökkenti a moveDelay attribútum értékét egyel.
*/
public void decreaseMoveDelay() {
System.out.println("--> Enemy.decreaseMoveDelay");
System.out.println("<--");
System.out.println("--> Enemy.decreaseMoveDelay()");
//System.out.println("<--");
if(moveDelay!=0){
moveDelay--;
}
}

/**
* Az ellenség életerejével tér vissza
*/
public int getHealth() {
System.out.println("--> Enemy.getHealth()");
System.out.println("<--" + health);
System.out.println("<-- health");
return this.health;
}

Expand All @@ -44,7 +43,7 @@ public int getHealth() {
*/
public int getManaValue() {
System.out.println("--> Enemy.getManaValue()");
System.out.println("<--" + manaValue);
System.out.println("<-- reward");
return this.manaValue;
}

Expand All @@ -53,11 +52,17 @@ public int getManaValue() {
*/
public Tile getTile() {
System.out.println("--> Enemy.getTile()");
System.out.println("<--" + currentTile);
System.out.println("<-- tile");
return this.currentTile;
}


/**
* Az ellenség típusát adja vissza
* @return maga a típus
*/
public String getType() {
System.out.println("--> Enemy.getType()");
System.out.println("<-- type");
return this.type;
}

Expand All @@ -69,40 +74,48 @@ public boolean move() {
System.out.println("--> Enemy.move()");
decreaseMoveDelay();

String tileType = currentTile.getType();

//FIXME BUG: ez bajlehet. itt előbbre kellett hoznom a getType-ot, mert csak a PathTile-nak van getNextTile-ja és removeEnemy()-je, máson nem lehet meghívni
if (tileType == "PathTile")
{
if(moveDelay==0){
Tile nextTile = ((PathTile) currentTile).getNextTile();
nextTile.addEnemy(this);

((PathTile) currentTile).removeEnemy(this);
currentTile = nextTile;

String tileType = currentTile.getType();
if (tileType == "EndTile")
{
//vesztés, return true;
System.out.println("<-- reachedEnd");
return true ;
}


Construct constructOnTile = currentTile.getConstruct();
if (constructOnTile != null)
{

int modifier = ((Barricade)(constructOnTile)).getSpeedModifier();
setMoveDelay(modifier);
}
else
setMoveDelay(0);
}
else if (tileType == "EndTile")
{
//TODO TileType==végzethegye -> vesztés, return true;
}

Construct constructOnTile = currentTile.getConstruct();
//FIXME BUG: itt lekérjük a típusát, hogy tudjuk, hogy Barricade-e, ez lemaradt az 5. szekv diagramról.
if (constructOnTile != null && constructOnTile.getType() == "Barricade")
{
//TODO barrikádra lépett.
}
else
setMoveDelay(0);

//visszatérés lemaradt a szekvenciadiagramról
System.out.println("<-- false");
return false;

}

/**
* Beállítja a moveDelay-t a sebesség és a kapott modifier összegére.
*/
public void setMoveDelay(int delay) {
System.out.println("--> Enemy.setMoveDelay(" + delay + ")");
System.out.println("--> Enemy.setMoveDelay(delay)");
moveDelay = delay;
}

/**
* Az ellenséghez hozzárendeli a csempét, amin tartózkodik
* @param tile - az adott csempe, amin az ellenség áll
*/
public void setTile(Tile tile){
currentTile=tile;
}
}
14 changes: 10 additions & 4 deletions EnemyGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,16 @@ public EnemyGenerator (PathGenerator pathGenerator){
System.out.println("--> EnemyGenerator( " +pathGenerator+ " )");
this.pathGenerator = pathGenerator;
}

public void generateEnemies() {
throw new UnsupportedOperationException();
/**
* Ellenségek létrehozására szolgáló függvény
* @return visszatér az adott ellenséggel
*/
public Enemy generateEnemies() {
System.out.println("--> EnemyGenerator.generateEnemies() ");
Dwarf Tyrion = new Dwarf();
pathGenerator.start(Tyrion);
System.out.println("<-- Enemy");
return Tyrion;
}

/**
Expand All @@ -23,7 +30,6 @@ public void generateEnemies() {
public Boolean isLastEnemyGenerated() {
System.out.println("--> EnemyGenerator.isLastEnemyGenerated()");
System.out.println("<--");
//TODO ide mit írjunk? a 10. tesztben elvileg true-val tér vissza, de megoldható
return true;
}
}
11 changes: 8 additions & 3 deletions Geometry.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,16 @@ public Geometry() {
* @return azok a csempék, amik elérhetőek az adott pályán a megadott paraméterekkel
*/
public ArrayList<PathTile> getNearby(Tile center, int range) {
System.out.println("-->getNearby(" + center + "," + range + ")");
System.out.println("--> Geometry.getNearby(" + center + "," + range + ")");
// teszteléshez az utolsó cellát adja vissza (ezen álljon az ellenség, ha lőni akarunk rá)

// a teszt target a tiles utolso eleme
PathTile tesztTarget = (PathTile)tiles.get(tiles.size()-1);
ArrayList<PathTile> targets = new ArrayList<PathTile>();
// a targets lista az teszt target egz listaba agyazva
targets.add(tesztTarget);
System.out.println("<-- " + targets);
//System.out.println("<-- " + targets);
System.out.println("<-- tilesInRange");
return targets;
}

Expand All @@ -32,11 +36,12 @@ public ArrayList<PathTile> getNearby(Tile center, int range) {
* @return Az összes csempe
*/
public ArrayList<Tile> getTiles() {
System.out.println("-->getTiles()");
System.out.println("--> getTiles()");
System.out.println("<-- "+tiles);
return tiles; //Visszaadja az összes csempét
}


public ArrayList<Tile> getTilesList() {
return tiles;
}
Expand Down
8 changes: 8 additions & 0 deletions Hobbit.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
public class Hobbit extends Enemy {

/**
* Hobbit osztaly konstruktora.
*/
public Hobbit() {
System.out.println("--> <<create>> Hobbit");
this.type = "Hobbit";
}
}
8 changes: 8 additions & 0 deletions Human.java
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
public class Human extends Enemy {

/**
* Human osztály konstruktora.
*/
public Human() {
System.out.println("--> <<create>> ");
this.type = "Human";
}
}
Loading

0 comments on commit 1121667

Please sign in to comment.