Juegos - Juego de laberinto en proceso

 
Vista:
sin imagen de perfil

Juego de laberinto en proceso

Publicado por Santiago (1 intervención) el 10/05/2017 06:26:46
Hola, soy estudiante nuevo de esta carrera y he decidido empezar a crear un pequeño videojuego de laberinto para reforzar mis conocimientos.

Mi problema es que he creado mi mapa en un String y lo he convertido a una matriz, y a la hora de dibujarlo en un panel puedo hacerlo con g.drawRect y sus parecidos, pero no he podido hacerlo con imágenes propias. He intendado con BufferedImage y luego usando g.drawImage, pero nunca me lee la imagen.

Pueden ayudarme? quiero poder dibujar cualquier imagen como lo hago con los cuadrados.

PD: Adjuntaré una imagen del código cuando uso g.drawRect, quiero que quede una imagen en la posición de cada cuadrado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import static javax.swing.JFrame.EXIT_ON_CLOSE;
 
import javax.swing.JPanel;
 
 
 
/**
 *
 * @author Santiago
 */
public class practica1 extends JPanel {
 
 private BufferedImage img = null;
 
 
 
String Hola="*******************"+
"*****ssssssssssssssE"+
"*****s*************"+
"****ssssssssss*****"+
"****s**************"+
"****s********e*****"+
"*esssssss**********"+
"********ssssssss w*"+
"********ss*********"+
"****esssssssss*****"+
"***e*********s*****"+
"***s*********s*****"+
"***s*********s*****"+
"***s*********s*****"+
"***sssssssssss*****"+
"********s****w*****"+
"********s**********"+
"********p**********"+
"*******************";
 
char caracter[][]= new char[19][19];
 
 public practica1(){
 
 
    int contador=0;
     for (int i = 0; i < caracter.length; i++) {
         for (int j = 0; j < caracter[0].length; j++) {
             caracter[i][j]=Hola.charAt(contador);
             contador++;
 
         }
     }
 }
 public void paintComponent(Graphics g){
     BufferedImage img = null;
      try {
        img = ImageIO.read(new File("muro.jpg"));
      } catch (IOException ex) {
          System.out.println("No se pudo leer la imagen");
      }
 
    int y=0;
    g.setColor(Color.red);
     for(int i=0;i<caracter.length;i++){
          int x=0;
         for(int j=0; j<caracter.length;j++){
             g.drawImage(img, x, y, 30, 30, null);
 
             x=x+30;
 
         }
         y=y+30;
     }
 
 }
 
    public static void main(String[] args) {
      practica1 e= new practica1();
      JFrame ventana = new JFrame();
      practica1 p = new practica1();
      ventana.add(p);
      ventana.setLocationRelativeTo(null);
      ventana.setDefaultCloseOperation(EXIT_ON_CLOSE);
     ventana.setSize(570,570);
     ventana.setResizable(true);
     ventana.setVisible(true);
 
 
 
    }
 
}
1zx16q0
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder