Pacman

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 :smiley:

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 :cry:

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 :slight_smile:

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. :smiley:

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 :slight_smile:

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.

:smiley:

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 :slight_smile:

Parabéns!!!

hehe Obrigado! :slight_smile:

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 :wink:

Olá Yoshiharu :smiley:

Respondendo a sua MP, um bom site onde você pode estudar como fazer para resolver com esses lags eu não sei :wink:

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 :wink:

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 :wink:

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. :smiley:

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…