Lo que este joven explica es sumamente entendible para cualquier aprendiz, mis felicitaciones. Una tristeza por la noticia, pero ha dejado un gran aporte a muchos programadores. Honraremos su memoria difundiendo este material para que llegue a muchas otras generaciones, la esencia esta ahí presente.
@javicrowley5 жыл бұрын
De haber sabido que tenias una grave enfermedad, habríamos de alguna forma devuelto la mano, descanza en paz, dejas un gran legado a futuros programadores, ojala algun dia pueda ser como tú...adios
@justogonzalez53004 жыл бұрын
Buenos días Javiera P, quien falleció, no quiero creer o ojalá que me equivoque
@dajuvaja4 жыл бұрын
@@justogonzalez5300 El muchacho del canal falleció ya hace varios meses.
@justogonzalez53004 жыл бұрын
@@dajuvaja Gracias, que pena para todos los estudiantes de programación, no sabia de su enfermedad, pero fue todo rápido según he visto, tal vez se haya golpeado en su rodilla que le causó la enfermedad, que gran perdida, particularmente no encontré un profesor que explica como él, si tiene algún nombre puede publicar por favor. gracias
@walterfarias53704 жыл бұрын
@@justogonzalez5300 si queres ver alternativas a su canal en mi opinión pildoras informaticas es una buena opción
@compartelo0074 жыл бұрын
@@justogonzalez5300 Su nombre "es" Alejandro Taboada
@andresportilla47957 жыл бұрын
hola yo soy andres también soy programador y es la primera vez que entiendo la explicación de un lenguaje de manera clara y didáctica sigue así felicitaciones desde Colombia a broder
@peterlutron3 жыл бұрын
muy buen ejercicio, me hizo pensar por muchas horas pero al final logre llegar al resultado y aprender mucho. Descansa en paz Alejandro, fuiste y sos alto profesor.
@camilojosedurangutierrez25252 жыл бұрын
ya debes ser muy bueno en el tema, si así es y deseo que así sea, te felicito, los esfuerzos traen sus resultados. si no ps, a veces la vida no es como queremos. Saludos.
@erikramirez1343 Жыл бұрын
jaja yo me quede como, no manches andamos viendo perimetros bien tranqui :c
@danirom44604 жыл бұрын
Yo lo supe hace unos meses el ya me había ayudado con C++, y no he conocido a nadie q explique mejor
@jorgesanux7 жыл бұрын
Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero. **Clase Movimiento** package Ejercicio2Movimiento; public class Movimiento { //Atributos private int x; private int y; //Metodos //Constructor public Movimiento(int x,int y){ this.x=x; this.y=y; } //Movimiento public void arriba(){ if(y!=0){ y-=1; } } public void abajo(){ if(y!=10){ y+=1; } } public void derecha(){ if(x!=0){ x-=1; } } public void izquierda(){ if(x!=10){ x+=1; } } //Getters public int getX(){ return x; } public int getY(){ return y; } } **Clase Main** package Ejercicio2Movimiento; import java.util.Scanner; public class Main { public static void main(String []args){ Scanner lector=new Scanner(System.in); Movimiento coord; int x,y; char tecla; System.out.println("Digita las coordenadas de inicio Digita X: "); x=lector.nextInt(); System.out.println("Digita Y: "); y=lector.nextInt(); coord=new Movimiento(x,y); do{ System.out.println("ARRIBA = W ABAJO = S DERECHA = A IZQUIERDA = D POSICION ACTUAL = V SALIR = X Digita hacia donde quieres moverte: "); tecla=lector.next().charAt(0); switch(tecla){ case 'W': case 'w': coord.arriba(); System.out.println("ARRIBA"); System.out.println("x= "+coord.getX()+" y= "+coord.getY()+" "); break; case 'S': case 's': coord.abajo(); System.out.println("ABAJO"); System.out.println("x= "+coord.getX()+" y= "+coord.getY()+" "); break; case 'A': case 'a': coord.derecha(); System.out.println("DERECHA"); System.out.println("x= "+coord.getX()+" y= "+coord.getY()+" "); break; case 'D': case 'd': coord.izquierda(); System.out.println("IZQUIERDA"); System.out.println("x= "+coord.getX()+" y= "+coord.getY()+" "); break; case 'V': case 'v': System.out.println("POSICION ACTUAL"); System.out.println("x= "+coord.getX()+" y= "+coord.getY()+" "); break; default: System.out.println("Error: Accion no valida. "); } }while(tecla!='x'); } }
@AldairG24 Жыл бұрын
Cogí tú ejercicio como idea, llego un momento en que no podía seguir así que por eso lo cogí de ejemplo y le hice algunas modificaciones, pude comprender mejor el ejercicio. Gracias.
@eustaquiocarvajal Жыл бұрын
gracias amigo
@HiYTGamers Жыл бұрын
Me salen errores, no sirve.
@fernandogal1 Жыл бұрын
gracias a tu ejercicio, pude mejorar un poco mas mi codigo
@ileanr.progra-lw9ho Жыл бұрын
Chamo lo hiciste al reves XD al darle arriba baja en el eje x, y al darle abajo sube por otro lado, pero me funciono excelente trabajo!!!
@emmanuelegel214 жыл бұрын
Hasta este día me entero que falleciste, eres un grande! Dios te tenga en la gloria. Descansa en paz. Gracias a tus vídeos estoy interesado cada día mas en la programación, eres una leyenda, nunca seras olvidado!
@albertosanchezmartinez14317 жыл бұрын
Felicidades por los 50k subs Alejandro, ahora por los 100k
7 жыл бұрын
Muchas gracias Alberto :)
@Sipy94 жыл бұрын
Esta fue mi forma de hacerlo, gracias Alejandro por tus clases, aunque ya no te encuentres con vida, nos sigues enseñando demasiado. package Tablero; public class Tablero { private final int Columna,Fila; private int x,y; private boolean bool=false; public Tablero(int Columna, int Fila, int x, int y) { this.Columna = Columna; this.Fila=Fila; this.x=x; this.y=y; } public int getColumna() { return Columna; } public int getFila() { return Fila; } public int getX() { return x; } public int getY() { return y; } public void MostrarPosicion(){ System.out.println("Te encuentras en la posición ("+x+","+y+")"); } public boolean Movimiento(String mov){ switch(mov){ case "W": System.out.println("Te moviste arriba"); y=y-1; if(y==0){ y=Fila; } break; case "S": System.out.println("Te moviste abajo"); y=y+1; if(y==Fila+1){ y=1; } break; case "A": System.out.println("Te moviste a la izquierda"); x=x-1; if(x==0){ x=Columna; } break; case "D": System.out.println("Te moviste a la derecha"); x=x+1; if(x==Columna+1){ x=1; } break; default: System.out.println("Movimiento no reconocido, gracias por jugar"); bool=true; break; } return bool; } public void imprimirTablero(){ for(int i=1;i
@beatrizpacheco8293 жыл бұрын
Rezare por ti Alejandro, por tu apoyo incondicional a todos nosotros. Dios te tenga en su gloria y descansa en Paz, amigo y maestro Alejandro.
@IranPadillayoiran7 жыл бұрын
estoy por javascript pero ya estoy dispuesto a seguirte por tu manera de explicar
@juansebastianastudillozamb27247 жыл бұрын
Ejercicio #2 :D Clase 1: package ClasesYObjetos; public class Posicion { //Atributos private int ejeX; private int ejeY; //Metodos //Constructor public Posicion(int ejeX, int ejeY){ this.ejeX = ejeX; this.ejeY = ejeY; } //Mover hacia arriba public void moverArriba(){ ejeY += 1; System.out.println("DIRECCION HACIA ADELANTE"); System.out.println("POSICION: ("+ejeX+","+ejeY+")"); } //Mover hacia abajo public void moverAbajo(){ ejeY -= 1; System.out.println("DIRECCION HACIA ABAJO"); System.out.println("POSICION: ("+ejeX+","+ejeY+")"); } //Mover hacia derecha public void moverDerecha(){ ejeX += 1; System.out.println("DIRECCION HACIA DERECHA"); System.out.println("POSICION: ("+ejeX+","+ejeY+")"); } //Mover hacia arriba public void moverIzquierda(){ ejeX -= 1; System.out.println("DIRECCION HACIA IZQUIERDA"); System.out.println("POSICION: ("+ejeX+","+ejeY+")"); } //Getter posicion X public int getEjeX(){ return ejeX; } //Getter posicion Y public int getEjeY(){ return ejeY; } } Clase main: package ClasesYObjetos; import javax.swing.JOptionPane; public class Main { public static void main(String[] args){ //Variable char proximoMov = '0'; //Crear objeto con cordenadas iniciales x=0, y=0 Posicion objeto = new Posicion(0,0); System.out.println("POSICION INICIAL: ("+objeto.getEjeX()+","+objeto.getEjeY()+")"); while(proximoMov != 'E'){ //Identificar el proximo movimiento do { proximoMov = Character.toUpperCase(JOptionPane.showInputDialog("Ingrese el siguiente movimiento"+" "+"W-Adelante "+"S-Atras "+"A-Izquierda "+"D-Derecha "+"E-Salir ").charAt(0)); } while ((proximoMov !='W')&&(proximoMov !='A')&&(proximoMov !='S')&&(proximoMov !='D')&&(proximoMov !='E')); //Realizar el movimiento switch(proximoMov){ case 'W': objeto.moverArriba(); break; case 'S': objeto.moverAbajo(); break; case 'A': objeto.moverIzquierda(); break; case 'D': objeto.moverDerecha(); break; case 'E': System.out.println("Gracias por jugar!"); break; default: System.out.println("Movimiento no reconocido"); break; } } } }
@lamunoz57 жыл бұрын
Funciona muy bien!!!
@joserebolledo43037 жыл бұрын
oye lo pusiste felicitaciones
@sr_tr6 жыл бұрын
amigo te felicito , pero no es POR despreciar ni por creerme mas simplemente hay un dicho que escuche del gran maestro Alvaro Felipe de EDteam ,es que si tienes mas de dos veces la misma linea de código significa que es una mala practica un programador , lo que tienes que hacer es simplificar (optimizar) y si eres ingeniero con mucha mas razón , tu programa esta chvr y me guié de tu lógica, lo acorte bastante espero te sirva , ÉXITOS
@sr_tr6 жыл бұрын
Main : public static void main(String[] args) { Scanner entrada=new Scanner(System.in); boolean x=false; do { System.out.print("Introduzca una accion : "); String d=entrada.nextLine(); Posicion op=new Posicion(d.toUpperCase()); op.ImprimirPos(); if(op.saliendo()==true) { x=true; break; } }while(x==false); System.out.println("Fin"); } Posicion: private static int ejex; private static int ejey; private String p; private boolean s=false; //constructor public Posicion(String p) { this.p=p; } public void ImprimirPos() { switch (p) { case "W": ejey++; break; case "S" : ejey--; break; case "A": ejex--; break; case "D": ejex++; break; default: System.out.println("saliendo"); s=true; break; } System.out.println("La posicion final es : "+ejex+","+ejey); } public boolean saliendo() { return s; }
@santiagolopez-sx4td6 жыл бұрын
@@sr_tr un par de cosas, primero, el ejercicio dice que al final de cada movimiento se muestre en que direccion se hizo para guiar al usuario y la posicion actual. La segunda es el tema del codigo amigable, las variables de una sola letra sin ningun comentario que aclare que significan suelen estar mal vistas ya que si hicieras el proyecto con alguien mas, le resultaria imposible entender el codigo con solo verlo, al menos si fuera algo mas grande.
@MauricioHernandez-jw4hk5 жыл бұрын
Aún en la muerte me sigues ayudando
@nolbertpartidopacheco72434 жыл бұрын
Eres un super talento como pedagogo. Grande hermano
@joshycarrera27817 жыл бұрын
tengo parcial este sábado dame tu bendición :'v
@adolfovladimirrodriguezval50844 жыл бұрын
Excelente legado. Gracias.. Envió mi solución del ejercicio 2, incluye el tablero (matriz 10 x 10 lleno de 0) y el objeto dentro(un 1). Salio un poco extenso por limitar el movimiento dentro del tablero. Espero les sea de utilidad. package ClasesYObjetos; import javax.swing.JOptionPane; public class main2 { public static void main(String[] args) { char mov='n'; int I=5; int J=5; boolean seguir = true; do { System.out.println("El objeto en el tablero:"); MovimientoTablero objeto = new MovimientoTablero(I,J,mov); I=objeto.gety(); J=objeto.getx(); System.out.println("Coordenadas del objeto: " + "X = "+(J+1)+" ; Y = "+(I+1)); mov=JOptionPane.showInputDialog("Seleccione el movimiento deseado: " + "ARRIBA: W " + "ABAJO: S " + "DERECHA: D " + "IZQUIERDA: A " + "SALIR: E").charAt(0); System.out.println("la tecla seleccionada es: "+mov); if( mov=='e'|| mov=='E') { seguir= false; } }while(seguir==true ); } } package ClasesYObjetos; public class MovimientoTablero { private int x, y; // Coordenadas posicion private char movimiento; private int tablero[][]=new int[10][10]; // Tablero public MovimientoTablero(int i, int j, char mov) { y = i; x = j; movimiento = mov; switch(movimiento) { //MODIFICA COORDENADAS SEGUN MOVIMIENTO INDICADO case 'W': case 'w': if (y=9) { break; } else { y++; } break; case 'D': case 'd': if (x>=9) { break; } else { x++; } break; case 'A': case 'a': if (x
@estebanasecas3 жыл бұрын
Esta persona a contribuido al mundo
@alexislopez91242 жыл бұрын
aún veo tus videos, gracias por tanto crack justo lo que necesitaba
@cristianeduardo1165 Жыл бұрын
DE LEJOS.... UN CRACK!! 👏👏👏👏👏👏
@lauracardenas83277 жыл бұрын
Holaaa soy tu fann, genial como explicas ^--^
7 жыл бұрын
Hola :) Muchas gracias, Un saludo desde Perú
@Dvid-ie9uq Жыл бұрын
/* Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero. */ package entidades; public class Objeto { private int ordenada; private int abscisa; public Objeto(){ this.ordenada = 0; this.abscisa = 0; } public void moverArriba(){ this.ordenada++; } public void moverAbajo(){ this.ordenada--; } public void moverIzquierda(){ this.abscisa--; } public void moverDerecha(){ this.abscisa++; } @Override public String toString(){ return "Coordenadas actuales: ("+this.abscisa+", "+this.ordenada+")."; } } package presentacion; import entidades.Objeto; import java.util.Scanner; public class PruebaObjeto { private static Scanner sc = new Scanner(System.in); public static int menu(){ int op; do{ System.out.println(" MENU DE OPCIONES :D"); System.out.println("1. Ingresar movimiento(Arriba = W)(Abajo = S)(Izquierda = A)(Derecha = D)."); System.out.println("2. Salir"); System.out.print("Ingresar opcion: "); op = sc.nextInt(); }while(op2); return op; } public static void main(String[] args) { Objeto o1 = new Objeto(); int opcion; char mov; do{ opcion = menu(); switch(opcion){ case 1: System.out.print("Ingresar movimiento: "); sc.nextLine(); mov = sc.nextLine().charAt(0); switch(mov){ case 'w','W': o1.moverArriba(); System.out.println(" Movimiento Ingresado: ARRIBA. "+o1.toString()); break; case 'a','A': o1.moverIzquierda(); System.out.println(" Movimiento Ingresado: IZQUIERDA. "+o1.toString()); break; case 's','S': o1.moverAbajo(); System.out.println(" Movimiento Ingresado: ABAJO. "+o1.toString()); break; case 'd','D': o1.moverDerecha(); System.out.println(" Movimiento Ingresado: DERECHA. "+o1.toString()); break; default: System.out.println(" Movimiento inválido."); } break; case 2: System.out.println(" Saliendo del programa..."); break; } }while(opcion != 2); } }
@javierbiglia Жыл бұрын
Siempre serás nuestro profe
@tiempoyfinanzas46542 ай бұрын
GRACIAS SENSEI SEGUIMOS TU LEGADO PARTE LOGICA Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero. */ public class PersonajeTablero2byme { private int ejeX; private int ejeY; public PersonajeTablero2byme(int ejeX, int ejeY) { this.ejeX = ejeX; this.ejeY = ejeY; } public void getArriba(){ int arriba=ejeY--; } public void abajo(){ int abajo=ejeY++; } public void izquierda(){ int izquierda=ejeX--; } public void derecha(){ int derecha=ejeX++; } public void resultado(){ System.out.println("personaje movido ahora tiene POSICION X:"+ejeX+ " POSICION Y: "+ejeY); } } CLASE MAIN public class MainPersonajeTablero2byme { public static void main(String[] args) { Scanner sc=new Scanner(System.in); PersonajeTablero2byme personaje = new PersonajeTablero2byme(0,0); //mitad del tablero String dondeMoverPersonaje; while(true){ System.out.println("escribe arriba, abajo, izq, derecha para mover el personaje o salir "); dondeMoverPersonaje=sc.nextLine().toLowerCase(); switch(dondeMoverPersonaje){ case "arriba": personaje.getArriba(); break; case "abajo": personaje.abajo(); break; case "izquierda": personaje.izquierda(); break; case "derecha": personaje.derecha(); break; case "salir": System.out.println("saliendo del programa...."); return; default: System.out.println("direccion no valida intentelo de nuevo"); } personaje.resultado(); } } }
@La12Gonzalo7 жыл бұрын
Genial tu curso¡ Me gustaría ver un vídeo más pero sobre UML, sus conexiones etc. Es difícil encontrar uno con tu forma de desarrollar el contenido
@D_AlbАй бұрын
educando al pueblo, gracias
@rob23556 ай бұрын
Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero Clase: public class Tablero { private int filas=13; private int columnas=13; private int X=6; private int Y=6; private int matriz [][]=new int [filas][columnas]; public void Matriz(){ for (int i = 0; i < filas; i++) { for (int j = 0; j < columnas; j++) { matriz[i][j]=0; } } matriz[X][Y]=1; for (int i = 0; i < filas; i++) { for (int j = 0; j < columnas; j++) { System.out.print(matriz[i][j]+" "); } System.out.println(); } } public void Arriba(){ if(X>0){ matriz[X][Y]=0; matriz[--X][Y]=1; Imprimir(); }else { System.out.println("Has llegado al borde superior"); } } public void Abajo(){ if(X { Matriz.Arriba(); } case "S","s" -> { Matriz.Abajo(); } case "A","a" -> { Matriz.Izquierdad(); } case "D","d"-> { Matriz.Derecha(); } case "F","f"-> { palanca=false; System.out.println("salindo......"); } default->{System.out.println("Opcion no validad");} } } } }
@jonathaneucerin71335 ай бұрын
gracias Alejandro
@tutoflamHD7 жыл бұрын
Ese programa no se puede realizar tambíen poniendo los métodos de acceso Setters al principio en la clase de Cuadrilatero?
@mijaelcarbajal32213 жыл бұрын
/* Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posicion dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrara la nueva direccion elegida y las coordenadas de situacion del objeto dentro del tablero. */ package pruebas; import java.util.Scanner; import javax.swing.JOptionPane; public class Ejercicio { //atributos public int ejeX; public int ejeY; //metodo constructor public Ejercicio(int ejeX, int ejeY) { this.ejeX = ejeX; this.ejeY = ejeY; } public void moverArriba(){ ejeY+=1; System.out.println("DIRECCION: hacia adelante."); System.out.println("POSICION: ("+ejeX+";"+ejeY+")"); System.out.print(" Ingrese el siguiente movimiento: "); } public void moverAbajo(){ ejeY-=1; System.out.println("DIRECCION: hacia atras."); System.out.println("POSICION: ("+ejeX+";"+ejeY+")"); System.out.print(" Ingrese el siguiente movimiento: "); } public void moverDerecha(){ ejeX+=1; System.out.println("DIRECCION: hacia la derecha."); System.out.println("POSICION: ("+ejeX+";"+ejeY+")"); System.out.print(" Ingrese el siguiente movimiento: "); } public void moverIzquierda(){ ejeX-=1; System.out.println("DIRECCION: hacia la izquierda."); System.out.println("POSICION: ("+ejeX+";"+ejeY+")"); System.out.print(" Ingrese el siguiente movimiento: "); } //Getter posicion X public int getEjeX() { return ejeX; } //Getter posicion Y public int getEjeY() { return ejeY; } } MAIN /* */ package pruebas; import java.util.Scanner; import javax.swing.JOptionPane; public class Pruebas { public static void main(String[] args) { Scanner SC = new Scanner(System.in); char movimiento=0; Ejercicio mov = new Ejercicio(0,0); System.out.print("Ingrese el movimiento: "); while(movimiento!='E'){ movimiento = SC.next().charAt(0); switch(movimiento){ case 'W': mov.moverArriba(); break; case 'S': mov.moverAbajo(); break; case 'D': mov.moverDerecha(); break; case 'A': mov.moverIzquierda(); break; case 'E': movimiento = 'E' ; break; default: System.out.println("Movimiento no reconocido"); System.out.print(" Ingrese el siguiente movimiento: "); } } System.out.println(" Vuelva pronto"); } }
@Mich-TcG Жыл бұрын
excelente bro
@angelpeinadojaro5 жыл бұрын
Genial. (Bueno, apuntar que estrictamente por "cuadrilátero" aquí deberíamos entender 'paralelogramo'.)
@Dannrar2 жыл бұрын
Después de tirarme un buen tiempo tratando de realizar el ejercicio nº 2, esta fue la forma en la que pude hacerlo: ================================================================ Calse Tablero: ================================================================ package Ejercicio02; public class Tablero { // Atributos. int matriz[][]; int nFilas, nColumnas, posicion; // Métodos. public void tamañoMatriz(int nFilas, int nColumnas) { this.nFilas = nFilas; this.nColumnas = nColumnas; matriz = new int[nFilas][nColumnas]; } public void llenadoMatriz() { System.out.println(" La matriz es: "); int k = 0; for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { matriz[i][j] = k + 2; k += 2; } } } public void mostrarMatriz() { for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { System.out.print("[" + matriz[i][j] + "]"); } System.out.println(""); } } public void posicionDireccion(int posicion) { this.posicion = posicion; } public void elementoMovido(int sCase) { System.out.println("posición es igual a: " + posicion); int mov = 0; switch (sCase) { case 1: // Mover hacia arriba System.out.println(" A elegido la opción 1 (mover hacia arriba)."); int k = 1; for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { if (k == posicion) { mov = matriz[i - 1][j]; matriz[i - 1][j] = matriz[i][j]; matriz[i][j] = mov; //System.out.println("\"k\" es igual a: "+ k); k++; break; } else { k++; } } } break; case 2: // Mover hacia abajo System.out.println(" A elegido la opción 2 (mover hacia abajo)."); System.out.println("Scase equivale a: " + sCase); k = 1; for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { if (k == posicion) { mov = matriz[i + 1][j]; matriz[i + 1][j] = matriz[i][j]; matriz[i][j] = mov; k++; break; } else { k++; } } } break; case 3: // Mover hacia la izquierda System.out.println(" A elegido la opción 3 (mover hacia la izquierda)."); k = 1; for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { if (k == posicion) { mov = matriz[i][j - 1]; matriz[i][j - 1] = matriz[i][j]; matriz[i][j] = mov; k++; break; } else { k++; } } } break; case 4: // Mover hacia la derecha System.out.println(" A elegido la opción 4."); k = 1; for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { if (k == posicion) { mov = matriz[i][j + 1]; matriz[i][j + 1] = matriz[i][j]; matriz[i][j] = mov; k++; break; } else { k++; } } } break; default: System.out.println("\"" + sCase + "\", no es una opción válida."); System.out.println(""); } } public void nuevaMatriz() { System.out.println("La nueva matriz es:"); for (int i = 0; i < nFilas; i++) { for (int j = 0; j < nColumnas; j++) { System.out.print("[" + matriz[i][j] + "]"); } System.out.println(""); } } } ================================================================ Clase Main: ================================================================ public static void main(String[] args) { Scanner entrada = new Scanner(System.in); int nFil, nCol, posicion, sCase; System.out.println("Estableciendo el tamaño de la matriz: "); System.out.print("Digite el nº de filas: "); nFil = entrada.nextInt(); System.out.print("Digite el nº de columnas: "); nCol = entrada.nextInt(); Tablero tb = new Tablero(); tb.tamañoMatriz(nFil, nCol); tb.llenadoMatriz(); tb.mostrarMatriz(); System.out.println(" Digite el nº de la casilla del objeto que quiere mover: "); posicion = entrada.nextInt(); System.out.println(" Hacia dónde lo quiere mover: 1. Arriba. 2. Abajo 3. Izquierda. 4. Derecha."); sCase = entrada.nextInt(); tb.posicionDireccion(posicion); tb.elementoMovido(sCase); if ((sCase == 1)|| (sCase == 2)||(sCase == 3)||(sCase == 4)) { tb.nuevaMatriz(); } }
@alfredopablo34623 жыл бұрын
Gente me rindo, estuve como una hora haciendo el ejercicio, funciona bien en movimientos, pero no se que falla en el while, bueno aqui lo dejo: METODO PRINCIPAL public class OK2 { public static void main(String[] args) { Scanner entrada=new Scanner(System.in); OK c1=new OK(); char posicion; System.out.print("Ingresa una letra: "); posicion=entrada.next().charAt(0); while(posicion=='w' || posicion=='a' || posicion=='s' || posicion=='d'){ switch(posicion){ case 'w':c1.arriba();break; case 's':c1.abajo();break; case 'a':c1.izquierda();break; case 'd':c1.derecha();break; default:System.out.println("No es correcto");break; } c1.mostrar(); System.out.print("Ingresa una letra: "); posicion=entrada.next().charAt(0); } } } AQUI LOS METODOS NORMALES public class OK { int x=0,y=0; public void derecha(){ x+=1; } public void izquierda(){ x-=1; } public void arriba(){ y+=1; } public void abajo(){ y-=1; } public void mostrar(){ System.out.println("["+x+"] ["+y+"]"); } }
@joseph1978vlc2 ай бұрын
Podrías haber explicado qué fallo le ves al while. A mi me va bien tu código. En todo caso en default no se necesita un break, pero funciona igual con él como sin él. Pues nada, que sepas que funciona bien, o al menos yo no le veo el fallo.
@CarlosLopez-qg4el7 жыл бұрын
mi hermano me harías un grande favor si abarcas los temas de los principios S.O.L.I.D, es algo que en mi curso en la universidad no vi y ahora lo estoy necesitando, no logro entenderlo muy bien. te agradecería mucho.
@jeffersongonzalez88087 жыл бұрын
amigo me piden el area y perimetro del traingulo....con metodo constructor,modificadores,consultor.....lo logre hacer pero resulta que lo quiere con un solo parametro, y yo lo habia hecho con 3(lado,base,altura)....no se como hacerlo con un solo parametro ayuda:(
@erikramirez1343 Жыл бұрын
no quiero parecer ignorante... pero como le hace en el minuto 10:36 del video para que le aparesca lo que tiene que hacer en el c1=new Cuadrilatero()...?
@BeboCoder Жыл бұрын
no te entiendo 🤨🤨
@patrickalcantaraalejo41042 жыл бұрын
Ejercicio 2: HICE EL TABLERO CON UNA MATRIZ :) ////////////////////////CLASE OBJETO public class Objeto { private int x; private int y; private String desplazamiento; public Objeto(int x, int y) { this.x = x; this.y = y; } public int arriba(){ y = y - 1; return y; } public int abajo(){ y = y + 1; return y; } public int derecha(){ x = x + 1; return x; } public int izquierda(){ x = x - 1; return x; } public int getX() { return x; } public int getY() { return y; } public String getDesplazamiento() { return desplazamiento; } public void setDesplazamiento(String desplazamiento) { this.desplazamiento = desplazamiento; } public void mostrarPosicion(){ System.out.println("Posición: Fila " + (y) + ", Columna: " + (x)); } } ///////////////////////CLASE PRINCIPAL import javax.swing.JOptionPane; public class Principal { public static void main(String[] args) { int tablero[][] = new int[5][5]; //Definición de la posición incial int posy = Integer.parseInt(JOptionPane.showInputDialog("Digite la fila donde esta el objeto")); int posx = Integer.parseInt(JOptionPane.showInputDialog("Digite la columna donde esta el objeto")); Objeto obj1 = new Objeto(posx, posy); for(int j = 0; j < 5; j++){ for(int k = 0; k < 5; k++){ if((j + 1) == obj1.getY() && (k + 1) == obj1.getX()){ tablero[j][k] = 1; } } } for(int j = 0; j < 5; j++){//Impresión del tablero con el objeto for(int k = 0; k < 5; k++){ System.out.print(" " + tablero[j][k] + " "); } System.out.println(""); } obj1.mostrarPosicion(); System.out.println(""); for(int i = 0; i < 5; i++){//Reinicio de tablero for(int j = 0; j < 5; j++){ tablero[i][j] = 0; } } for(int i = 0; i < 5; i++){ String movimiento = JOptionPane.showInputDialog("Movimiento N°" + (i + 1)); switch (movimiento){ case "arriba": obj1.arriba(); obj1.setDesplazamiento("arriba"); break; case "abajo": obj1.abajo(); obj1.setDesplazamiento("abajo"); break; case "derecha": obj1.derecha(); obj1.setDesplazamiento("derecha"); break; case "izquierda": obj1.izquierda(); obj1.setDesplazamiento("izquierda"); break; } for(int j = 0; j < 5; j++){//Definiendo nueva posición del objeto for(int k = 0; k < 5; k++){ if((j + 1) == obj1.getY() && (k + 1) == obj1.getX()){ tablero[j][k] = 1; } } } for(int j = 0; j < 5; j++){//Impresión de la nueva posición for(int k = 0; k < 5; k++){ System.out.print(" " + tablero[j][k] + " "); } System.out.println(""); } System.out.println("El objeto se desplazó hacia: " + obj1.getDesplazamiento()); obj1.mostrarPosicion(); System.out.println(""); for(int j = 0; j < 5; j++){//Reinicio de tablero for(int k = 0; k < 5; k++){ tablero[j][k] = 0; } } } } }
@DARIELEFRAINGARCIASILVA2 ай бұрын
un saludo a mi maestra montoya que me dejo esto de tarea jaja xdxdxdxxdx
@brayamstivencamposospina33503 жыл бұрын
Hay mas videos todavia sobre este curso aparte de los 105 publicados aca en you tube , los cursos que hay si funcionan y explicam completamente las bases de java ?
@4rn02353 жыл бұрын
creo que si, en udemy siempre deja el link de su curso en la descripción
@nerjamartin7 жыл бұрын
Hola Alejandro. Muchas gracias por tus vídeos. Dónde puedo encontrar la solución del segundo ejercicio (el del tablero) para poder compararlo con mi código? Muchas gracias de nuevo :)
@javiercontreras80533 жыл бұрын
Para el ejercicio #2 no realizaste la solucion ?
@joseluisduranzarate62617 жыл бұрын
Primeroooo! Gracias por los vídeos , son de mucha ayuda^^
@IranPadillayoiran7 жыл бұрын
el programa que usa donde lo consigo
7 жыл бұрын
el IDE es Netbeans :)
@estefaniaantonio44376 жыл бұрын
lo tines que descargar de oracle, ahi te descragas el Netbeans y el JDK
@JeanS.Garzon-if9ty6 жыл бұрын
El IDE incorpora el JDK, no ?
@Rambo4x4 Жыл бұрын
Aqui esta mi ejercicio, si no les funciona me avisan para que les explique como funciona package Ejercicio2; public class Movimiento { //atributos private int fila; private int columna; private int matriz[][]; //Metodos //Metodo constructor public Movimiento(int fila, int columna, int[][] matriz) { this.fila = fila; this.columna = columna; this.matriz = matriz; } public void PosActual(int a,int b) { for(int i=0;i
@joseph1978vlc2 ай бұрын
Muy ingenioso hacer el tablero. Algo pequeño, pero al menos hay un tablero y se ve el movimiento. No me lo había planteado.
@Rambo4x42 ай бұрын
@@joseph1978vlc gracias por la respuesta, se me ocurrió al pensar en uno de esos juegos 2D
@Bulldog-Chelista4 жыл бұрын
como sabes decidir cual será public y cual private? y otra cosa. siempre es necesario para pedir datos del usuario ese chorote gigante de parseoptionPane??? A mi luego no me reconoce ese caracter*( como le llama java)
@rec4353 жыл бұрын
Puedes pedir los datos con: Scanner leer=new Scanner (System.in); System.out.println("Ingrese el valor"); int valor=leer.nextInt();
@antonydanieloceguedaruelas6539 Жыл бұрын
Para el ejercicio 2: public class Movimiento { //atributos protected int x, y; //metodos constructores public Movimiento() { x = 0; y = 0; } public Movimiento(int x, int y) { this.x = x; this.y = y; } //metodos public int moverArriba(){ y++; return x; } public int moverAbajo(){ y--; return y; } public int moverDerecha(){ x++; return x; } public int moverIzquierda(){ x--; return x; } public String toString(){ return "Las coordenadas son: (" + x + ", " + y + ")"; } } //archivo main import static javax.swing.JOptionPane.showMessageDialog; public class Main { public static void main(String args[]){ Movimiento m = new Movimiento(); m.moverArriba(); m.moverDerecha(); m.moverAbajo(); m.moverIzquierda(); showMessageDialog(null, m.toString()); }//main }//class
@jamesbarreto95534 жыл бұрын
Gracias Alejandro. Estes donde estes. Aqui la solucion que propongo. package Movimiento; import javax.swing.JOptionPane; public class Movimiento { private float posX; private float posY; public Movimiento(float posX, float posY) { this.posX = posX; this.posY = posY; } public float Arriba (float mov){ float nuepos = posY + mov; posY = nuepos; return nuepos; } public float Abajo (float mov){ float nuepos = posY - mov; posY = nuepos; return nuepos; } public float Derecha (float mov){ float nuepos = posX + mov; posX = nuepos; return nuepos; } public float Izquierda (float mov){ float nuepos = posX - mov; posX = nuepos; return nuepos; } public void Mostrarpos (){ JOptionPane.showMessageDialog(null, "La posicion actual es: "+posX+" , "+posY); } } //Clase Main import javax.swing.JOptionPane; public class Main { public static void main (String [] args){ float posX, posY, mov; char dir; posX = Float.parseFloat(JOptionPane.showInputDialog("Ingrese la posicion incial del objeto en la posicion X")); posY = Float.parseFloat(JOptionPane.showInputDialog("Ingrese la posicion incial del objeto en la posicion Y")); Movimiento ob1 = new Movimiento(posX, posY); ob1.Mostrarpos(); dir = JOptionPane.showInputDialog("En que direccion se quiere mover. -Arriba presione W -Abajo presione S -Derecha presiode D -Izquierda presione A -Salir presione F").charAt(0); while (dir!='F' && dir!='f'){ switch (dir){ case 'W': case 'w': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia arriba")); ob1.Arriba(mov); ob1.Mostrarpos(); dir = JOptionPane.showInputDialog("En que direccion se quiere mover. -Arriba presione W -Abajo presione S -Derecha presiode D -Izquierda presione A -Salir presione F").charAt(0); break; case 'S': case 's': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia abajo")); ob1.Abajo(mov); ob1.Mostrarpos(); dir = JOptionPane.showInputDialog("En que direccion se quiere mover. -Arriba presione W -Abajo presione S -Derecha presiode D -Izquierda presione A -Salir presione F").charAt(0); break; case 'D': case 'd': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia la derecha")); ob1.Derecha(mov); ob1.Mostrarpos(); dir = JOptionPane.showInputDialog("En que direccion se quiere mover. -Arriba presione W -Abajo presione S -Derecha presiode D -Izquierda presione A -Salir presione F").charAt(0); break; case 'A': case 'a': mov = Float.parseFloat(JOptionPane.showInputDialog("Cuantas posiciones se va a mover hacia la Izquierda")); ob1.Izquierda(mov); ob1.Mostrarpos(); dir = JOptionPane.showInputDialog("En que direccion se quiere mover. -Arriba presione W -Abajo presione S -Derecha presiode D -Izquierda presione A -Salir presione F").charAt(0); break; default: JOptionPane.showMessageDialog(null,"Ha escrito una letra invalida"); ob1.Mostrarpos(); dir = JOptionPane.showInputDialog("En que direccion se quiere mover. -Arriba presione W -Abajo presione S -Derecha presiode D -Izquierda presione A -Salir presione F").charAt(0); } } JOptionPane.showMessageDialog(null,"Ha salido del programa"); } }
@SantiagoMC986 жыл бұрын
Bien profe (y)
@diegosanabria64945 жыл бұрын
Ejercicio 2: package Ejercicio2; import javax.swing.*; public class Main { public static void main(String[] args) { //Matriz(tabla) de objetos por donde se desplazará Movimiento objeto[][] = new Movimiento[6][6]; //Variables de posición inicial del objeto int fila =2, col = 2; //Objeto a mover objeto[fila][col] = new Movimiento(fila, col); //Imprime la coordada inicial del objeto System.out.println("Coordenada inicial: [" + fila + "][" + col + "]"); //Menú de opciones para desplazarse, el ciclo finaliza hasta detectar el caracter 'Q' char a; do { a = JOptionPane.showInputDialog("Movimientos: W = Arriba S = Abajo A = Izquierda D = Derecha Q = Salir").charAt(0); a = Character.toUpperCase(a); //fil_aux y col_aux recordaran la última posición del objeto para borrarlo cuando cambie la posición int fil_aux = fila, col_aux = col; switch (a) { case 'W': fila = objeto[fila][col].arriba(); break; case 'S': fila = objeto[fila][col].abajo(); break; case 'A': col = objeto[fila][col].izquuierda(); break; case 'D': col = objeto[fila][col].derecha(); break; case 'Q': break; default: JOptionPane.showMessageDialog(null, "Opción no válida"); } //El objeto en la nuava posicón será igual al objeto antes del movimiento objeto[fila][col] = objeto[fil_aux][col_aux]; //Se comprueba que no se borre el objeto cuando llegue a los límites de la matriz para evitar que se pierdan los datos y genere un error if (fila != fil_aux || col != col_aux) objeto[fil_aux][col_aux] = null; }while (a!='Q'); } } package Ejercicio2; public class Movimiento { private int fila, col; public Movimiento(int fila, int col) { this.fila = fila; this.col = col; } public int arriba() { if (fila != 0) { fila--; } mensaje("ARRIBA"); return fila; } public int abajo() { if(fila != 5) { fila++; } mensaje("ABAJO"); return fila; } public int izquuierda() { if (col != 0) { col--; } mensaje("IZQUIERDA"); return col; } public int derecha() { if (col != 5) { col++; } mensaje("DERECHA"); return col; } //Imprime mensaje con las coordenadas actuales del objeto public void mensaje(String msj) { System.out.println(msj + ", coordenadas: [" + fila + "][" + col + "]"); } }
@ivancruzsoto86704 жыл бұрын
Clase Tablero public class Tablero { private Casilla[][] tab1; private int dim = 8; //Constructor public Tablero() { tab1 = new Casilla[dim][dim]; for(int i = 0; i < dim; i++) { for(int j = 0; j < dim; j++) { tab1[i][j] = new Casilla(false); } } } //Getters public boolean getCasilla(int x, int y) { return tab1[x][y].getEstado(); } public int getDimension() { return dim; } //Setters public void setCasilla(int x, int y, boolean estado) { tab1[x][y].setEstado(estado);//Invocación de Setters de Casilla } public void setDimesion(int dimension) { dim = dimension; } } Clase Casilla public class Casilla { private boolean estado; //Constructor public Casilla(boolean estado) { this.estado = estado; } //Getters public boolean getEstado() { return estado; } //Setters public void setEstado(boolean estado) { this.estado = estado; } } Clase Jugador import javax.swing.JOptionPane; public class Jugador { private int[] posicion = new int[2]; //Constructores public Jugador(int x, int y) { posicion[0] = x;//Representa la fila en la que se encuentra el jugador posicion[1] = y;//Representa la columna en la que se encuentra el jugador } //Getters public int getX() { return posicion[0]; } public int getY() { return posicion[1]; } //Setters public void setX(int x) { posicion[0] = x; } public void setY(int y) { posicion[1] = y; } public void setPosicion(int x, int y) { posicion[0] = x; posicion[1] = y; } //Movilidad del jugador public boolean moveUp() { if(posicion[0] == 0) { JOptionPane.showMessageDialog(null,"Imposible subir más en el tablero!");//En caso de que el jugador ya se encuentre en la primera fila return false; } else { posicion[0]--;//Sube al jugador una fila return true; } } public boolean moveDown(int max) { if(posicion[0] == max-1) { JOptionPane.showMessageDialog(null,"Imposible bajar más en el tablero!");//En caso de que el jugador ya se encuentre en la última fila return false; } else { posicion[0]++;//Baja al jugador una fila return true; } } public boolean moveLeft() { if(posicion[1] == 0) { JOptionPane.showMessageDialog(null,"Imposible retroceder más en el tablero!");//En caso de que el jugador ya se encuentre en la primera columna return false; } else { posicion[1]--;//Regresa al jugador una columna return true; } } public boolean moveRight(int max) { if(posicion[1] == max-1) { JOptionPane.showMessageDialog(null,"Imposible avanzar más en el tablero!");//En caso de que el jugador ya se encuentre en la última columna return false; } else { posicion[1]++;//Avanza al jugador una columna return true; } } } Clase App import javax.swing.JOptionPane; public class App { public static void main(String args[]) { Tablero tablero = new Tablero(); Jugador player = new Jugador(0,0); tablero.setCasilla(player.getX(), player.getY(), true);//Inicializando la posición del jugador en el tablero char menu;//Menu opcional for(int i = 0; i < tablero.getDimension(); i++) {//Impresión del tablero, Maraca con un 0 las casillas vacías y con un 1 la casilla ocupada por el jugador for(int j = 0; j < tablero.getDimension(); j++) { if(tablero.getCasilla(i, j))System.out.print("1 "); else { System.out.print("0 "); } } System.out.println(); } JOptionPane.showMessageDialog(null, "Bienvenido"); do { menu = JOptionPane.showInputDialog("Controles: 'w': Arriba 'a': Izquierda 's': Abajo 'd': Derecha 'e': Salir").charAt(0);//Solicitud de instrucción switch(menu) { case 'w': if(player.moveUp()) {//En caso de que el jugador quiera moverse hacía arriba tablero.setCasilla(player.getX()+1, player.getY(), false);//Desactivando la casilla que el jugador abandonó tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador } break; case 'a': if(player.moveLeft()) {//En caso de que jugador quiera moverse hacia la Izquierda tablero.setCasilla(player.getX(), player.getY()+1, false);//Desactivando la casilla que el jugador abandonó tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador } break; case 's'://En caso de que el jugador quiera moverse hacía abajo if(player.moveDown(tablero.getDimension())) { tablero.setCasilla(player.getX()-1, player.getY(), false);//Desactivando la casilla que el jugador abandonó tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador } break; case 'd'://En caso de que el jugador quiera moverse hacia la derecha if(player.moveRight(tablero.getDimension())) { tablero.setCasilla(player.getX(), player.getY()-1, false);//Desactivando la casilla que el jugador abandonó tablero.setCasilla(player.getX(), player.getY(), true);//Activando la casilla a la que llegó el jugador } break; } System.out.println(" ");//Impresión del tablero for(int i = 0; i < tablero.getDimension(); i++) { for(int j = 0; j < tablero.getDimension(); j++) { if(tablero.getCasilla(i, j))System.out.print("1 "); else { System.out.print("0 "); } } System.out.println(); } }while(menu != 'e'); } }
@Mr-Knight111 ай бұрын
*PROBLEMA 2 DE FORMA SENCILLA* *CLASE1:* package paquete; import javax.swing.JOptionPane; public class Clase1 { private int x, y; private String decision = ""; private int bandera = 0; public Clase1(int x, int y) { this.x = x; this.y = y; } public void menu() { decision = JOptionPane.showInputDialog(null, "W. Para moverse arriba" + " S. Para moverse abajo" + " D. Para moverse a la derecha" + " A. Para moverse a la izquierda" + " X. Para salir"); } public void Operaciones() { if (decision.equals("W") || decision.equals("w")) { y = y + 1; } else if (decision.equals("S") || decision.equals("s")) { y = y - 1; } else if (decision.equals("D") || decision.equals("d")) { x = x + 1; } else if (decision.equals("A") || decision.equals("a")) { x = x - 1; } else if (decision.equals("X") || decision.equals("x")) { bandera = 1; } else { System.out.println("Opcion no disponible, vuelva a intentarlo"); } } public void mostrarResultados() { System.out.println("Se encuentra en x: " + x); System.out.println("Se encuentra en y: " + y); System.out.println(""); } public int getBandera() { return bandera; } } *CLASE MAIN:* package paquete; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { int x = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la coordenada x en la que se encuentra")); int y = Integer.parseInt(JOptionPane.showInputDialog(null, "Ingrese la coordenada y en la que se encuentra")); Clase1 ob1 = new Clase1(x, y); while (ob1.getBandera() == 0) { ob1.menu(); ob1.Operaciones(); ob1.mostrarResultados(); } } }
@Mr_Chango6 жыл бұрын
/* Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero. */ package Ejercicio2; import javax.swing.JOptionPane; public class Movimiento { //Atributos private static int x=0; private static int y=0; //Metdodo public Movimiento(int mov){ } public int arriba(){ y++; return y; } public int abajo(){ y--; return y; } public int derecha(){ x++; return x; } public int izquierda(){ x--; return x; } public void nuevoMov(){ System.out.println("Ubicacion(x,y) = ("+x+":"+y+")"); } } //EN UNA CLASE LO DE ARRIBA Y LO DE ABAJO EN OTRA package Ejercicio2; import javax.swing.JOptionPane; public class Principal { public static void main(String [] args){ int mov; do{ mov = Integer.parseInt(JOptionPane.showInputDialog("Dijite un movimiento: " +" 1. Subir" +" 2. Bajar" +" 3. Derecha" +" 4. Izquierda" +" 5. Salir")); Movimiento auto = new Movimiento(mov); switch(mov){ case 1: auto.arriba(); auto.nuevoMov(); break; case 2: auto.abajo(); auto.nuevoMov(); break; case 3: auto.derecha(); auto.nuevoMov(); break; case 4: auto.izquierda(); auto.nuevoMov(); break; default: System.out.println("Error no existe esa opcion"); } }while(mov !=5); System.out.println("Gracis por participar"); } }
@kevinct76883 жыл бұрын
// EJERCICIO #2 :) :) package POO; public class Ejercicio002 { private int x, y, num; // Constructor 1 public Ejercicio002(int x, int y) { this.x = x; this.y = y; } // Constructor 2 public Ejercicio002(int num) { this.num = num; } public void m_arriba() { y = y + num; } public void m_abajo() { y = y - num; } public void m_izquierdo() { x = x - num; } public void m_derecha() { x = x + num; } public void posición() { System.out.printf(" %10s " + "%10s%5d " + "%10s%5d ", "Posición Actual", "Posicion eje X : ", x, "Posición eje Y : ", y); } } package POO; import java.util.Scanner; public class Ejercicio002A { public static void main(String[] args) { int posX, posY, resp; int num; Scanner tecla = new Scanner(System.in); System.out.printf("%30s ", "-------Mapa Cartesiano--------"); System.out.printf("%25s " + "%10s", "Posición Inicial ", "Eje X : "); posX = Integer.valueOf(tecla.nextLine()); System.out.printf("%10s", "Ejer Y: "); posY = Integer.valueOf(tecla.nextLine()); Ejercicio002 E2 = new Ejercicio002(posX, posY); Ejercicio002 E2A; // Movimiento y cambios do { do { System.out.printf(" %30s " + "%10s " + "%10s " + "%10s " + "%10s " + "%10s " + "%10s " + "%10s", "-----------Movimientos---------- ", "1.- Arriba", "2.- Abajo", "3.- Izquierda", "4.- Derecha", "5.- Mostrar posición", "6.- Salir", "Elegir una opcion (1-6): "); resp = Integer.valueOf(tecla.nextLine()); if (resp = 7) { System.out.println("ERROR : Escoger una opción (1-6).................."); } } while (resp = 7); switch (resp) { case 1: System.out.printf("%10s", "Cuantas posiciones: "); num = Integer.valueOf(tecla.nextLine()); E2A = new Ejercicio002(num); E2.m_arriba(); break; case 2: System.out.printf("%10s", "Cuantas posiciones: "); num = Integer.valueOf(tecla.nextLine()); E2A = new Ejercicio002(num); E2.m_abajo(); break; case 3: System.out.printf("%10s", "Cuantas posiciones: "); num = Integer.valueOf(tecla.nextLine()); E2A = new Ejercicio002(num); E2.m_izquierdo(); break; case 4: System.out.printf("%10s", "Cuantas posiciones: "); num = Integer.valueOf(tecla.nextLine()); E2A = new Ejercicio002(num); E2.m_derecha(); break; case 5: E2.posición(); break; case 6: E2.posición(); break; } } while (resp != 6); } } // MI APORTE
@josegerardogomezlopez93833 жыл бұрын
Ejercicio No. 2: Clase 1: package ejercicio2; public class Tablero { //Atributos: private static int coordX = 0; private static int coordY = 0; private String mov; public Tablero(String mov) { this.mov = mov; } public int getCoordY() { if (mov.equalsIgnoreCase("w")) { coordY++; } else if (mov.equalsIgnoreCase("s")) { coordY--; } return coordY; } public int getCoordX() { if (mov.equalsIgnoreCase("a")) { coordX--; } else if (mov.equalsIgnoreCase("d")) { coordX++; } return coordX; } public void setCoord(String mov) { this.mov = mov; } } Clase 2: package ejercicio2; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { char des; do { String movimiento = JOptionPane.showInputDialog("Ingrese el tipo de movimiento que desea" + " realizar: W ==> Arriba S ==> Abajo A ==> Izquierda D ==> Derecha"); if(movimiento.equalsIgnoreCase("w") || movimiento.equalsIgnoreCase("s") || movimiento.equalsIgnoreCase("a") || movimiento.equalsIgnoreCase("d")){ System.out.println("Selección correcta."); } else { System.out.println("La selección es incorrecta."); } Tablero t1 = new Tablero(movimiento); System.out.println("Coordenadas X: " + t1.getCoordX()); System.out.println("Coordenadas Y: " + t1.getCoordY()+" "); do{ des = JOptionPane.showInputDialog("¿Desea realizar un nuevo movimiento en " + "el tablero? V. si. F no.").charAt(0); if (des != 'v' && des != 'V' && des != 'f' && des != 'F') { JOptionPane.showMessageDialog(null, "Error, la opción ingresada es incorrecta"); } } while(des != 'v' && des != 'V' && des != 'f' && des != 'F'); } while (des == 'v' || des == 'V'); System.out.println("Saliendo..."); } }
@joseestrada18125 жыл бұрын
Disculpa el curso esta en dolares verdad?
@keny31186 жыл бұрын
Que tecla oprime para que aparezcan los constructores y escoger el que uno desea?
@alejandrodiazmedellin8985 жыл бұрын
control + espacio
@jerlinsongonzalez20611 ай бұрын
Ejercicio 2: public class Tablero { //Atributos private int filas; //numero de filas private int columnas; //Numero de columnas private int posX; private int posY; //metodo constructor para las dimensiones del tablero public Tablero(int filas, int columnas) { this.filas = filas; this.columnas = columnas; this.posX = 0; this.posY = 0; } //Para movernos arriba metodo public void ARRIBA(){ if(posY < columnas){ posY += 1; } Coordenadas(); //imprimir coordenadas actuales } //Para movernos abajo public void ABAJO(){ if(posY < columnas){ posY -= 1; } Coordenadas(); //imprimir coordenadas actuales } //Para movernos a la izquierda public void IZQUIERDA(){ if(posX < filas){ posX -=1; } Coordenadas(); //imprimir coordenadas actuales } //Para movernos a la dereccha public void DERECHA(){ if(posX < filas){ posX = posX + 1; } Coordenadas(); //imprimir coordenadas actuales } //utilizamos este metodo para mostrar las coordenadas actuales de X y Y. public void Coordenadas(){ System.out.println("Las coodernadas son: "+(posX)+","+(posY)); } } import java.util.Scanner; public class TableroMain { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int filas, columnas; String direccion; System.out.println("Digite la cantidad de filas(X): "); filas = sc.nextInt(); System.out.println("Digite la cantidad de columnas(Y): "); columnas = sc.nextInt(); //mandamos los argumentos para rellenar el metodo constructor de la clase Tablero tab = new Tablero(filas,columnas); while(true) //Creamos un bucle infinito usando la condicion True dentro del bucle While { System.out.println("Digite la direccion el que se quiere mover: Arriba, Abajo, Izquierda, Derecha: " + "o Introd SALIR, para cerrar el programa. "); direccion = sc.next().toString(); ///dentro del Switch ejecutamos los metodos de la clase Tablero usando El objeto tab switch(direccion){ case "Arriba": tab.ARRIBA(); break; case "Abajo": tab.ABAJO(); break; case "Izquierda": tab.IZQUIERDA(); break; case "Derecha": tab.DERECHA(); break; case "Salir": System.exit(0); break; default: System.out.println("Direccion no encontrada."); break; } } } }
@alfredoalejandroaramburoca83153 жыл бұрын
/* Construir un programa que permita dirigir el movimiento de un obvjeto dentro de un tablero y actualice su posicion dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, ISQUIERDA, y DERECHA. Tras cada movimiento el pograma mostrara la nueva direccion elegida y las coordenadas de situacion del objeto dentro del tablero. */ package ej2poo; import java.util.Scanner; import javax.swing.JOptionPane; public class Ej2POO { public static void main(String[] args) { auxiliar alfito=new auxiliar(0,0); Scanner ob=new Scanner(System.in); System.out.println("La posicion inicial del objeto es: "+"("+alfito.getEjeX()+")"+"("+alfito.getEjeY()+")"); int eleccion; String xd; do { System.out.print(" Hacia donde quiere mover el objeto? 1.-Arriba 2.-Abajo 3.-Izquierda 4.-Derecha "); eleccion = ob.nextInt(); switch (eleccion) { case 1: alfito.moverArriba(); break; case 2: alfito.moverAbajo(); break; case 3: alfito.moverIzquierda(); break; case 4: alfito.moverDerecha(); break; default: System.out.println("Movimiento no reconocido"); break; } xd = JOptionPane.showInputDialog("Desea hacer otro movimiento? s/n"); //Funciona con JOption, pero la ventana no aparece sino en el escritorio. //System.out.println("Desea hacer otro movimiento? s/n"); --- Aparentemente no funciona al capturar y se pasa directamente a finalizar el programa. //xd=ob.nextLine(); --- Parece que es debido a un problema con el Scanner, habr[ia que inevstigar mas. }while(xd.equalsIgnoreCase("s")); System.out.println("La posicion final del objeto es: "+"("+alfito.getEjeX()+")"+"("+alfito.getEjeY()+")"); }//Cierra el main }//Cierra la clase package ej2poo; public class auxiliar { private int ejeX; private int ejeY; public auxiliar(int ejeX, int ejeY) { this.ejeX = ejeX; this.ejeY = ejeY; }//Cierra el constructor public int getEjeX() { return ejeX; }//Cierra getterX public int getEjeY() { return ejeY; }//Cierra getterY public void moverArriba() { ejeY += 1; System.out.println("("+ejeX+")"+"("+ejeY+")"); }//Cierra metodo moverArriba public void moverAbajo() { ejeY -= 1; System.out.println("("+ejeX+")"+"("+ejeY+")"); }//Cierra metodo moverAbajo public void moverIzquierda() { ejeX -= 1; System.out.println("("+ejeX+")"+"("+ejeY+")"); }//Cierra metodo moverIzquierda public void moverDerecha() { ejeX += 1; System.out.println("("+ejeX+")"+"("+ejeY+")"); }//Cierra metodo moverDerecha }//Cierra la clase
@Aleexbs6 жыл бұрын
Hola amigo! Me encanta tus videos y sigo todos tus ejercicio! eres increíble dando clases mas por tu forma motivadora de enseñar. Una pregunta, cual es la diferencia de usar el metodo public floar getArea .. a usar un metrodo vacio como public void Area e imprimir el resultado en el mismo metodo ? Es mas profecionar usar el return ?
@tobiasurielvidelaguliotti828910 ай бұрын
Un grande
@miguelparedes1822 Жыл бұрын
Aqui el ejercicio 2, pidiendole al usuario las coordenadas iniciales y el maximo que pueden alcanzar. /* Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero.*/ ** CLASS MOVER ** package Mover; /** * * @author Miguel Paredes */ public class Mover { //Atributos private int x; private int y; //Atributos que me sirven para controlar hasta donde puede llegar las coordenadas private int maxx; private int maxy; //Metodo constructor coordenadas inicio; public Mover(int x,int y,int maxx,int maxy){ this.x = x; this.y = y; this.maxx=maxx; this.maxy=maxy; } //Metodo arriba public void up(){ y--; if(ymaxy){ y=0; } } //Metodo izquierda public void left(){ x--; if(xmaxx){ x=0; } } //Getters public int getX() { return x; } public int getY() { return y; } } ** CLASS MAIN ** /* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package Mover; import java.util.Scanner; import javax.swing.JOptionPane; /** * * @author Miguel Paredes */ public class Main { public static void main(String[] args) { int x,y,maxx,maxy; char tecla; Scanner input = new Scanner (System.in); maxx=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor maximo de la coordenada x: ")); maxy=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor maximo de la coordenada y: ")); x=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor inicial de la coordenada x: ")); y=Integer.parseInt(JOptionPane.showInputDialog("Digite el valor inicial de la coordenada y: ")); Mover movil1 = new Mover(x,y,maxx,maxy); do{ System.out.println("W para moverse arriba, S para moverse abajo, A para moverse" + " a la izquierda" + ", D para moverse a la derecha. Presione 'e' para salir" ); tecla=input.next().charAt(0); switch(tecla){ case 'w': movil1.up(); break; case 's': movil1.down(); break; case 'a': movil1.left(); break; case 'd': movil1.right(); break; } System.out.println("Coordenada actual ( "+movil1.getX()+" , "+movil1.getY()+" )"); } while(tecla!='e'); } }
@marcoencinas19653 жыл бұрын
Y si ese if que esta en el Main lo pongo dentro del constructor y desde ahi comparo si los lados son iguales entonces: if (lado1 == lado2) { this.lado1 = this.lado2 = lado1; } else { this.lado1 = lado1; this.lado2 = lado2; } ESTARÁ BIEN HACERLO ASI PORFAVOR ALGUIEN SAQUEME DE LA DUDA!
@camilogrisales97575 жыл бұрын
public class Movimiento { private int x=1; private int y=1; public void arriba() { if(x==1) { System.out.println("Esta en el limite superior, no podra moverse hacia arriba"); }else { x-=1; System.out.println("Se ha movido hacia arriba"); System.out.println("Su posicion es: ["+x+"]["+y+"]"); } } public void abajo() { if(x==5) { System.out.println("Esta en el limite inferior, no podra moverse hacia abajo"); }else { x+=1; System.out.println("Se ha movido hacia abajo"); System.out.println("Su posicion es: ["+x+"]["+y+"]"); } } public void derecha() { if(y==5) { System.out.println("Esta en el borde derecho, pruebe otra direccion"); }else { y+=1; System.out.println("Se ha movido hacia la derecha"); System.out.println("Su posicion es: ["+x+"]["+y+"]"); } } public void izquierda() { if(y==1) { System.out.println("Esta en el borde izquierdo, pruebe otra direccion"); }else { y-=1; System.out.println("Se ha movido hacia la izquierda"); System.out.println("Su posicion es: ["+x+"]["+y+"]"); } } public static void main(String[] args) { Movimiento ob = new Movimiento(); char opcion; boolean fin = false; JOptionPane.showMessageDialog(null, "En una tabla de 5x5, usted se encuentra en la posicion [1][1] Intente moverse"); while(fin == false) { opcion = JOptionPane.showInputDialog("Digite una opcion w. Mover arriba " + "s. Mover abajo " + "d. Mover derecha " + "a. Mover izquierda " + "e. Salir del programa").charAt(0); switch(opcion) { case 'w': ob.arriba(); break; case 's': ob.abajo(); break; case 'd': ob.derecha(); break; case 'a': ob.izquierda(); break; case 'e': fin = true; break; default: System.out.println("La opcion es erronea"); } } } }
@pierosebastiantorresartica30924 жыл бұрын
package paquete1; /** * * @author User */ public class Ejercicio2 { int movX; int movY; public Ejercicio2(int movX, int movY) { this.movX = movX; this.movY = movY; } } package paquete1; import javax.swing.JOptionPane; /** * * @author User */ public class Principal { public static void main(String[] args) { Ejercicio2 Objeto1; int accion; int posiX=0, posiY=0; do { accion = Integer.parseInt(JOptionPane.showInputDialog("Elija uno de los siguientes movimientos: " +"1.Arriba "+"2.Abajo "+"3.Derecha "+"4.Izquierda "+"5.Detenerse")); switch(accion) { case 1: Objeto1=new Ejercicio2(0,1); posiY+=Objeto1.movY; break; case 2: Objeto1=new Ejercicio2(0,1); posiY-=Objeto1.movY; break; case 3: Objeto1=new Ejercicio2(1,0); posiX+=Objeto1.movX; break; case 4: Objeto1=new Ejercicio2(1,0); posiX-=Objeto1.movX; break; case 5: break; default: JOptionPane.showMessageDialog(null, "Opción inválida, escoja un movimiento válido"); break; } JOptionPane.showMessageDialog(null, "La posición actual es: ("+posiX+", "+posiY+")"); } while(accion!=5); } }
@sebas_aristi2 жыл бұрын
Si puedes imaginarlo puedes programarlo :D
@alandanielpedrazamontes44015 жыл бұрын
Descance en paz grán heroe informático...
@DARIELEFRAINGARCIASILVA2 ай бұрын
buen video jaja lollolololooloo
@coffeebeans3012 Жыл бұрын
Ejercicio 1 (JavaScript) : class Cuadrilatero { constructor(lado1,lado2){ this.lado1 = lado1; this.lado2 = lado2; } get Perimetro(){ return 2*(lado1 + lado2); } get Area(){ return (lado1 * lado2); } } let lado1 = parseFloat(prompt("Ingrese lado 1 : ")); let lado2 = parseFloat(prompt("Ingrese lado 2 : ")); if (lado1 == lado2) { mostrar = new Cuadrilatero(lado1); } else { mostrar = new Cuadrilatero(lado1,lado2); } console.log("El perímetro es : " + mostrar.Perimetro + " y el área es : " + mostrar.Area);
@trshing60455 жыл бұрын
Ejercicio2 package EjerciciosATS; import javax.swing.JOptionPane; /** * * @author Lenny */ // P1 = X , P2 = Y ; public class Ejercicio2 { private int p1; private int p2; public Ejercicio2(int p1, int p2) { this.p1 = p1; this.p2 = p2; } public void getMovimientos(int movimientos) { while(movimientos!=0){ int mov = Integer.parseInt(JOptionPane.showInputDialog("A dónde desea moverse? Arriba = 1, Abajo = 2, Izquierda = 3, Derecha = 4")); if(mov == 1) p2 += 1; if(mov == 2) p2 -= 1; if(mov == 3) p1 -= 1; if(mov == 4) p1 += 1; movimientos--; } } public void mostrarResultados() { System.out.println("Coordenadas finales: ("+p1+","+p2+")"); } public static void main(String [] args){ int p1 = Integer.parseInt(JOptionPane.showInputDialog("Valor de la coordenada inicial x: ")); int p2 = Integer.parseInt(JOptionPane.showInputDialog("Valor de la coordenada inicial y: ")); Ejercicio2 x = new Ejercicio2(p1,p2); int movimientos = Integer.parseInt(JOptionPane.showInputDialog("Cantidad de movimientos: ")); x.getMovimientos(movimientos); x.mostrarResultados(); } }
@claudioflores27457 жыл бұрын
Muy bueno los videos, estoy siguiendolo para complementar mis estudios. Ahora una consulta referente a este ejercicio. Pasa que cuando arranco el programa, en la parte de ambos métodos no me resuelve la multiplicación. Es decir, el método de perímetro 2*(lado1+lado2), me hace solamente la suma (2.4) y en el método área (lado1*lado2) no hace nada y queda en 0.0, lo q se deduce a simple vista es q se salta la multiplicación. Alguien sabe ¿por qué?
@gonzalo60617 жыл бұрын
fijate que en el metodo constructor 2, tengas igualado this.lado1 = this.lado2 = lado1 porque sino solo te va a tomar el lado 1 el constructor, y en realidad tiene que tomar los dos como uno
@jonatantajada1475 Жыл бұрын
Ejercicio: //Atributos private int x; private int y; //Constructor public Tablero(int inicioX, int inicioY) { x = inicioX; y = inicioY; } //Metodos public void moverArriba() { y++; } public void moverAbajo() { y--; } public void moverIzquierda() { x--; } public void moverDerecha() { x++; } public void moverDerechaDoble() { x += 2; // Mueve dos posiciones a la derecha } public void mostrarPosicion() { System.out.println("Posicion actual: ("+ x + ", "+ y + ")"); } //main (desde otra clase)******** public class TableroMain { public static void main(String[] args) { Tablero tablero = new Tablero(0, 0);//posicion inicial en x=0 -- y=0 System.out.println("Posicion inicial: " ); tablero.mostrarPosicion(); System.out.println(); tablero.moverDerecha(); System.out.println("Movimiento a la derecha:"); tablero.mostrarPosicion(); System.out.println(); tablero.moverArriba(); System.out.println("Movimiento hacia arriba:"); tablero.mostrarPosicion(); System.out.println(); tablero.moverIzquierda(); System.out.println("Movimiento a la izquierda:"); tablero.mostrarPosicion(); System.out.println(); tablero.moverAbajo(); System.out.println("Movimiento hacia abajo:"); tablero.mostrarPosicion(); } }
@asumumifumurubenndong24645 жыл бұрын
PARECE como estas muxo mejor en UML que en java jajajajajajaj por que no nos haces un curso DE UML PORFAVOR!!!!!
@collinzuniga54104 жыл бұрын
Vi varios con el problema resuelto pero no eran comprensibles y no indicaban la posición ,así que hice el mio aprendiendo de los demás. public class Posicion { //atributos private int x; private int y; public Posicion(int x,int y) { this.x = x; this.y = y; } //Movr arriba public void Up() { y+=1; System.out.println("Movio hacía arriba"); System.out.println("Posición: (X ["+x+"],["+y+"] Y)"); } //mover abajo public void down() { y-=1; System.out.println("Posición: (X ["+x+"],["+y+"] Y)"); } //mover derecha public void right() { x+=1; System.out.println("Movio a la derecha"); System.out.println("Posición: (X ["+x+"],["+y+"] Y)"); } //mover izquierda public void left() { x-=1; System.out.println("Movio a la izquierda"); System.out.println("Posición: (X ["+x+"],["+y+"] Y)"); } public int getY() { return y; } public int getX() { return x; } } // clase main Posicion ob = new Posicion(0,0); char mov; do { mov = Character.toUpperCase(JOptionPane.showInputDialog("Ingrese posición: [W].Arriba [S].Abajo [D].Derecha [A].Izquierda [E].Salir ").charAt(0)); switch(mov) { case 'W': ob.Up(); System.out.println("Adelante"); break; case 'S': ob.down(); System.out.println("Atras"); break; case 'D': ob.right(); System.out.println("Derecha"); break; case 'A': ob.left(); System.out.println("Izquierda"); case 'E': System.out.println("Fin programa"); break; default: System.out.println("Comando no comprendido"); break; } }while(mov!='E'); } }
@jos1327 Жыл бұрын
yo no entendi nada :c, o sea yo al principio intentaba hacerlo tipo mostrar su punto pero no sabia como ya al final tambien hice como el tuyo
@Sancba4 жыл бұрын
Por si les sirve, el resultado de mi Ejercicio 2: /* Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero. */ package paquete1; import javax.swing.JOptionPane; public class Tablero { // Atributos private int ejeX; private int ejeY; // Método Constructor public Tablero(int x, int y){ this.ejeX = ejeX; this.ejeY = ejeY; } // Métodos public void arriba(){ ejeX += 1; System.out.println("Movimiento hacia arriba."); } public void abajo(){ ejeX -= 1; System.out.println("Movimiento hacia abajo."); } public void der(){ ejeY += 1; System.out.println("Movimiento hacia la dereccha."); } public void izq(){ ejeX -= 1; System.out.println("Movimiento hacia la izquierda."); } public int getEjeX() { return ejeX; } public int getEjeY() { return ejeY; } } public class Main { public static void main(String[] args){ Tablero move = new Tablero(0, 0); int ventana = 0; do{ String[] botones = {"ARRIBA", "ABAJO", "DERECHA", "IZQUIERDA", "SALIR"}; ventana = JOptionPane.showOptionDialog(null, "Elige un movimiento:", "Bienvenido", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, botones, botones[0]); switch(ventana){ case 0: move.arriba(); System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"]."); break; case 1: move.abajo(); System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"]."); break; case 2: move.der(); System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"]."); break; case 3: move.izq(); System.out.println("La posición actual es: ["+move.getEjeX()+"]["+move.getEjeY()+"]."); break; default: break; } }while(ventana
@rec4353 жыл бұрын
Hola tu programa esta bien solo te equivocaste al poner las direcciones de movimiento en los ejes: arriba ejeY += 1; abajo ejeY -= 1; derecha ejeX += 1; izquierda ejeX -= 1;
Aqui dejo mi aporte, clase Tablero: package ejercicio_71b; import java.util.Scanner; public class Tablero { Scanner entrada = new Scanner(System.in); int lado=0; int array [][]; int ejeX, ejeY; String mueve; public Tablero() { } public void creaTablero() { System.out.print("Cuantas casillas quieres que tenga el tablero?: "); lado = entrada.nextInt(); array = new int[lado][lado]; for (int i=0;i
@luisld206 жыл бұрын
Solución Ejercicio 2 package pck.prueba; public class Movimiento { private int posicionX; private int posicionY; private int ejeX; private int ejeY; public Movimiento(){ } public int getEjeX() { return ejeX; } public void setEjeX(int ejeX) { this.ejeX = ejeX; } public int getEjeY() { return ejeY; } public void setEjeY(int ejeY) { this.ejeY = ejeY; } public int getPosicionX() { return posicionX; } ---------------------------------------------------------------------------------------------------------------- package pck.prueba; import javax.swing.JOptionPane; public class juego { public static void mover(){ String movimiento = ""; Movimiento mov = new Movimiento(); do{ movimiento = JOptionPane.showInputDialog("Ingrese movimiento, A,W,S o D. R para salir"); switch(movimiento){ case "D": mov.setEjeX(+1); mov.setPosicionX(mov.getPosicionX()+1); System.out.println("Movimento hacia DERECHA "+mov.getPosicionX()+" "+mov.getPosicionY()); break; case "A": mov.setEjeX(-1); mov.setPosicionX(mov.getPosicionX()-1); System.out.println("Movimento hacia IZQUIERDA "+mov.getPosicionX()+" "+mov.getPosicionY()); break; case "W": mov.setEjeY(+1); mov.setPosicionY(mov.getPosicionY()+1); System.out.println("Movimento hacia ARRIBA "+mov.getPosicionX()+" "+mov.getPosicionY()); break; case "S": mov.setEjeY(-1); mov.setPosicionY(mov.getPosicionY()-1); System.out.println("Movimento hacia ABAJO "+mov.getPosicionX()+" "+mov.getPosicionY()); break; case "R": JOptionPane.showMessageDialog(null, "Adios vaquero!"); System.exit(0); default: JOptionPane.showMessageDialog(null, "Ingrese solo las letras AWSD o R en mayusculas"); } }while(movimiento !="R"); } public static void main(String[] args) { System.out.println("Para moverse utilize las teclas AWSD y R para salir"); System.out.println("Coordenadas de inicio X=0 y Y=0"); mover(); } }
@whitethediablo2 ай бұрын
Ejercicio 2: CLASE MAIN package bloquepoo2; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner data = new Scanner(System.in); int n,m,n2,m2; String movimiento; System.out.println("CREAR TABLERO."); System.out.print("Digite la cantidad de filas del tablero: "); n=data.nextInt(); System.out.print("Digite la cantidad de columnas del tablero: "); m=data.nextInt(); Tablero tablero = new Tablero(n,m); System.out.println(" EL TABLERO ES:"); tablero.crearTablero(); tablero.mostrarTableroInicial(); System.out.println(" INSERTAR FICHA EN EL TABLERO."); System.out.print("Digite la fila donde desea insertar la ficha: "); n2=data.nextInt(); tablero.setN2(n2); System.out.print("Digite la columna donde desea insertar la ficha: "); m2=data.nextInt(); tablero.setM2(m2); System.out.println(" TABLERO CON FICHA."); tablero.insertarFicha(); System.out.println(" REALIZAR MOVIMIENTO. (presione 0 para salir)"); data.nextLine(); do{ System.out.print("Digite el movimiento que desea que la ficha realice: "); movimiento=data.nextLine(); if(movimiento.equals("0")){ System.out.println(" Usted ha salido exitosamente del programa."); break; }else{ System.out.println(""); tablero.realizarMovimiento(movimiento); System.out.println(" (presione 0 para salir)"); } }while(!movimiento.equals("0")); data.close(); System.out.println(""); } } Ejercicio 2: CLASE TABLERO (donde estan los métodos y los atributos) package bloquepoo2; public class Tablero { //Atributos private int tablero[][]; private int n,m,n2,m2; //Tamaño tablero & posicionInicial private String movimiento; private int direccion; private int posicionPosterior; //Método constructor 1: (Posicion inicial) public Tablero(int n,int m){ this.n=n; this.m=m; } //Método constructor 2: (Movimiento del objeto) public Tablero(String movimiento){ this.movimiento=movimiento; } //Métodos accesores : Setters & Getters public int getN2() { return n2; } public void setN2(int n2) { this.n2 = n2; } public int getM2() { return m2; } public void setM2(int m2) { this.m2 = m2; } //Métodos normales public void crearTablero(){ tablero = new int[n][m]; for(int i=0;i
@diegogigena63503 жыл бұрын
De enserio ya no está?? Yo hoy conocí su canal, y me salvó de un trabajo...., solo quería decirte gracias
@-Luis_E2 жыл бұрын
package ejercicio2; public class Tablero { private int x=0; private int y=0; public Tablero(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public void setDerecha() { x++; this.x = x; } public void setIzquierda() { x--; this.x = x; } public int getY() { return y; } public void setAbajo() { y--; this.y = y; } public void setArriba() { y++; this.y = y; } } en la otra solapa Main package ejercicio2; /** Ejercicio2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posicion dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrara la nueva direccion elegida y las coordenadas de situacion del objeto dentro del tablero. */ import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner entrada =new Scanner(System.in); Tablero objeto=new Tablero(0,0); int movimiento = 0; while (movimiento !=5) { System.out.print("Ingrese el movimento a realizar, ARRIBA = 1, ABAJO = 2, DERECHA = 3, IZQUIERDA= 4, SALIR 5: "); movimiento = entrada.nextInt(); switch (movimiento){ case 1 : objeto.setArriba(); System.out.println("Arriba"); break; case 2: objeto.setAbajo(); System.out.println("Abajo"); break; case 3: objeto.setDerecha(); System.out.println("Derecha"); break; case 4: objeto.setIzquierda(); System.out.println("Izquierda"); break; case 5: System.out.println("Salir"); break; default: System.out.println("Numero incorrecto"); break; } System.out.println("La posicion el objeto es X: "+objeto.getX()+", Y: "+objeto.getY()); } } } comenten que le pareció , Saludos
@beatrizpacheco8293 жыл бұрын
package Ejercicio2; public class Posicion { //Atributos private int X; private int Y; //Metodos //Constructor public Posicion(int X, int Y){ this.X = X; this.Y = Y; } //Mover hacia arriba public void moverArriba(){ Y += 1; System.out.println("Direccion Arriba (" + X +","+ Y +")"); } //Mover hacia abajo public void moverAbajo(){ Y -= 1; System.out.println("Direccion Abajo ("+ X +","+ Y +")"); } //Mover hacia derecha public void moverDerecha(){ X += 1; System.out.println("Direccion Derecha ("+ X +","+ Y +")"); } //Mover hacia arriba public void moverIzquierda(){ X -= 1; System.out.println("Direccion Izquierda ("+ X +","+ Y +")"); } //Getter posicion X public int getEjeX(){ return X; } //Getter posicion Y public int getEjeY(){ return Y; } } ------------------------------------------------------------- en el Main ------------------------------------------------------------- package Ejercicio2; import javax.swing.JOptionPane; public class NewMain { public static void main(String[] args) { //Variable char proximoMov = '0'; //Crear objeto con cordenadas iniciales x=0, y=0 Posicion objeto = new Posicion(0,0); System.out.println("Posicion Inicial: ("+objeto.getEjeX()+","+objeto.getEjeY()+")"); while(proximoMov != 'E'){ //Identificar el proximo movimiento do { proximoMov = Character.toUpperCase(JOptionPane.showInputDialog("Ingrese el siguiente movimiento"+" "+"W-Adelante "+"S-Atras "+"A-Izquierda "+"D-Derecha "+"E-Salir ").charAt(0)); } while ((proximoMov !='W')&&(proximoMov !='A')&&(proximoMov !='S')&&(proximoMov !='D')&&(proximoMov !='E')); //Realizar el movimiento switch(proximoMov){ case 'W': objeto.moverArriba(); break; case 'S': objeto.moverAbajo(); break; case 'A': objeto.moverIzquierda(); break; case 'D': objeto.moverDerecha(); break; case 'E': System.out.println("Gracias por jugar!"); break; default: System.out.println("Movimiento no reconocido"); break; } } } }
@jorgematute13963 жыл бұрын
Mi solución del ejercicio 2: //Primera clase. package tablero; public class Tablero { private int ejeX; private int ejeY; public Tablero(int ejeX, int ejeY){ this.ejeX = ejeX; this.ejeY = ejeY; } public void moverArriba(){ System.out.println(" Su pieza estaba en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y."); this.ejeY -= 1; System.out.println(" Su pieza está en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y."); } public void moverAbajo(){ System.out.println(" Su pieza estaba en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y."); this.ejeY += 1; System.out.println(" Su pieza está en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y."); } public void moverIzquierda(){ System.out.println(" Su pieza estaba en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y."); this.ejeX -= 1; System.out.println(" Su pieza está en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y."); } public void moverDerecha(){ System.out.println(" Su pieza estaba en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza estaba en la posición: "+ejeY+" del eje Y."); this.ejeX += 1; System.out.println(" Su pieza está en la posición: "+ejeX+" del eje X."); System.out.println("Su pieza está en la posición: "+ejeY+" del eje Y."); } } //Segunda clase (main). package tablero; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner leer = new Scanner(System.in); int posicion; Tablero posicionPieza = new Tablero(4,4); for (int movimientos = 0; movimientos < 999; movimientos++) { do{ System.out.print(" Digite el número que indica la posición en que quiere moverse. ARRIBA -> 1 | ABAJO -> 2 | IZQUIERDA -> 3 | DERECHA ->4 Opción: "); posicion = leer.nextInt(); }while(posicion > 4 && posicion < 1); if (posicion == 4) posicionPieza.moverDerecha(); else if(posicion == 3) posicionPieza.moverIzquierda(); else if(posicion == 1) posicionPieza.moverArriba(); else if(posicion == 2) posicionPieza.moverAbajo(); } } }
@noeamador73084 жыл бұрын
//EJERCICIO #2 package pootablero; public class Tablero { private int ejex; private int ejey; public Tablero(int x, int y) { this.ejex = ejex; this.ejey = ejey; } public void haciaArriba(){ ejey=ejey+1; System.out.println("movimiento hacia arriba "); System.out.println("POSICION ACTUAL("+ejex+","+ejey+")"); } public void haciaAabajo(){ ejey-=1; System.out.println("movimiento hacia abajo "); System.out.println("POSICION ACTUAL ("+ejex+","+ejey+")"); } public void haciaIzquierda(){ ejex=ejex-1; System.out.println("movimiento hacia la Isquierda "); System.out.println("POSICION ACTUAL ("+ejex+","+ejey+")"); } public void haciaDerecha(){ ejex=ejex+1; System.out.println("movimiento hacia la derecha "); System.out.println("POSICION ACTUAL ("+ejex+","+ejey+")"); } public int getEjex() { return ejex; } public int getEjey() { return ejey; } } import java.util.Scanner; public class principal { public static void main(String[] args) { Scanner entrada=new Scanner(System.in); int movimiento =0; Tablero objeto=new Tablero(0,0); System.out.println("Posicion actual "+objeto.getEjex()+","+objeto.getEjex()); do{ System.out.println("Movimiento 8-Arriba 2-Abajo 4-Isquierda 6-Derecha 1-Salir"); movimiento=entrada.nextInt(); switch(movimiento){ case 8: objeto.haciaArriba();break; case 2: objeto.haciaAabajo();break; case 4:objeto.haciaIzquierda();break; case 6:objeto.haciaDerecha();break; case 1:return ; } }while(movimiento==8 || movimiento==2 || movimiento==4 ||movimiento==6||movimiento==1); } }
@syous9995 ай бұрын
/*Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero.*/ package POOEjercicios; /** * @author CarlosAVG */ public class Ejercicio02 { //Atributos private int f; private int c; //Metodos public Ejercicio02(int f, int c) { this.f = f; this.c = c; } //Movimientos public void setArriba() { this.f += -1; } public void setAbajo() { this.f += 1; } public void setIzquierda() { this.c += -1; } public void setDerecha() { this.c += 1; } public int getFila() { return this.f; } public int getColumna() { return this.c; } } ----------------------------------------------------------------------------------------- package POOEjercicios; import javax.swing.*; /** * @author CarlosAVG */ public class Main02 { public static void main(String[] args) { final int tablero[][] = new int[10][10]; Ejercicio02 ob1 = new Ejercicio02(0, 0); int op; //Llenado de la Matriz for (int f = 0; f < tablero.length; f++) { for (int c = 0; c < tablero.length; c++) { tablero[f][c] = 0; } } //Mostrar la matriz inciial System.out.println("Tablero sin ningun movimiento, inicias en la esquina superior izqueirda."); System.out.println(""); for (int f = 0; f < tablero.length; f++) { for (int c = 0; c < tablero.length; c++) { System.out.print(tablero[f][c] + " - "); } System.out.println(""); } //Movimientos do { op = Integer.parseInt(JOptionPane.showInputDialog(".: Bienvenido :. Opciones: 1. Arriba 2. Abajo 3. Izquierda 4. Derecha 5. Salida")); switch (op) { case 1: if (ob1.getFila() >= 0 && ob1.getFila() = 0 && ob1.getFila() = 0 && ob1.getColumna() = 0 && ob1.getColumna()
@coffeebeans3012 Жыл бұрын
Ejercicio 2 (Java) : // Ejercio 2 : // Atributos private int x; private int y; private int tablero; //Construtores public pooEjercicios(int x, int y, int tablero) { this.x = x; this.y = y; this.tablero = tablero; } //Métodos sin tipo de retorno public void getArriba(){ if (y>=0 && y0 && y=0 && x0 && x
@antoitoo016 жыл бұрын
He visto algunos ejemplos dados en este chat y hay una cosa que no entiendo... ¿No es un tablero un espacio delimitado? Todos los ejemplos que veo pueden mover el objeto toda la distancia que deseen, sin límite, es como si estuviera en un espacio infinito donde sólo puedes moverte en dos direcciones. Ni idea...
@guillermocotrinavelasquez33016 жыл бұрын
Para lo que hemos aprendido hasta ahora, creo que eso estaria bien. Ahora si tu puedes hacerlo en un tablero real, pues estas ya en nivel un poco mas elevado. Yo lo intentare a mi manera
@antoitoo016 жыл бұрын
Lo intenté, pero acabé resignandome a hacerlo sin tablero limitado, tal y como lo hicieron los demás compañeros.
@guillermocotrinavelasquez33016 жыл бұрын
Lo has intentado hacer con una matriz?
@antoitoo016 жыл бұрын
Si, pero creo que debía hacerlo con un array de objetos.
@thelinkdero2 жыл бұрын
Mi solución al Ejercicio 2 package Paquete1; public class Tablero { //Atributo Constantes private final char Arriba = 'w'; private final char Abajo = 's'; private final char Izquierda = 'a'; private final char Derecha= 'd'; private final char Arriba2 = 'W'; private final char Abajo2 = 'S'; private final char Izquierda2 = 'A'; private final char Derecha2 = 'D'; private final char Salir = 'Q'; private final char Salir2 = 'q'; public char getArriba() { return Arriba; } public char getAbajo() { return Abajo; } public char getIzquierda() { return Izquierda; } public char getDerecha() { return Derecha; } public char getArriba2() { return Arriba2; } public char getAbajo2() { return Abajo2; } public char getIzquierda2() { return Izquierda2; } public char getDerecha2() { return Derecha2; } public char getSalir() { return Salir; } public char getSalir2() { return Salir2; } } package Paquete1; import javax.swing.JOptionPane; public class Main { public static void main (String[] arg){ Tablero op = new Tablero (); op.getAbajo(); op.getAbajo2(); op.getArriba(); op.getArriba2(); op.getDerecha(); op.getDerecha2(); op.getIzquierda(); op.getIzquierda2(); op.getSalir(); op.getSalir2(); int x=0; int y=0; boolean salir = false; do{ char posición = JOptionPane.showInputDialog("Seleccione la alguna de las siguientes teclas W = Subir S = Bajar A = Izquierda D = Derecha Q = Salir").charAt(0); if (posición == op.getAbajo() || posición == op.getAbajo2()){ y--; System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]"); }else if (posición == op.getArriba() || posición == op.getArriba2()){ y++; System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]"); }else if (posición == op.getIzquierda() || posición == op.getIzquierda2()){ x--; System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]"); }else if (posición == op.getDerecha() || posición == op.getDerecha()){ x++; System.out.println("La posición cambio a: ["+x+"]"+"["+y+"]"); }else if (posición == op.getSalir() || posición == op.getSalir2()){ salir = true; }else { System.out.println("Bro, esa tecla no esta en el menu"); } } while (salir == false); } }
@frankneyra32334 жыл бұрын
Esta es mi solución, que muestra la dirección tomada (ARRIBA, ABAJO, IZQUIERDA, DERECHA) y las coordenadas (x,y), utilizo libreria Scanner y los numeros 8,2,4,6, como flechas de direccion. package tablero; public class logo { private String direccion; private int x=0,y=0; public void setDireccion(int direccion){ if (direccion == 8){ this.direccion = "Arriba"; } if (direccion == 2){ this.direccion = "Abajo"; } if (direccion == 4){ this.direccion = "Izquierda"; } if (direccion == 6){ this.direccion = "Derecha"; } } public int getsubirobajar(int ordenada){ y+=ordenada; return y; } public int getizquierdaoderecha(int abcisa){ x+=abcisa; return x; } public void posicionydireccion(){ System.out.println("La direccion es: " + direccion + " y las coordenadas son: " + "[ " + x + " ]" + "[ " + y + " ]"); } } package tablero; import java.util.Scanner; public class Logomain2 { public static void main(String[] args) { logo objeto = new logo(); Scanner teclado = new Scanner(System.in); int direccion, ordenada, abcisa; do{ System.out.println("A donde quiere moverse: "); direccion = teclado.nextInt(); if(direccion==8){ //direccion hacia arriba objeto.setDireccion(direccion); ordenada = 1; objeto.getsubirobajar(ordenada); objeto.posicionydireccion(); } else if(direccion==2){ //direccion hacia abajo objeto.setDireccion(direccion); ordenada=-1; objeto.getsubirobajar(ordenada); objeto.posicionydireccion(); } else if(direccion==4){ //direccion hacia la izquierda objeto.setDireccion(direccion); abcisa=-1; objeto.getizquierdaoderecha(abcisa); objeto.posicionydireccion(); } else if(direccion==6){ //direccion hacia la derecha objeto.setDireccion(direccion); abcisa=1; objeto.getizquierdaoderecha(abcisa); objeto.posicionydireccion(); } else{ // si presiona una tecla distinta de las indicadas , le dice que el movimiento no es posible y vuelve a preguntar a donde quiere moverse? System.out.println("El movimiento no es posible"); } }while((direccion>0&&direccion
@Ochins363 жыл бұрын
Ejercicio 2. public class Tablero { private int x; private int y; public Tablero(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public int arriba(int y) { return this.y += y; } public int abajo(int y) { return this.y -= y; } public int izquierda(int x) { return this.x -= x; } public int derecha(int x) { return this.x += x; } } Main public static void main(String[] args) { Scanner sc = new Scanner(System.in); out.print("Ingresa x: "); int x = sc.nextInt(); out.print("Ingresa y: "); int y = sc.nextInt(); Tablero tablero = new Tablero(x, y); boolean condicion = true; int movimiento = 0; bucle: do { out.println(""" *** Menú *** 1. Mover arriba 2. Mover abajo 3. Mover derecha 4. Mover izquierda 5. Salir """); out.print("Selecciona una opción ---> "); int opcion = sc.nextInt(); switch (opcion) { case 1,2,3,4 -> { out.print("Ingresa la cantidad de espacios a moverse: "); movimiento = sc.nextInt(); } case 5 -> { break bucle; } } switch (opcion) { case 1 -> tablero.arriba(movimiento); case 2 -> tablero.abajo(movimiento); case 3 -> tablero.derecha(movimiento); case 4 -> tablero.izquierda(movimiento); } out.println("Posición actual: x = " + tablero.getX() + ", y = " + tablero.getY()); } while (condicion); }
@Joel198796 жыл бұрын
package ejercicio2_Objetos; import java.util.Scanner; public class Ajedrez { // ATRIBUTOS private static int tablero[][];//HAGO EL TABLERO STATICO PARA QUE PUEDAS CREAR OTRA //FICHA Y PONERLO DENTRO DEL MISMO TABLERO private int tamañoTablero; final int pieza = 1; private int posicion_x; private int posicion_y; public Ajedrez() { // CONTRUCTOR PARA QUE EL USUARIO NOS DIGA DE QUE TAMAÑO QUIERE EL TABLERO Y NOS // DIGA EN QUE POSICION QUIERE LA PIEZA PARA EMPEZAR Scanner entrada = new Scanner(System.in); System.out.println("Tamaño del tablero....."); // SI EL NUMERO ES MEJOR QUE 2 NO PUEDE SER UN TABLERO Y HAGO QUE LO INTRODUZCA // OTRA VEZ do { System.out.print("Introduce el tamaño que quieres el tablero(debe ser mayor a 1): "); tamañoTablero = entrada.nextInt(); } while (tamañoTablero < 2); // LE DOY EL TAMAÑO AL TABLERO CON EL NUMERO INTRODUCIDO tablero = new int[tamañoTablero][tamañoTablero]; System.out.println("Ahora introduce una posiscion inicial para tu pieza..."); // SI LA POSICION SE SALE DE LAS MARGENES DE LA TABLA LE DIGO QUE LO VUELVA A // INTRODUCIR do { System.out.print("Introduce la coordenada 'x'"); posicion_x = entrada.nextInt(); } while (posicion_x < 0 || posicion_x > tamañoTablero - 1); // SI LA POSICION SE SALE DE LAS MARGENES DE LA TABLA LE DIGO QUE LO VUELVA A // INTRODUCIR do { System.out.print("Introduce la coordenada 'y'"); posicion_y = entrada.nextInt(); } while (posicion_y < 0 || posicion_y > tamañoTablero - 1); // IGUALO LA POSICION DE LA TABLA A LA PIEZA INTERPRETANDO QUE 1 ES LA PIEZA tablero[posicion_x][posicion_y] = pieza; entrada.close(); } public void arriba() { // SI LA PIEZA YA ESTA EN LA LINEA 0 NO PUEDE SUBIR MAS PORQUE SE SALDRIA DEL // ARREGLO if (posicion_x == 0) { System.out.println(""); System.out.println("No se puede ir mas arriba te vas a salir del tablero vaquero"); } else { tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA // DE DONDE ESTABA posicion_x = posicion_x - 1; tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION System.out.println(""); // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS // COORDENADAS Y ME ENSEÑE EL TABLERO getCoordenadas(); } } public void abajo() { // SI LA PIEZA YA ESTA EN LA ULTIMA LINEA NO PUEDE BAJAR MAS if (posicion_x == tamañoTablero - 1) { System.out.println(""); System.out.println("No se puede ir mas abajo te vas a salir del tablero vaquero"); } else { tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA // DE DONDE ESTABA posicion_x = posicion_x + 1; tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION System.out.println(""); // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS // COORDENADAS Y ME ENSEÑE EL TABLERO getCoordenadas(); } } public void derecha() { // SI LA PIEZA YA ESTA EN LA ULTIMA COLUMNA NO PUEDE IR MAS A LA DERECHA if (posicion_y == tamañoTablero - 1) { System.out.println(""); System.out.println("No se puede ir mas a la derecha, te vas a salir del tablero vaquero"); } else { tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA // DE DONDE ESTABA posicion_y = posicion_y + 1; tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION System.out.println(""); // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS // COORDENADAS Y ME ENSEÑE EL TABLERO getCoordenadas(); } } public void izquierda() { // SI LA PIEZA YA ESTA EN LA PRIMERA COLUMNA NO PUEDE IR MAS A LA IZQUIERDA O SE // SALDRIA DE LA TABLA if (posicion_y == 0) { System.out.println(""); System.out.println("No se puede ir mas a la izquierda, te vas a salir del tablero vaquero"); } else { tablero[posicion_x][posicion_y] = 0;// IGUALO LA POSICION ACTUAL DE LA PIEZA A 0 PARA QUE SE BORRE LA PIEZA // DE DONDE ESTABA posicion_y = posicion_y - 1; tablero[posicion_x][posicion_y] = pieza;// Y AHORA LA COLOCO EN SU NUEVA POSICION System.out.println(""); // LLAMO AL METODO QUE CREE MAS ABAJO PARA QUE AL MOVER LA PIEZA ME DE LAS // COORDENADAS Y ME ENSEÑE EL TABLERO getCoordenadas(); } } public void getCoordenadas() { // AQUI SOLO SACO EL MENSAJE CON LAS COORDENADAS Y IMPRIMO EL TABLERO(EL ARRAY) System.out.println("Estas es la coordenada x: " + posicion_x + " y esta la coordenada y: " + posicion_y); for (int i = 0; i < tamañoTablero; i++) { for (int j = 0; j < tamañoTablero; j++) { System.out.print(tablero[i][j]); } System.out.println(""); } } }
@Joel198796 жыл бұрын
He leido varios ejemplos despues de hacerlo y nadie crea un arry bidimensional para usarlo como tabla, en mi opnion creo que habria que crearlo para tener un tablero donde poder mover la pieza, si no hay tablero solo estas moviendo la pieza de un lado para otro sin sentido.Agradeceria que alguien pudiera corregir el mio y darme su opinion, muchas gracias.
@Joel198796 жыл бұрын
//Esta es la prueba bastante sencilla, creo el objeto y llamo a los metodos para moverlo package ejercicio2_Objetos; public class PruebaAjedrez { public static void main(String [] args) { Ajedrez ficha1=new Ajedrez(); ficha1.arriba(); ficha1.derecha(); ficha1.abajo(); ficha1.izquierda(); ficha1.izquierda(); } }
@BioDetermination7 жыл бұрын
Te recomiendo colocar como ejercicios propuestos temas de matemáticas discretas. Ejemplo: Un programa que imprima por pantalla el día de la semana a partir de la fecha ingresada. Pista: puedes usar la congruencia de Zeller para resolver.
@fernandogal1 Жыл бұрын
*Clase objeto* package Ejercicio2; public class Objeto { //Atributos private int posx; private int posy; //Metodos public void MoverDerecha() { posx +=1; } public void MoverIzquierda(){ posx -=1; } public int getPosx() { return posx; } public void MoverArriba(){ posy +=1; } public void MoverAbajo(){ posy -=1; } public int getPosy() { return posy; } } *Clase principal* package Ejercicio2; import javax.swing.JOptionPane; public class Main { public static void main(String []args){ Objeto objeto1 = new Objeto(); int opcion = 0; do { opcion = Integer.parseInt(JOptionPane.showInputDialog("Mueva el objeto: " + "1.-Mover arriba " + "2.-Mover abajo " + "3.-Mover a la izquierda " + "4.-Mover a la derecha " + "5.-Salir")); switch(opcion){ case 1: objeto1.MoverArriba(); System.out.println("Movimiento: Arriba"); System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")"); break; case 2: objeto1.MoverAbajo(); System.out.println("Movimiento: Abajo"); System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")"); break; case 3: objeto1.MoverIzquierda(); System.out.println("Movimiento: Izquierda"); System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")"); break; case 4: objeto1.MoverDerecha(); System.out.println("Movimiento: Derecha"); System.out.println("La nueva posicion es: ("+objeto1.getPosx()+" , "+objeto1.getPosy()+")"); break; case 5: break; default: System.out.println("Opcion no valida"); } } while (opcion != 5); } }
@ALFREDOOCHOA-k9f2 ай бұрын
jajaj q riko bideo
@TkValladares4 жыл бұрын
EJERCICIO 2 - Solucion Simple (Usando POO) public class Objeto { private int posicionX,posicionY; public Objeto(int posicionX, int posicionY) { this.posicionX = posicionX; this.posicionY = posicionY; } public int getPosicionX() { return posicionX; } public int getPosicionY() { return posicionY; } public void mover(char tecla) { switch(tecla) { case 'w': posicionY++;break; case 's': posicionY--;break; case 'a': posicionX--;break; case 'd': posicionX++;break; default : System.out.println(" Elija un movimiento!"); } } } --------------------------------------------------------Clase Principal(main)----------------------------------------------------------------- import java.util.Scanner; public class PrincipalMovimientoObjeto { public static void main(String [] args){ char tecla; Objeto o = new Objeto(0, 0); Scanner cin = new Scanner(System.in); System.out.println(" ***********Movimiento en Tablero - Salir(0)*********** "); System.out.println("Mover arriba(w) Mover Izquierda(a) Mover derecha(d) Mover abajo(s)"); System.out.print(" Ingrese Movimiento: "); tecla = cin.next().charAt(0); while(tecla!=0) { o.mover(tecla); if(tecla=='w')System.out.println(" Movimiemto hacia arriba"); if(tecla=='s')System.out.println(" Movimiemto hacia abajo"); if(tecla=='a')System.out.println(" Movimiemto hacia izquierda"); if(tecla=='d')System.out.println(" Movimiemto hacia derecha"); System.out.println("La posicion actual es: Objeto1("+o.getPosicionX()+","+o.getPosicionY()+")"); System.out.print(" Ingrese Movimiento: "); tecla = cin.next().charAt(0); } } }
@Carlosdev1232 жыл бұрын
Me gustó mucho tu codigo. Solo quería añadir una pequeña corrección en el while(tecla!=0) -> sería while(tecla!='o'), ya que tecla esta inicializada como char. así puedes salir del menu.
@cosmefulanito12245 жыл бұрын
Con su respectivo tablero o eso creo xD package clasesej2; public class Tablero { int x,y; public Tablero(int x, int y) { this.x = x; this.y = y;} public void arriba() { y++; System.out.println("Posición: "+x+","+y);} public void abajo() { y--; System.out.println("Posición: "+x+","+y);} public void derecha() { x++; System.out.println("Posición: "+x+","+y);} public void izquierda() { x--; System.out.println("Posición: "+x+","+y);} Clase principal Scanner teclado=new Scanner(System.in); char d; int x=0,y=0; Tablero peon=new Tablero(0,0); System.out.println("Empezemos a jugar"); System.out.println("Presiona O para salir del juego"); System.out.println("Presiona W para ir arriba Presiona S para ir abajo " + "Presiona A para ir a la izquierda Presiona D para ir a la derecha"); System.out.println("Comienzas en la posición 0,0"); do{d=teclado.next().charAt(0); switch(d){ case 'W': case 'w':if(y>=0 && y0 && y0 && x=0 && x
@kunashikun973 жыл бұрын
Despues de mucho pensar que no podia, les adjunto mi ejercicio 2 :D //MAIN /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package Main; import java.util.*; /** * * @author Stuart */ public class Main { //Metodo main public static void main(String[] args) { boolean Salida=false; int x,y,numero; String Movimiento; Scanner Leer = new Scanner(System.in); System.out.println("Este programa permitira dirigir el movimiento de un objeto dentro de un tablero"); System.out.println(" Actualizara su posicion dentro del mismo"); System.out.println(" Ingrese las coordenadas en x:"); x=Leer.nextInt(); System.out.println(" Ingrese las coordenas en y:"); y=Leer.nextInt(); System.out.println(" Los movimientos posibles son: "); System.out.println(" Arriba W"); System.out.println(" Abajo S"); System.out.println(" Izquierda A"); System.out.println(" Derecha D"); System.out.println(" Salir"); System.out.println("Ingrese su movimiento"); Movimiento=Leer.nextLine(); Tablero movimientos=new Tablero(x,y); do{ switch(Movimiento){ case "W": System.out.println("Cuantos espacios desea moverse arriba: "); numero=Leer.nextInt(); movimientos.moverArriba(numero); break; case "A": System.out.println("Cuantos espacios desea moverse abajo: "); numero=Leer.nextInt(); movimientos.moverAbajo(numero); break; case "S": System.out.println("Cuantos espacios desea moverse izquierda: "); numero=Leer.nextInt(); movimientos.moverIzquierda(numero); break; case "D": System.out.println("Cuantos espacios desea moverse derecha: "); numero=Leer.nextInt(); movimientos.moverDerecha(numero); break; default: System.out.println("No elegiste un movimiento valido"); break; } System.out.println("La posicion en (x/y) es: ("+movimientos.getX()+","+movimientos.getY()+")"); System.out.println(" Los movimientos posibles son: "); System.out.println(" Arriba W"); System.out.println(" Abajo S"); System.out.println(" Izquierda A"); System.out.println(" Derecha D"); System.out.println(" Salir"); System.out.println("Ingrese su movimiento"); Movimiento=Leer.nextLine(); if(Movimiento=="E"){ Salida=true; } }while(!Salida); } } Clase tablero /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package Main; /** * * @author Stuart */ public class Tablero { private int x; private int y; public Tablero(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public void moverArriba(int n) { this.y += n; } public void moverAbajo(int n) { this.y -= n; } public void moverIzquierda(int n) { this.x += n; } public void moverDerecha(int n) { this.x -= n; } public int getY() { return this.y; } }
@randoms83274 жыл бұрын
Así fue como lo hice :v veo el de los demás y creo que me compliqué demasiado XD ///ClaseTablero package ejercicio_dos; import javax.swing.JOptionPane; public class Tablero { private final String nomObjeto = "Shiva"; private final String carObjeto = "Destructor"; private int dañoObj = 10; private int coordenadaX, coordenadaY; String tablero[][]=new String[4][4]; public Tablero(int coordenadaX, int coordenadaY) { this.coordenadaX = coordenadaX; this.coordenadaY = coordenadaY; tablero[coordenadaX][coordenadaY] = getObjeto(); } public void setDaño(int dañoObj) { this.dañoObj = dañoObj; } public void leftCoordenadaX(){ if (coordenadaY!=0) { coordenadaY--; tablero[coordenadaX][coordenadaY]=getObjeto(); } else { JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared."); } } public void rigthCoordenadaX(){ if (coordenadaY==(tablero.length-1)) { JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared."); } else { coordenadaY++; tablero[coordenadaX][coordenadaY]=getObjeto(); } } public void upCoordenadaY(){ if (coordenadaX!=0) { coordenadaX--; tablero[coordenadaX][coordenadaY]=getObjeto(); } else { JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared."); } } public void downCoordenadaY(){ if (coordenadaX==(tablero.length-1)) { JOptionPane.showMessageDialog(null, "El objeto se ha encontrado con una pared."); } else { coordenadaX++; tablero[coordenadaX][coordenadaY]=getObjeto(); } } public String getObjeto() { return nomObjeto + ' ' + "Tipo: " + carObjeto + ' ' +"Daño: "+ dañoObj+" pts"; } public String toString(){ return "Personaje: " + getObjeto() + " Se encuentra en las coordenadas: "+ "["+(coordenadaX+1)+"]"+ "["+(coordenadaY+1)+"]"; } } /////Clase Main package ejercicio_dos; import javax.swing.JOptionPane; public class main { public static void main(String[] args) { int coordenadaX, coordenadaY, dañoObj; String opciones[] = {"Izquierda", "Arriba", "Abajo", "Derecha", "Salir"}; coordenadaX = Integer.parseInt(JOptionPane.showInputDialog("Ingresa la posición en X de tu héroe en un tablero de 4x4")); coordenadaY = Integer.parseInt(JOptionPane.showInputDialog("Ingresa la posición en Y de tu héroe en un tablero de 4x4")); coordenadaX--; coordenadaY--; Tablero obj = new Tablero(coordenadaX, coordenadaY); do { int seleccion = JOptionPane.showOptionDialog(null, "Mover hacia", "Mover", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, opciones, opciones[0]); switch (seleccion) { case 0: obj.leftCoordenadaX(); JOptionPane.showMessageDialog(null, obj.toString()); break; case 1: obj.upCoordenadaY(); JOptionPane.showMessageDialog(null, obj.toString()); break; case 2: obj.downCoordenadaY(); JOptionPane.showMessageDialog(null, obj.toString()); break; case 3: obj.rigthCoordenadaX(); JOptionPane.showMessageDialog(null, obj.toString()); break; default: System.exit(0); break; } } while (true); } }
@coolhatena58253 жыл бұрын
Ejercicio #2 Lo hice de manera en la que el tablero pudiera ser visto graficamente con una matriz /////////////////// Clase Main /////////////////// package paquete1; import javax.swing.JOptionPane; public class Main { public static void main(String [] args){ //Declaraciones int tablero[][] = new int[9][9]; Tablero t1 = new Tablero(); char opcion; String ulmov = ""; //Ejecucion tablero[t1.getVer()][t1.getHor()] = 1; for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { System.out.print(tablero[i][j]+" "); } System.out.println(""); } System.out.println(""); do { opcion = JOptionPane.showInputDialog("Posicion actual: ["+t1.getVer()+"]["+t1.getHor()+"] Ultimo movimiento: "+ulmov+" Elija alguna de las opciones: W = mover arriba S = mover abajo A = mover a la izquierda D = Mover a la derecha X = Salir").charAt(0); //Ir hacia arriba if ((opcion == 'w') || (opcion == 'W')) { tablero[t1.getVer()][t1.getHor()] = 0; t1.arriba(); tablero[t1.getVer()][t1.getHor()] = 1; ulmov = "Hacia arriba"; //Ir hacia abajo } else if ((opcion == 's') || (opcion == 'S')) { tablero[t1.getVer()][t1.getHor()] = 0; t1.abajo(); tablero[t1.getVer()][t1.getHor()] = 1; ulmov = "Hacia abajo"; //Ir hacia la derecha } else if ((opcion == 'd') || (opcion == 'D')) { tablero[t1.getVer()][t1.getHor()] = 0; t1.derecha(); tablero[t1.getVer()][t1.getHor()] = 1; ulmov = "Hacia la derecha"; } //Ir a la izquierda else if ((opcion == 'a') || (opcion == 'A')) { tablero[t1.getVer()][t1.getHor()] = 0; t1.izquierda(); tablero[t1.getVer()][t1.getHor()] = 1; ulmov = "Hacia la izquierda"; } for (int i = 0; i < 9; i++) { for (int j = 0; j < 9; j++) { System.out.print(tablero[i][j]+" "); } System.out.println(""); } System.out.println(" "); } while ((opcion != 'x') && (opcion != 'X')); } } /////////////////// Clase Tablero /////////////////// package paquete1; public class Tablero extends Main{ //atributos private int ver = 0,hor = 0; //metodos public Tablero() { } //Mover hacia arriba public int arriba(){ if (ver - 18) { System.out.println(" No es posible ir hacia abajo "); } else { ver = ver + 1; } return ver; } //Mover a la izquierda public int izquierda(){ if (hor-18) { System.out.println("No se puede ir a la derecha"); } else { hor = hor + 1; } return hor; } //Getters public int getHor() { return hor; } public int getVer() { return ver; } }
@morawill76466 жыл бұрын
/* Ejercicio 2: Construir un programa que permita dirigir el movimiento de un objeto dentro de un tablero y actualice su posición dentro del mismo. Los movimientos posibles son ARRIBA, ABAJO, IZQUIERDA y DERECHA. Tras cada movimiento el programa mostrará la nueva dirección elegida y las coordenadas de situación del objeto dentro del tablero. */ package paquete1; import javax.swing.JOptionPane; public class Clase { // Atributos int x=0; int y=0; char mov; // Metodos public int getXDerecha(){ int Derecha = x++; return Derecha; } public int getXIzquierda(){ int Izquierda = x--; return Izquierda; } public int getYArriba(){ int Arriba = y++; return Arriba; } public int getXAbajo(){ int Abajo = y--; return Abajo; } public void MostrarPosicion( char mov){ switch (mov) { case 'A': JOptionPane.showMessageDialog(null, "Se Desplazó hacia Arriba! Su nueva posicion es:: ("+x+" , "+y+")"); break; case 'B': JOptionPane.showMessageDialog(null, "Se Desplazó hacia Abajo! Su nueva posicion es:: ("+x+" , "+y+")"); break; case 'C': JOptionPane.showMessageDialog(null, "Se Desplazó hacia Izquierda! Su nueva posicion es:: ("+x+" , "+y+")"); break; case 'D': JOptionPane.showMessageDialog(null, "Se Desplazó hacia Derecha! Su nueva posicion es:: ("+x+" , "+y+")"); break; default: break; } } public static void main( String [] args){ Clase auto1 = new Clase(); char movimiento; do{ movimiento = JOptionPane.showInputDialog("¿ Hacia donde desea desplazarse ?" +" A = Arriba" +" B = ABajo" +" C = Izquierda" +" D = Derecha" +" E = Salir").charAt(0); switch(movimiento){ case 'A': auto1.getYArriba(); auto1.MostrarPosicion(movimiento); break; case 'B': auto1.getXAbajo(); auto1.MostrarPosicion(movimiento);break; case 'C': auto1.getXIzquierda(); auto1.MostrarPosicion(movimiento); break; case 'D': auto1.getXDerecha(); auto1.MostrarPosicion(movimiento);break; case 'E': JOptionPane.showMessageDialog(null, "ADIOS!!");;break; default: JOptionPane.showMessageDialog(null, "Opcion incorrecta!!"); } }while(movimiento != 'E'); } }
@arribaperu79543 жыл бұрын
Se puede comprar su curso 2021 ???
@roberthernandez-g7y9 ай бұрын
package POO.clase71.ejercicio; import java.io.IOException; public class Juego { private char objeto = '✖'; private int posicionX = 0; private int posicionY = 0; private char[][] tablero = new char[10][10]; private char arriba = 'w'; private char abajo = 's'; private char derecha = 'd'; private char izquierda = 'a'; boolean movimiento(char direccion) { boolean repeticion = true; char nuevaDireccion = Character.toLowerCase(direccion); switch (nuevaDireccion) { case 'w': posicionX--; if(posicionX < 0){ posicionX = 9; } generarTablero(); mostrarTablero(); limpiarPantalla(); repeticion = true; break; case 's': posicionX++; if(posicionX > 9){ posicionX = 0; } generarTablero(); mostrarTablero(); repeticion = true; break; case 'a': posicionY--; if (posicionY < 0){ posicionY = 9; } generarTablero(); mostrarTablero(); repeticion = true; break; case 'd': posicionY++; if (posicionY > 9){ posicionY = 0; } generarTablero(); mostrarTablero(); repeticion = true; break; default: System.out.println("movimiento invalido"); repeticion = false; break; } return repeticion; } public void limpiarPantalla(){ try { String sistemaOperativo = System.getProperty("os.name"); if (sistemaOperativo.contains("Windows")) { new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor(); } else { // Funciona en la mayoría de los sistemas Unix como Linux y macOS Runtime.getRuntime().exec("clear"); } } catch (IOException | InterruptedException e) { e.printStackTrace(); } } public void generarTablero(){ for (int i = 0; i < 10; i++) { for (int k = 0; k < 10; k++) { if (i == posicionX && k == posicionY){ tablero[i][k] = objeto; }else{ tablero[i][k] = '◻'; } } } } public void mostrarTablero(){ for (int i = 0; i < 10; i++) { for (int k = 0; k < 10; k++) { if (k == 9){ System.out.println(tablero[i][k]); }else{ System.out.print(tablero[i][k] + " "); } } } } } package POO.clase71.ejercicio; import java.util.Scanner; public class Main { private static Scanner cin = new Scanner(System.in); public static void main(String[] args) { Juego game = new Juego(); boolean repeticion = true; do{ System.out.print("ingrese w,s,a,d para moverse: "); char direccion = cin.next().charAt(0); repeticion = game.movimiento(direccion); }while(repeticion); System.out.println(" gracias por jugar"); } }