Java Çok Boyutlu Dizi ile Labirent Oyunu Yapımı

Tanım

  • Çok boyutlu dizi kullanarak labirent oyun uygulaması yapılmıştır.
  • Yapılan uygulama 5x5 dizi üzerinde yapılmıştır, isteğe göre arttırılıp azaltılabiliir. Sizin keyfinize kalmıştır.

 

Resim

java labirent oyunu

 

Kod

package dddd;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel implements KeyListener{
int x=0,y=0;

int dizi[][] = {
		
		{2,1,1,0,0},
		{0,0,1,1,1},
		{0,1,1,0,0},
		{0,1,0,0,0},
		{0,1,1,1,1}
};

JFrame frame ;
public Main() {
	frame = new JFrame("Labirent Oyunu");
	
	frame.setSize(500, 500);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	frame.add(this);


	setSize(500,500);
	this.addKeyListener(this);
	frame.addKeyListener(this);
	
	frame.show();
}

public static void main(String[]args) {
	new Main();
	
}


public void paintComponent(Graphics g) {
	super.paintComponent(g);
	
	g.setColor(Color.gray);
	for(int i=0;i<dizi.length;i++) {
		
		for(int j=0;j<dizi.length;j++) {
			
			if(dizi[i][j]==1) {
				g.fillRect(j*100, i*100, 100, 100);
			}
			
			if(dizi[i][j]==2) {
				g.fillRect(j*100, i*100, 100, 100);
				g.setColor(Color.RED);
				g.fillOval(j*100, i*100, 100, 100);
			}
				g.setColor(Color.GRAY);
			
		}
		
	}
	
}

@Override
public void keyPressed(KeyEvent arg0) {
if(arg0.getKeyCode() == KeyEvent.VK_RIGHT) {
if(dizi[x][y+1]==1) {
	dizi[x][y] =1;
	dizi[x][y+1] =2;
	y=y+1;
}
	

}else if(arg0.getKeyCode() == KeyEvent.VK_LEFT) {
	if(dizi[x][y-1]==1) {
		dizi[x][y] =1;
		dizi[x][y-1] =2;
		y=y-1;
	}
	
}else if(arg0.getKeyCode() == KeyEvent.VK_DOWN) {
	if(dizi[x+1][y]==1) {
		dizi[x][y] =1;
		dizi[x+1][y] =2;
		x=x+1;
	}
	
}else if(arg0.getKeyCode() == KeyEvent.VK_UP) {
	if(dizi[x-1][y]==1) {
		dizi[x][y] =1;
		dizi[x-1][y] =2;
		x=x-1;
	}
	
}


for(int i=0;i<dizi.length;i++) {
		
	for(int j=0;j<dizi.length;j++) {
		
		System.out.print(dizi[i][j]+" ");
	
	}
	
	System.out.println("");
	
}
System.out.println("--------------");

repaint();
}

@Override
public void keyReleased(KeyEvent arg0) {
	// TODO Auto-generated method stub
	
}

@Override
public void keyTyped(KeyEvent arg0) {
	// TODO Auto-generated method stub
}

}

Yorumlar

Bu gönderi için yorum yapılmadı.