Movimiento W,A,S,D en una matriz 1 y 0. AYUDAA PLEASE
Publicado por Gerardo Serrano (3 intervenciones) el 08/01/2020 21:57:08
Hola tengo un problema con mi codigo, el ejercicio que estoy resolviendo se encuentra en el minuto 14:10 de este video: https://www.youtube.com/watch?v=6qgOFZnhYEA&t=611s
Bueno la cuestion es que no logro mover mi 1 hacia abajo y poner un 0 en el lugar anterior para ir desplazandome por mi tablero que seria una matriz de 3x3, intento mover el 1 con w,a,s,d y primero estaba probando con "case s:" pero sigo sin entender porque no lo mueve
Bueno la cuestion es que no logro mover mi 1 hacia abajo y poner un 0 en el lugar anterior para ir desplazandome por mi tablero que seria una matriz de 3x3, intento mover el 1 con w,a,s,d y primero estaba probando con "case s:" pero sigo sin entender porque no lo mueve
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
package paquete1;
public class Movimiento {
// atributos
int x = 0;
int y = 0;
// metodos
// Metodo constructor
public Movimiento(char L){
this.y = y;
this.x = x;
}
public int Arriba(){
x--;
return y;
}
public int Abajo(){
x++;
return y;
}
public int Izq(){
y--;
return x;
}
public int Der(){
y++;
return x;
}
}
// Esa es una clase
// Aca esta la siguiente clase en la que estoy trabajando:
package paquete1;
import paquete1.Movimiento; // importo la clase de movimiento
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args){
// variables
int x = 0;
int y = 0;
int xa = 0;
int ya = 0;
boolean repetir = true;
char L = 's';
int tablero[][] = new int[3][3];
// constantes
// algoritmos
Movimiento objac = new Movimiento(L);
System.out.println("Bienvenido eres el numero uno \ny te podras mover entre los ceros.");
System.out.println();
tablero[x][y] = 1;
for(int i = 0; i<x; i++){
for(int j = 0; j<y; j++){
System.out.print(tablero[i][j]);
}
System.out.println();
}
while(repetir == true){
L = JOptionPane.showInputDialog(null, "").charAt(0);
switch(L){
case ('w' | 'W') :
break;
case 'a' :
System.out.println("A");
break;
case 's' :
xa = x; // guardo la posicion anterior
ya = y;
x = objac.Abajo();
tablero[xa][ya] = 0; // la pos anterior se vuelve 0
tablero[x][y] = 1; // la nueva posicion se vuelve 1
for(int i = 0; i<3; i++){
for(int j = 0; j<3; j++){
System.out.print(tablero[i][j]);
}
System.out.println();
}
break;
case 'd' :
System.out.println("D");
break;
default :
System.out.println("ERROR, Unicamente \"w,a,s,d\" en minuscula.");
break;
}
}
}
}
// PD: Aclaro que mi codigo sigue incompleto porque no entiendo como resolver ni siquiera el caso para bajar hacia abajo XD.
Valora esta pregunta


0