Skip to content

Commit

Permalink
Added the enemy, refactored player drawing
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimirslav committed Sep 12, 2016
1 parent 4a2ff24 commit 1e86d0a
Show file tree
Hide file tree
Showing 9 changed files with 78 additions and 18 deletions.
11 changes: 9 additions & 2 deletions android/assets/packed/game.atlas
Expand Up @@ -25,17 +25,24 @@ player
orig: 16, 16
offset: 0, 0
index: -1
wall
spider
rotate: false
xy: 38, 6
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
warning
wall
rotate: false
xy: 56, 6
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
warning
rotate: false
xy: 74, 6
size: 16, 16
orig: 16, 16
offset: 0, 0
index: -1
Binary file modified android/assets/packed/game.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/spider.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions core/src/com/coldwild/dodginghero/Resources.java
Expand Up @@ -16,6 +16,8 @@ public class Resources {
public TextureRegion wall;

public Sprite player;
public Sprite enemy;

public TextureRegion base;
public TextureRegion warning;

Expand All @@ -28,6 +30,8 @@ public Resources()
wall = gameSprites.findRegion("wall");

player = new Sprite(gameSprites.findRegion("player"));
enemy = new Sprite(gameSprites.findRegion("spider"));

base = gameSprites.findRegion("base");
warning = gameSprites.findRegion("warning");
}
Expand Down
11 changes: 11 additions & 0 deletions core/src/com/coldwild/dodginghero/graph/SizeEvaluator.java
@@ -1,5 +1,6 @@
package com.coldwild.dodginghero.graph;

import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.coldwild.dodginghero.Resources;

Expand Down Expand Up @@ -44,4 +45,14 @@ public float getBaseScreenY(int baseY)
* ((maxTileBaseY + 1) / 2 - baseY);
}

public float getEnemyX(Sprite enemy)
{
return (measuredStage.getWidth() * 3 / 4) - enemy.getWidth() / 2;
}

public float getEnemyY(Sprite enemy)
{
return measuredStage.getHeight() / 2 - enemy.getHeight() / 2;
}

}
18 changes: 16 additions & 2 deletions core/src/com/coldwild/dodginghero/logic/GameLogic.java
@@ -1,7 +1,9 @@
package com.coldwild.dodginghero.logic;

import com.badlogic.gdx.math.MathUtils;
import com.coldwild.dodginghero.DodgingHero;
import com.coldwild.dodginghero.graph.effects.EffectEngine;
import com.coldwild.dodginghero.logic.objects.Enemy;
import com.coldwild.dodginghero.logic.objects.Player;

/**
Expand All @@ -13,13 +15,20 @@ public class GameLogic {
public static final int MAX_BASE_Y = 3;

Player player;
Enemy enemy;

EffectEngine effectEngine;
DodgingHero game;

public GameLogic() {
public GameLogic(DodgingHero _game) {
game = _game;
player = new Player(
MathUtils.random(MAX_BASE_X),
MathUtils.random(MAX_BASE_Y)
MathUtils.random(MAX_BASE_Y),
game.res
); // 0..3

enemy = new Enemy(game.res);
effectEngine = new EffectEngine();
}

Expand All @@ -28,6 +37,11 @@ public Player getPlayer()
return player;
}

public Enemy getEnemy()
{
return enemy;
}

public void update(float delta)
{
effectEngine.update(delta);
Expand Down
22 changes: 22 additions & 0 deletions core/src/com/coldwild/dodginghero/logic/objects/Enemy.java
@@ -0,0 +1,22 @@
package com.coldwild.dodginghero.logic.objects;

import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.coldwild.dodginghero.Resources;
import com.coldwild.dodginghero.graph.SizeEvaluator;

/**
* Created by comrad_gremlin on 9/12/2016.
*/
public class Enemy extends Sprite {
public Enemy(Resources res)
{
set(res.enemy);
}

public void draw(SpriteBatch batch, SizeEvaluator sizeEvaluator)
{
setPosition(sizeEvaluator.getEnemyX(this), sizeEvaluator.getEnemyY(this));
super.draw(batch);
}
}
13 changes: 12 additions & 1 deletion core/src/com/coldwild/dodginghero/logic/objects/Player.java
@@ -1,6 +1,9 @@
package com.coldwild.dodginghero.logic.objects;

import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.coldwild.dodginghero.Resources;
import com.coldwild.dodginghero.graph.SizeEvaluator;

/**
* Created by comrad_gremlin on 9/8/2016.
Expand All @@ -10,10 +13,11 @@ public class Player extends Sprite {
private int fieldX;
private int fieldY;

public Player(int fx, int fy)
public Player(int fx, int fy, Resources res)
{
fieldX = fx;
fieldY = fy;
set(res.player);
}

public int getFieldX()
Expand All @@ -35,4 +39,11 @@ public void setFieldY(int fy)
{
fieldY = fy;
}

public void draw(SpriteBatch batch, SizeEvaluator sizeEvaluator)
{
setPosition(sizeEvaluator.getBaseScreenX(fieldX),
sizeEvaluator.getBaseScreenY(fieldY));
super.draw(batch);
}
}
17 changes: 4 additions & 13 deletions core/src/com/coldwild/dodginghero/screens/GameScreen.java
Expand Up @@ -32,6 +32,7 @@ public class GameScreen extends DefaultScreen implements InputProcessor {
private Stage gameStage;
private Background bg;
private GameLogic logic;

private Player player;

public GameScreen(DodgingHero _game) {
Expand All @@ -46,12 +47,9 @@ public GameScreen(DodgingHero _game) {
GameLogic.MAX_BASE_X,
GameLogic.MAX_BASE_Y);

logic = new GameLogic();
logic = new GameLogic(game);
player = logic.getPlayer();

player.set(game.res.player);
RefreshPlayer();

Gdx.input.setInputProcessor(this);
WarningEffect.Create(0, 0, logic.getEffectEngine(), sizeEvaluator, game.res);
}
Expand Down Expand Up @@ -93,7 +91,8 @@ public void render(float delta)
logic.getEffectEngine().draw(batch);

batch.begin();
player.draw(batch);
player.draw(batch, sizeEvaluator);
logic.getEnemy().draw(batch, sizeEvaluator);
batch.end();

gameStage.draw();
Expand All @@ -112,21 +111,13 @@ public void resize(int width, int height)
{
super.resize(width, height);
gameStage.getViewport().update(width, height, true);
RefreshPlayer();
}

public void RefreshPlayer()
{
player.setPosition(sizeEvaluator.getBaseScreenX(player.getFieldX()),
sizeEvaluator.getBaseScreenY(player.getFieldY()));
}

public void AttempMove(int dx, int dy)
{
if (logic.CanMove(player.getFieldX() + dx, player.getFieldY() + dy))
{
logic.AssignPlayerPosition(player.getFieldX() + dx, player.getFieldY() + dy);
RefreshPlayer();
}
}

Expand Down

0 comments on commit 1e86d0a

Please sign in to comment.