Skip to content

Commit

Permalink
MeuPrimeiroMundo,implementandoTeclado
Browse files Browse the repository at this point in the history
  • Loading branch information
elisandro-tnb committed Jul 19, 2021
1 parent 4310e0e commit c6df8e1
Show file tree
Hide file tree
Showing 9 changed files with 146 additions and 15 deletions.
26 changes: 26 additions & 0 deletions src/com/ks2002br/entities/Player.java
@@ -0,0 +1,26 @@
package com.ks2002br.entities;

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

import com.ks2002br.frameworks.GameObject;
import com.ks2002br.frameworks.ObjectId;

public class Player extends GameObject {

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

public void tick() {
x+=spdX;
y+=spdY;
}


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

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

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

public class Bloco extends GameObject{

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

public void tick() {
}

public void render(Graphics g) {
g.setColor(Color.GREEN);
g.fillRect((int)x,(int)y, 32, 32);
//divisas do bloco
g.setColor(Color.BLACK);
g.drawRect((int)x,(int)y, 32, 32);

}



}
9 changes: 4 additions & 5 deletions src/com/ks2002br/frameworks/Cobaia.java
Expand Up @@ -9,16 +9,15 @@ public Cobaia(float x, float y, ObjectId id) {
super(x, y, id);
}


public void tick() {
x++;
x+=spdX;
y+=spdY;
}


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

g.fillRect((int)x, (int)y,64, 64);
}

}
31 changes: 27 additions & 4 deletions src/com/ks2002br/frameworks/GameController.java
Expand Up @@ -3,9 +3,11 @@
import java.awt.Graphics;
import java.util.LinkedList;

import com.ks2002br.game.Game;

public class GameController {

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

private GameObject tempObj;

Expand All @@ -25,12 +27,33 @@ public void draw(Graphics g) {

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

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


public void criarMundo() {
//Mundo de blocos de 32x32
for (int xx = 0; xx < Game.LARGURA*2+32; xx+=32) {
//TOP
addObj(new Bloco(xx, 0, ObjectId.BLOCO));

//CHAO
addObj(new Bloco(xx, Game.ALTURA*2-32,ObjectId.BLOCO));

//ESQUERDA
addObj(new Bloco(0, xx+32,ObjectId.BLOCO));

//DIREITA
addObj(new Bloco(Game.ALTURA*2-32, xx,ObjectId.BLOCO));

}


}

}
2 changes: 1 addition & 1 deletion src/com/ks2002br/frameworks/ObjectId.java
Expand Up @@ -7,6 +7,6 @@ public enum ObjectId {
ENEMY,
ARMA,
BALA,
SOLIDO;
SOLIDO, BLOCO;

}
12 changes: 9 additions & 3 deletions src/com/ks2002br/game/Game.java
Expand Up @@ -8,11 +8,13 @@

import javax.swing.JFrame;

import com.ks2002br.entities.Player;
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;
import com.ks2002br.input.Teclado;

public class Game extends Canvas implements Runnable {

Expand Down Expand Up @@ -47,9 +49,13 @@ private void startGame() {
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));
addKeyListener(new Teclado(gc));

//OBJETOS AQUI
gc.criarMundo();

gc.addObj(new Cobaia(220, 250,ObjectId.COBAIA));
gc.addObj(new Player(120, 450,ObjectId.PLAYER));

}

Expand Down
2 changes: 1 addition & 1 deletion src/com/ks2002br/graficos/CarregarImagem.java
Expand Up @@ -12,7 +12,7 @@ public class CarregarImagem {
public Image pegarImagem(String caminho) {
try {
img = ImageIO.read(getClass().getResource(caminho));
System.out.println("Loading image... Done!");
System.out.println("[DEBUG CarregarImagem] CARREGANDO IMAGEM - COMPLETO!");
return img;
} catch (IOException | IllegalArgumentException e) {
System.err.println("[DEBUG CarregarImagem] Não foi localizado o arquivo pedido! Sistema sera encerrado! \n");
Expand Down
2 changes: 1 addition & 1 deletion src/com/ks2002br/graficos/FolhaSprites.java
Expand Up @@ -12,7 +12,7 @@ public class FolhaSprites {
public FolhaSprites(String caminho) {
try {
img = ImageIO.read(getClass().getResource(caminho));
System.out.println("Loading spritesheet... Done!");
System.out.println("[DEBUG FolhaSprites] LOADING SPRITESHEET... OK!");
} catch (IOException | IllegalArgumentException e) {
System.err.println("[DEBUG FolhaSprites] Não foi localizado o arquivo pedido! Sistema sera encerrado! \n");
e.printStackTrace();
Expand Down
51 changes: 51 additions & 0 deletions src/com/ks2002br/input/Teclado.java
@@ -0,0 +1,51 @@
package com.ks2002br.input;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import com.ks2002br.frameworks.GameController;
import com.ks2002br.frameworks.GameObject;
import com.ks2002br.frameworks.ObjectId;

public class Teclado extends KeyAdapter {

GameController gc;

public Teclado(GameController gc) {
this.gc = gc;
}

public void keyPressed(KeyEvent e) {
int tecla = e.getKeyCode();

for (int i = 0; i < gc.obj.size(); i++) {

GameObject objTemp = gc.obj.get(i);

if (objTemp.getId() == ObjectId.PLAYER) {
if (tecla == KeyEvent.VK_D) objTemp.setSpdX(5);
if (tecla == KeyEvent.VK_A) objTemp.setSpdX(-5);
if (tecla == KeyEvent.VK_W) objTemp.setSpdY(-5);
if (tecla == KeyEvent.VK_S) objTemp.setSpdY(5);
}

}

}

public void keyReleased(KeyEvent e) {
int tecla = e.getKeyCode();

for (int i = 0; i < gc.obj.size(); i++) {
GameObject objTemp = gc.obj.get(i);
if (objTemp.getId() == ObjectId.PLAYER){
if (tecla == KeyEvent.VK_D) objTemp.setSpdX(0);
if (tecla == KeyEvent.VK_A) objTemp.setSpdX(0);
if (tecla == KeyEvent.VK_W) objTemp.setSpdY(0);
if (tecla == KeyEvent.VK_S) objTemp.setSpdY(0);
}

}
}

}

0 comments on commit c6df8e1

Please sign in to comment.