Olá pessoal…
Eu fiz o tradicional jogo pacman em java e agora quero compartilhar com vocês…
Eu não fiz muito parecido com os demais jogos pacman, mas a ideia do jogo continua a mesma rsrs
Devido o meu tempo ser curto para programar, eu decidi fazer o mais simples possível, por isso não fiz as paredes e ele só tem 4 níveis, na verdade esse joguinho, foi apenas um passatempo em uma bela sexta feira que eu não tinha nada para fazer
Como eu ainda sou um programador iniciante, esse jogo não está dos melhores, mas quem sabe com uns novas atualizações ele vai ficando melhor
Sempre estou aberto a sugestões, opiniões, dicas… caso encontre bugs, por favor, me avise.
Então está ae, espero que gostem:
Legalzinho o jogo. Mas quando joguei deu muita lag. Não utilizou buffer para ajudar na fluidez do jogo?
Não usei amigo :?, para falar a verdade eu nunca vi isso kkkk… vc sabe de um lugar q tem um tutorial ?
Bom, certa vez eu comecei a brincar com uma engine para desenvolvimento de jogos em Java chamada GTGE. Ela não é difícil de aprender, possui vários recursos e tem umas classes que facilitam muito o trabalho de armazenar as imagens do jogo em buffer, como os sprites de personagens animados e objetos de cena que necessitam de movimento. Assim o jogo se desenrola com fluidez. Se vc se interessa por desenvolvimento de jogos, não custa conferir:
http://www.goldenstudios.or.id/products/GTGE/
Valeu brother, vou dar uma olhada sim, obg pela dica…
Parabéns, gostei do jogo.
Tenho algumas sugestões: Inverte as cores, deixa o JFrame preto e as pastilhas brancas; Coloque mais fantasmas.
Depois (quando você tiver mais tempo) que colocar os labirintos (e resolver os lag) o jogo vai ficar perfeito.
Você pode contar como funciona a I.A. do fantasma :?:
:thumbup:
Obrigado InicianteJavaHenrique.
Quando eu tiver um tempo livre, eu irei fazer uns novas modificações e algumas delas você até falou ae
I.A do fantasma vermelho é bem simples: A cada movimento do pacman o fantasma também faz o seu em direção pacman, porém nem sempre isso ocorre, até porque se fosse assim, seria impossível ganhar né kkkk. Então eu joguei um random para definir se o movimento do fantasma será em direção ao fantasma ou ao inverso, então a cada movimento, acontece esse random, entendeu ? kkkkkkkkkk…
A cada nível que você vai passando vai aumentando o número de fantasma, porém a I.A dos outros são diferentes do primeiro, mas os outros são bem simples de descobrir.
Ola Yoshiharu!
Pacman é sempre divertido hehe
eu tbm fiz um como trabalho da faculdade, ficou um pouco mais elaborado que o seu (eu tinha tempo na época hehe).
Se quiser dar uma olhada segue o link do webstart.
http://www.adacomsistemas.com.br/extras/pacman/
Abraço!
Olá Margel.
Cara, o seu jogo ficou muito perfeito
Parabéns!!!
hehe Obrigado!
Fiz ele a uns dois anos atrás, foi bem legal.
Ah o seu tbm ficou legal, mas ainda tem q implementar algumas coisas, tipo a IA dos fantasmas, mais suavidade na animação, o labirinto…
É bom usar buffer, um bom site para ter algum conceito inicial é o pontoV
http://www.pontov.com.br/site/java/48-java2d/124-desenho-direto-active-rendering
Da uma olhada la, e bons estudos
Olá Yoshiharu
Respondendo a sua MP, um bom site onde você pode estudar como fazer para resolver com esses lags eu não sei
Mas, eu tenho um “modelinho” que desenvolvi e uso quando crio meus “joguinhos” em Java, vê se te ajuda, é bem simples.
Você deve está pintando seu jogo em um JPanel ou JFrame, correto :?: basta colocar uma Thread e mais alguns detalhes…
/**
* @author Henrique Ferreira da Silva
*/
public class GameLoop extends JPanel implements KeyListener, Runnable {
//COLOQUE_AQUI_SEUS_ATRIBUTOS
private BufferedImage bufferedImage;
private Thread thread;
public GameLoop() {
//INICIALIZE_AQUI_SEUS_ATRIBUTOS
addKeyListener(this);
this.bufferedImage = new BufferedImage(//TAMANHO_DESEJADO, //TAMANHO_DESEJADO, BufferedImage.TYPE_INT_RGB);
this.thread = new Thread(this);
thread.start();
}
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_RIGHT:
//COLOQUE_AQUI_UMA_AÇÃO
break;
case KeyEvent.VK_LEFT:
//COLOQUE_AQUI_UMA_AÇÃO
break;
case KeyEvent.VK_UP:
//COLOQUE_AQUI_UMA_AÇÃO
break;
case KeyEvent.VK_DOWN:
//COLOQUE_AQUI_UMA_AÇÃO
break;
default:
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = bufferedImage.createGraphics();
//COLOQUE_AQUI_A_PINTURA_DO_JOGO
g.drawImage(bufferedImage, 0, 0, this);
g2d.dispose();
g.dispose();
}
@Override
public void run() {
while (//ENQUANTO_!_GAME_OVER) {
try {
Thread.sleep(//COLOQUE_AQUI_UM_TEMPO_DE_PAUSA);
repaint();
} catch (InterruptedException ex) {
}
}
}
…acredito que se você adaptar seu código e colocar neste “modelinho” ao final não terá mais lags.
:thumbup:
Pessoal não sei se com vocês aconteceu o mesmo problema, eu faço o download do pacman porem quando tento executar o .jar da um erro falando que a classe principal não foi encontrada, aproveitando a oportunidade alguem poderia me indicar algum tutorial do desenvolvimento do pacman, gostaria de aprender na pratica a mexer com o JAVA 2D e nada melhor que um game simples como o pacman para praticar.
Aqui rodou normal, vamos ver se o autor sabe de algo sobre
Um tutorial ensinando a desenvolver o Pacman eu acho que não tem, pelo menos eu nunca achei, mas pra começar com Java 2D acredito que Pacman não seja o mais simples.
Segue um exemplo de algo mais básico :arrow: http://docs.oracle.com/javase/1.4.2/docs/guide/2d/spec.html
:thumbup:
RafaelCassau, com Java 6 vc não vai rodar o aplicativo dele …
Instale o Java7 ai q vai dar certo
Eu passei um link antes de um tutorial, de uma olhada nele.
http://www.pontov.com.br/site/java/48-java2d/124-desenho-direto-active-rendering
Olá RafaelCassau…
Acredito eu que o Margel respondeu essa pergunta.
E quanto a um tutorial de pacman, eu nunca nem procurei por isso, mas acho difícil ter um com os códigos bem comentados, para facilitar os estudos.
[quote=InicianteJavaHenrique]Parabéns, gostei do jogo.
Tenho algumas sugestões: Inverte as cores, deixa o JFrame preto e as pastilhas brancas; Coloque mais fantasmas.
Depois (quando você tiver mais tempo) que colocar os labirintos (e resolver os lag) o jogo vai ficar perfeito.
Você pode contar como funciona a I.A. do fantasma :?:
:thumbup: [/quote]
Mas, eu também estou quase terminando o meu Pac-Man, quero saber como fazer esse labirinto…