Recupera el Sistema de Comunicaciones
Guillermo DlToro.
EstudianteHimar Del rio plata
EstudianteJuan Castro
ProfesorLuis Carlos Zapata García
EstudianteJuan Castro
ProfesorDavid Prado
EstudianteFelipe Moreno
EstudianteBrayan Estiben Rodallega Saavedra
EstudianteAndrés Schuster
EstudianteVictor Baruch Pazaran Jaimes
EstudianteSantiago Quintero
EstudianteJosé Gerstner Javid
EstudianteJefferson Ramos
EstudianteCRISTIAN DARIO AGUDELO PORRAS
EstudianteHector Maluy Fernandez
EstudianteAndres Eduardo Maneiro Antunez
EstudianteBramucci Candela
EstudianteJuan Castro
ProfesorBramucci Candela
EstudianteCarlos Mauro Cárdenas Fernández
EstudianteJUAN CAMILO CAMPO TANGARIFE
EstudianteJuan Castro
ProfesorRamses Acosta
EstudianteJuan Castro
ProfesorDaniel Alberto Cifuentes Castro
EstudianteDaniel Alberto Cifuentes Castro
EstudianteMiguel Angel Avendaño Aguirre
EstudianteJavier Marin Ayza
EstudianteJuan Castro
ProfesorJavier Marin Ayza
EstudianteJorge Franco Herrera
EstudianteEntras al curso pensando que son puntos free al ver la introducción | Son ejercicios de js para resolver
Jajajaja
Esta clase puede ayudarles a resolver el problema: https://platzi.com/clases/2419-javascript-poo-intermedio/39821-instance-of-en-javascript-con-instancias-y-prototi/ :muscle:
Pase la prueba, pero no me deja ver la clase 3 :confused: .
Ya está disponible, Luis: https://platzi.com/clases/5943-secretos-javascript/58542-vulnerabilidades-del-sistema-de-navegacion/
Muchas gracias por star pendiente. :D
Que gran forma de probar lo aprendido!!.. super divertido Platzi!
export class Satelite { constructor({ name, }) { this.name = name; this.messages = []; } send({ from, to, text }) { if ( (from instanceof Astronaut) && (to instanceof SpaceStation) && (to.team.includes(from.name)) ) { this.messages.push({ from: from.name, to: to.name, text, }); } }
Listo, estuvo genial el desafío!🚀 +1
function ValidateAstronaut(astronaut) { if (astronaut instanceof Astronaut) { return true; } return false; } function ValidateStation(station) { if (station instanceof SpaceStation) { return true; } return false; } function VefifyIfAstronautIsInStation(astronaut, station) { if (station.team.includes(astronaut.name)) { return true; } return false; } export function simulacion({ satelite, estacion, astronauta, texto }) { satelite.send({ from: astronauta, to: estacion, text: texto, }); return satelite.messages; } export class Astronaut { constructor({ name }) { this.name = name; } } export class SpaceStation { constructor({ name }) { this.name = name; this.team = []; } addTeamMember(newMember) { if (newMember instanceof Astronaut) { this.team.push(newMember.name); } } } export class Satelite { constructor({ name }) { this.name = name; this.messages = []; } send({ from, to, text }) { if (!ValidateAstronaut(from)) { return []; } if (!ValidateStation(to)) { return []; } if (!VefifyIfAstronautIsInStation(from, to)) { return []; } this.messages.push({ from: from.name, to: to.name, text, }); } }
Interesante prueba, me gusta este tipo de cursos interactivos!
MI solución:
send({ from, to, text }) { if(from instanceof Astronaut && to instanceof SpaceStation &&to.team.includes(from.name)){ this.messages.push({ from: from.name, to: to.name, text, }); } }
Solo modifiqué el método send de la clase Satelite para que validara todos lo indicado
Me encantó esta temática!
Tip: Al hacer una condicional pueden "concatenar" varias condiciones con el operador && el cual pide que todas estas devuelvan true para que se cumpla la condicion, ejemplo:
if (condicion a && condicion b) { // Solo se ejecuta si a y b devuelven true }
Pueden tener 2 o más condiciones según lo vean conveniente. 👍
I feel good!!! 🎵🎵🎵
¡Lo resolví! Lo único que hice fue modificar el método send de la clase Satelite.
Mi Solucion . . . . . . . . . . . . . . . . .
Solo agregue una validacion en la clase Satelite
export class Satelite { constructor({ name, }) { this.name = name; this.messages = []; } send({ from, to, text }) { const isAstronaut = from instanceof Astronaut const isSatelite = to instanceof SpaceStation const isTeamMember = to.team.some(member => member === from.name) if (isSatelite && isAstronaut && isTeamMember) { this.messages.push({ from: from.name, to: to.name, text, }) } } }
Muy entretenido! Aunque sería genial que pudiéramos poner el código en pantalla completa.
Muchas gracias por el feedback. Aquí lo puedes encontrar en pantalla completa: https://jshero.platzi.com/e/js/secretosjs-01 Vamos a trabajar en la posibilidad de agregarlo en pantalla completa de forma más intuitiva. :D
Muchas gracias! Aviso que con el link puedo entrar al último challenge sin haberlo desbloqueado (creo que es un error, por que desde Platzi no puedo).
Tarda un poco poer si esta bueno voy a revisar como resolverlo.
Primera Fase completa!!! vamos Juan DC por a salvarte!! jajajaja
Yo qué? El Capitán DC puede parecerse a mí pero no soy yo disfrazado de astronauta. :P
hola, muy bueno el reto, pero que tecnologías, librerías, etc, usaron para implementar el sistema del reto? Como ejecuta el código en el Browser? Como se hicieron los test ?
Hola! ¿A alguien más le sale este error? Application error: a client-side exception has occurred (see the browser console for more information).
Ya funciona!
A MI, JUSTO HOY
Hola no se si entiendo bien en que consiste...
En guia hay 4 ejemplos para los 4 botones que hay en vista donde se pone lo que se va a introducir y la salida que queremos que ocurra. Es así?
Para esto hay que modificar el código del editor exercise.js
En vista estará lo cargado, es decir las matrices que tenemos en memoria (astronautas, estaciones espaciales y satelite) y tenemos los botones que nos arrojarán un resultado según las modificaciones hechas en exercise.js. Sigo bien?
Y supongo que correr pruebas será que cuando le demos al botón en la pestaña pruebas aparecerá si esta bien o no... si valida todo correcto pasamos el reto. Y sino supongo que arrojaría una pista de donde hay error.
Es que como veo que hay 3 intentos antes de toquetear quería asegurarme que entendí como va la cosa.
Gracias JuanDC
Esta fue mi solución pero no puedo correr las pruebas.