Skip to content

Commit

Permalink
GameObj, ObjectID,GameController e rederizando Objetos
Browse files Browse the repository at this point in the history
  • Loading branch information
elisandro-tnb committed Jun 30, 2021
1 parent 8d9d3cf commit 4310e0e
Show file tree
Hide file tree
Showing 6 changed files with 152 additions and 5 deletions.
24 changes: 24 additions & 0 deletions src/com/ks2002br/frameworks/Cobaia.java
@@ -0,0 +1,24 @@
package com.ks2002br.frameworks;

import java.awt.Color;
import java.awt.Graphics;

public class Cobaia extends GameObject {

public Cobaia(float x, float y, ObjectId id) {
super(x, y, id);
}


public void tick() {
x++;
}


public void render(Graphics g) {
g.setColor(Color.blue);
g.fillRect((int)x, (int)y,128, 128);
}


}
36 changes: 36 additions & 0 deletions src/com/ks2002br/frameworks/GameController.java
@@ -0,0 +1,36 @@
package com.ks2002br.frameworks;

import java.awt.Graphics;
import java.util.LinkedList;

public class GameController {

private LinkedList<GameObject> obj = new LinkedList<>();

private GameObject tempObj;

public void update() {
for (int i = 0; i < obj.size(); i++) {
tempObj = obj.get(i);
tempObj.tick();
}
}

public void draw(Graphics g) {
for (int i = 0; i < obj.size(); i++) {
tempObj = obj.get(i);
tempObj.render(g);
}
}

public void addObj(GameObject obj) {
this.obj.add(obj);
System.out.println("[DEBUG GameController] UM OBJETO FOI CRIADO");
}

public void removeObj(GameObject obj) {
this.obj.remove(obj);
System.out.println("[DEBUG GameController] UM OBJETO FOI REMOVIDO");
}

}
63 changes: 63 additions & 0 deletions src/com/ks2002br/frameworks/GameObject.java
@@ -0,0 +1,63 @@
package com.ks2002br.frameworks;

import java.awt.Graphics;

public abstract class GameObject {

protected ObjectId id; // Id do objeto
protected float x,y; // posicao x e y na tela
protected float spdX,spdY; // velocidade x e y

//construtor
public GameObject(float x, float y, ObjectId id) {
this.x = x;
this.y = y;
this.id = id;
}

public abstract void tick();
public abstract void render(Graphics g);

public ObjectId getId() {
return id;
}

// public void setId(ObjectId id) {
// this.id = id;
// }

public float getX() {
return x;
}

public void setX(float x) {
this.x = x;
}

public float getY() {
return y;
}

public void setY(float y) {
this.y = y;
}

public float getSpdX() {
return spdX;
}

public void setSpdX(float spdX) {
this.spdX = spdX;
}

public float getSpdY() {
return spdY;
}

public void setSpdY(float spdY) {
this.spdY = spdY;
}



}
12 changes: 12 additions & 0 deletions src/com/ks2002br/frameworks/ObjectId.java
@@ -0,0 +1,12 @@
package com.ks2002br.frameworks;

public enum ObjectId {

COBAIA,
PLAYER,
ENEMY,
ARMA,
BALA,
SOLIDO;

}
18 changes: 15 additions & 3 deletions src/com/ks2002br/game/Game.java
Expand Up @@ -8,6 +8,9 @@

import javax.swing.JFrame;

import com.ks2002br.frameworks.Cobaia;
import com.ks2002br.frameworks.GameController;
import com.ks2002br.frameworks.ObjectId;
import com.ks2002br.graficos.CarregarImagem;
import com.ks2002br.graficos.FolhaSprites;

Expand All @@ -27,6 +30,8 @@ public class Game extends Canvas implements Runnable {

private Image img;
private FolhaSprites spriteSheet; //Passo 01 - instanciando ou referenciando

private GameController gc;


//CONTRUTOR DA CLASSE
Expand All @@ -40,6 +45,11 @@ public Game() {
private void startGame() {
img = new CarregarImagem().pegarImagem("/coordenadas.png");
spriteSheet = new FolhaSprites("/spritesheet-01.png"); //passo 02 / inicializando
gc = new GameController();

//OBJETOS AQUI
gc.addObj(new Cobaia(20, 50,ObjectId.COBAIA));
gc.addObj(new Cobaia(120, 450,ObjectId.COBAIA));

}

Expand Down Expand Up @@ -107,7 +117,7 @@ public synchronized void start() {


private void tick() {

gc.update();
}

private void render() {
Expand All @@ -132,9 +142,11 @@ private void render() {

Graphics2D g2d = (Graphics2D) g;

g2d.drawImage(img,5,5,625,625,null);
// g2d.drawImage(img,5,5,625,625,null);

// g2d.drawImage(spriteSheet.pegarSprite(0, 0, 16, 16),180,50,128,128,null); //passo 03 - usando

g2d.drawImage(spriteSheet.pegarSprite(0, 0, 16, 16),180,50,128,128,null); //passo 03 - usando
gc.draw(g2d);

// FINAL DO OBJETOS A SEREM DESENHADOS
bs.show(); //MOSTRAR TUDO QUE O PINTOR DESENHOU
Expand Down
4 changes: 2 additions & 2 deletions src/com/ks2002br/main/Main.java
Expand Up @@ -7,8 +7,8 @@
public class Main {

public static void main(String[] args) {
Game game = new Game(); // INSTANCIADO E INICIALIZADO UMA VARIAVEL DO TIPO GAME
game.start(); // DANDO A PARTIDA
Game game = new Game();
game.start();
}

}

0 comments on commit 4310e0e

Please sign in to comment.