From 6a7be36f7ba620d589f0ef6f664f43be1361df83 Mon Sep 17 00:00:00 2001 From: Rafa Canosa Date: Tue, 13 Aug 2024 18:26:51 +0200 Subject: [PATCH 1/5] feat: create Rafacv23.js" --- .../javascript/Rafacv23.js" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" diff --git "a/Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" "b/Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" new file mode 100644 index 0000000000..0bc45a52de --- /dev/null +++ "b/Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" @@ -0,0 +1,16 @@ +// Importa el módulo readline para pedir datos por consola +const readline = require("readline") + +// Crea una interfaz para leer la entrada del usuario +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}) + +// Pregunta al usuario por su nombre +rl.question("¿Cuál es tu nombre? ", (nombre) => { + console.log(`Hola, ${nombre}!`) + + // Cierra la interfaz + rl.close() +}) From 14d13e41ea37448ff867ea6ed007f62f6fcf9ea7 Mon Sep 17 00:00:00 2001 From: Rafa Canosa Date: Wed, 14 Aug 2024 16:26:50 +0200 Subject: [PATCH 2/5] feat: create Rafacv23.js --- .../javascript/Rafacv23.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js diff --git a/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js b/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js new file mode 100644 index 0000000000..31f6a63f8f --- /dev/null +++ b/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js @@ -0,0 +1,19 @@ +/* + Creado por Rafa Canosa + Github: https://github.com/Rafacv23 + Website: https://www.rafacanosa.dev +*/ + +// Posibles casillas para el tablero de juego 6x6 + +const board = [ + ["🐭", "⬜", "⬛", "⬜", "⬜", "⬜"], + ["⬛", "⬜", "⬜", "⬜", "⬛", "⬜"], + ["⬛", "⬛", "⬛", "⬛", "⬛", "⬜"], + ["⬜", "⬜", "🚪", "⬛", "⬛", "⬜"], + ["⬜", "⬛", "⬛", "⬛", "⬜", "⬜"], + ["⬜", "⬜", "⬜", "⬜", "⬜", "⬛"], +] + +// Función para que el jugador pueda moverse +const playerMove = (input) => {} From 4c72f11850341ebc7b60c78b5d11c4c21a7cdde5 Mon Sep 17 00:00:00 2001 From: Rafa Canosa Date: Wed, 14 Aug 2024 16:39:29 +0200 Subject: [PATCH 3/5] =?UTF-8?q?mostramos=20el=20laberinto=20y=20la=20posic?= =?UTF-8?q?i=C3=B3n=20inicial=20del=20jugador?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript/Rafacv23.js | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js b/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js index 31f6a63f8f..b0f2668c74 100644 --- a/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js +++ b/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js @@ -15,5 +15,22 @@ const board = [ ["⬜", "⬜", "⬜", "⬜", "⬜", "⬛"], ] -// Función para que el jugador pueda moverse -const playerMove = (input) => {} +let position = { x: 0, y: 0 } // posicion del jugador + +function showLabyrinth() { + console.clear() + + for (let y = 0; y < board.length; y++) { + let row = "" + for (let x = 0; x < board[y].length; x++) { + if (x === position.x && y === position.y) { + row += "🐭" // representa al jugador + } else { + row += board[y][x] + } + } + console.log(row) + } +} + +showLabyrinth() From 2fda37a9a28539ec5e693923580bf3eb07c62e26 Mon Sep 17 00:00:00 2001 From: Rafa Canosa Date: Wed, 14 Aug 2024 17:01:03 +0200 Subject: [PATCH 4/5] =?UTF-8?q?update=20Rafacv23.js,=20creamos=20la=20func?= =?UTF-8?q?i=C3=B3n=20para=20mover=20al=20jugador=20y=20documentamos=20el?= =?UTF-8?q?=20c=C3=B3digo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../javascript/Rafacv23.js | 64 +++++++++++++++++-- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js b/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js index b0f2668c74..2a5a32a4fd 100644 --- a/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js +++ b/Roadmap/33 - RESCATANDO A MICKEY/javascript/Rafacv23.js @@ -1,13 +1,20 @@ +const readline = require("readline") // importamos para poder pedir al usuario inputs a través de la terminal. + +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, +}) + /* Creado por Rafa Canosa Github: https://github.com/Rafacv23 Website: https://www.rafacanosa.dev */ -// Posibles casillas para el tablero de juego 6x6 +// Creamos el tabler de juego de 6x6 const board = [ - ["🐭", "⬜", "⬛", "⬜", "⬜", "⬜"], + ["⬜", "⬜", "⬛", "⬜", "⬜", "⬜"], ["⬛", "⬜", "⬜", "⬜", "⬛", "⬜"], ["⬛", "⬛", "⬛", "⬛", "⬛", "⬜"], ["⬜", "⬜", "🚪", "⬛", "⬛", "⬜"], @@ -15,10 +22,15 @@ const board = [ ["⬜", "⬜", "⬜", "⬜", "⬜", "⬛"], ] -let position = { x: 0, y: 0 } // posicion del jugador +let position = { x: 0, y: 0 } // posicion del jugador, la posicion inicial siempre es 0,0 +// funcion encargada de pintar el tablero function showLabyrinth() { - console.clear() + console.clear() // limpiamos la consola antes de pintar el tablero + + console.log( + `Utiliza las teclas WASD para elegir la dirección a la que quieres moverte y después pulsa ENTER para confirmar. Presiona Crtl+C para salir del juego.` + ) for (let y = 0; y < board.length; y++) { let row = "" @@ -33,4 +45,48 @@ function showLabyrinth() { } } +// función encargada de mover al jugador a través del tablero y de verificar si se ha ganado. +function movePlayer(dir) { + const newPosition = { ...position } + + if (dir === "w") newPosition.y -= 1 // arriba + if (dir === "s") newPosition.y += 1 // abajo + if (dir === "a") newPosition.x -= 1 // izquierda + if (dir === "d") newPosition.x += 1 // derecha + + // Verificar que la nueva posición esté dentro de los límites del tablero + if ( + newPosition.x >= 0 && + newPosition.x < board[0].length && + newPosition.y >= 0 && + newPosition.y < board.length + ) { + // Verificar si la nueva posición es un muro + if (board[newPosition.y][newPosition.x] === "⬛") { + console.log( + `Mickey 🐭 se ha chocado contra un muro ⬛, prueba a moverte en otra dirección.` + ) + } else { + // Solo si la nueva posición no es un muro, actualiza la posición del jugador + position = newPosition + } + } else { + console.log( + `Mickey 🐭 no puede salir del tablero, prueba a moverte en otra dirección.` + ) + } + + if (board[position.y][position.x] === "🚪") { + console.log("Has ganado, Mickey 🐭 ha salido del laberinto.") + rl.close() + process.exit(0) + } + + showLabyrinth() +} + showLabyrinth() + +rl.on("line", (input) => { + movePlayer(input) +}) From 856b076e38e7aa852adf1afc2204d6c2b38b4f8f Mon Sep 17 00:00:00 2001 From: Rafa Canosa Date: Wed, 14 Aug 2024 17:04:37 +0200 Subject: [PATCH 5/5] chore: delete Rafacv23.js" --- .../javascript/Rafacv23.js" | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 "Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" diff --git "a/Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" "b/Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" deleted file mode 100644 index 0bc45a52de..0000000000 --- "a/Roadmap/31 - SIMULADOR JUEGOS OL\303\215MPICOS/javascript/Rafacv23.js" +++ /dev/null @@ -1,16 +0,0 @@ -// Importa el módulo readline para pedir datos por consola -const readline = require("readline") - -// Crea una interfaz para leer la entrada del usuario -const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, -}) - -// Pregunta al usuario por su nombre -rl.question("¿Cuál es tu nombre? ", (nombre) => { - console.log(`Hola, ${nombre}!`) - - // Cierra la interfaz - rl.close() -})