Commit c521fd32 by Pedro Rolon

Se agregaron archivos correspondientes a ejercicios faltantes

parent 26a09b9c
# Especificaciones # Especificaciones
* Los puntos del ejercicio que requerían métodos están desarrollados dentro del archivo **js-e007.js** * Los puntos del ejercicio que requerían métodos están desarrollados dentro del archivo **js-e007.js**
* Dentro del mismo archivo también se encuentran métodos necesarios para el control de los archivos **html**. Estos métodos y los requeridos por los ejercicios se encuentran separados en dos secciones, indicados mediante comentarios dentro del archivo. * Dentro del mismo archivo también se encuentran métodos necesarios para el control de los archivos **html**. Estos métodos y los requeridos por los ejercicios se encuentran separados en dos secciones, indicados mediante comentarios dentro del archivo.
* * Algunos archivos **html** tienen sus propios scripts, en la carpeta **js**, donde están copiados algunos códigos del **js** principal, más las funciones necesarias para dicho **html**
\ No newline at end of file * El archivo **galaxia.html** corresponde a los ejercicios **8** y **9**
* El archivo **abmPlaneta.html** corresponde a los ejercicios **10**, **11**, **12**
* El archivo **planetas.html** corresponde a los ejercicios **13**, **14** y **15**
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>ABM Planeta</title>
</head>
<body class="container">
<h1>ABM Planeta</h1>
<hr>
<div id="alta" class="col-md-3 panel panel-default">
<h3>Agregar planeta</h3>
<hr>
ID Planeta: <input type="text" id="idPlanetaAlta">
<br>
ID Galaxia: <input type="text" id = "idGalaxiaAlta">
<br>
Nombre: <input type="text" id="nombrePlanetaAlta">
<br>
URL foto: <input type="text" id="fotoPlanetaAlta">
<br>
<button onclick="alta()" class="btn btn-primary">Agregar</button>
</div>
<div class="col-md-1"></div>
<div id="baja" class="col-md-3 panel panel-default">
<h3>Eliminar planeta</h3>
<hr>
Planeta: <select id="selectBaja">
</select>
<br>
<button onclick="baja()" class="btn btn-primary">Eliminar</button>
</div>
<div class="col-md-1"></div>
<div id="modificacion" class="col-md-3 panel panel-default">
<h3>Modificar planeta</h3>
<br>
ID Planeta: <select id= "selectModificacion" onchange="cargarValoresModificacion()" id=>
</select>
<br>
Nombre: <input type="text" id="nombrePlanetaModificacion">
<br>
ID Galaxia: <input type="text" id="idGalaxiaModificacion">
<br>
<button class="btn btn-primary" onclick="modificacion()">Modificar</button>
</div>
<script src="js/abmPlanetas.js"></script>
</body>
</html>
\ No newline at end of file
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>Astrobootcamp004</title> <title>Astrobootcamp004</title>
</head> </head>
<!--Background is setting in js script-->
<body class="container"> <body class="container">
<h1> <h1>
Galaxia Galaxia
...@@ -16,11 +15,11 @@ ...@@ -16,11 +15,11 @@
<div class="row"> <div class="row">
<select id="galaxiaSelect"> <select id="galaxiaSelect">
</select> </select>
<div id="informacionGalaxia" class="row" hidden="hidden"> <div id="informacionGalaxia" class="row container" hidden="hidden">
<span>Lista de planetas</span> <span>Lista de planetas</span>
<ul id="listaPlanetas"> <ul id="listaPlanetas">
<li>Saturno</li> <li>Saturno</li>
...@@ -28,7 +27,6 @@ ...@@ -28,7 +27,6 @@
</div> </div>
<button onclick="seleccionar()">Seleccionar</button>
<button onclick="mostrarDetalleGalaxia()">Detalle</button> <button onclick="mostrarDetalleGalaxia()">Detalle</button>
<script src="js-e007.js"></script> <script src="js-e007.js"></script>
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>Galaxia</title>
</head>
<body class="container">
<h1>[nombre galaxia]</h1>
<hr>
<div id="informacion">
<span id="idGalaxia" class="col-md-2">idGalaxia</span>
<span id="tipoGalaxia" class="col-md-2">tipoGalaxia</span>
</div>
<div id="planetasGalaxia" class="col-md-2">
<ul>
<li>Saturno</li>
<li>Urano</li>
<li>Urano</li>
</ul>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<script src="main.js"></script>
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
</head>
<body>
</body>
</html>
\ No newline at end of file
...@@ -8,12 +8,110 @@ class Galaxia{ ...@@ -8,12 +8,110 @@ class Galaxia{
} }
class Planeta{ class Planeta{
constructor(planeta_id, galexia_id, nombre, fotos){ //1. Escribir un metodo que permita agregar un nuevo planeta
constructor(planeta_id, galaxia_id, nombre, fotos){
this.planeta_id = planeta_id; this.planeta_id = planeta_id;
this.galaxia_id = galexia_id; this.galaxia_id = galaxia_id;
this.nombre = nombre; this.nombre = nombre;
this.fotos = fotos; this.fotos = fotos;
} }
//1. Escribir un metodo que permita agregar un nuevo planeta
agregar(planetas){
planeta = new Planeta(this.idPlaneta, this.idGalaxia, this.nombrePlaneta, this.fotosPlaneta);
planetas.push(planeta);
}
//3. Escribir un metodo que permita actualizar los datos de un planeta
actualizar(nuevoIdGalaxia, nuevoNombrePlaneta, nuevoFotosPlaneta){
this.galaxia_id = nuevoIdGalaxia;
this.nombre = nuevoNombrePlaneta;
this.fotos = nuevoFotosPlaneta;
}
//6. Escribir un metodo que devuelva la lista de lunas del planeta
getLunas(lunasParametro){
let lunass = [];
for(i=0; i<lunasParametro.length; i++){
if(lunasParametro[i].planeta_id==this.planeta_id){
lunass.push(lunasParametro[i]);
console.log(lunasParametro[i].nombre);
}
}
return lunass;
}
//4. Escribir un metodo para calcular la distancia de un planeta en relacion al Sol
distanciaAlSol(){
var str = this.nombre.toLowerCase();
if(str=="mercurio"){
return 5791000000;
}
else if(str=="venus"){
return 1082000000;
}
else if(str=="tierra"){
return 1496000000;
}
else if(str=="marte"){
return 2279000000;
}
else if(str=="jupiter"){
return 7785000000;
}
else if(str=="saturno"){
return 1434000000000;
}
else if(str=="urano"){
return 2871000000000;
}
else if(str=="neptuno"){
return 4495000000000;
}
}
//5. Escribir un metodo para calcular la distancia de un planeta en relacion a la tierra
distanciaATierra(planeta){
var str = this.nombre.toLowerCase();
if(str=="mercurio"){
return 77000000;
}
else if(str=="venus"){
return 40000000;
}
else if(str=="tierra"){
return 0;
}
else if(str=="marte"){
return 59000000;
}
else if(str=="jupiter"){
return 594000000;
}
else if(str=="saturno"){
return 15000000000;
}
else if(str=="urano"){
return 2720000000;
}
else if(str=="neptuno"){
return 43000000000;
}
}
//7. Escribir un metodo que devuelva las fotografias del planeta
getFotografias(){
return this.fotos;
}
//2. Escribir un metodo que permita borrar un planeta
borrar(listaPlanetas){
for(i=0; i<listaPlanetas.length; i++){
if(listaPlanetas[i].planeta_id == this.planeta_id){
console.log("Se eliminó " + planetas[i].nombre);
listaPlanetas.splice(i,1);
}
}
}
} }
class Luna{ class Luna{
...@@ -46,7 +144,6 @@ function borrarPlaneta(idPlaneta){ ...@@ -46,7 +144,6 @@ function borrarPlaneta(idPlaneta){
if(planetas[i].planeta_id == idPlaneta){ if(planetas[i].planeta_id == idPlaneta){
console.log("Se eliminó " + planetas[i].nombre); console.log("Se eliminó " + planetas[i].nombre);
planetas.splice(i,1); planetas.splice(i,1);
} }
} }
} }
...@@ -56,23 +153,11 @@ function actualizarDatosPlaneta(idPlaneta, nuevoIdGalaxia, nuevoNombrePlaneta, n ...@@ -56,23 +153,11 @@ function actualizarDatosPlaneta(idPlaneta, nuevoIdGalaxia, nuevoNombrePlaneta, n
for(i=0; i<planetas.length; i++){ for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id == idPlaneta){ if(planetas[i].planeta_id == idPlaneta){
console.log("Se actualiza " + planetas[i].nombre); console.log("Se actualiza " + planetas[i].nombre);
planetas[i].galaxia_id = nuevoIdGalaxia; planetas[i].actualizar(nuevoIdGalaxia, nuevoNombrePlaneta, nuevoFotosPlaneta);
planetas[i].nombre = nuevoNombrePlaneta;
planetas[i].fotos = nuevoFotosPlaneta;
} }
} }
} }
//4. Escribir un metodo para calcular la distancia de un planeta en relacion al Sol
function distanciaPlanetaSol(){
}
//5. Escribir un metodo para calcular la distancia de un planeta en relacion a la tierra
function distanciaPlanetaATierra(){
}
//6. Escribir un metodo que devuelva la lista de lunas del planeta //6. Escribir un metodo que devuelva la lista de lunas del planeta
function lunasDe(idPlaneta){ function lunasDe(idPlaneta){
let lunasDePlaneta = []; let lunasDePlaneta = [];
...@@ -100,8 +185,10 @@ function fotografias(idPlaneta){ ...@@ -100,8 +185,10 @@ function fotografias(idPlaneta){
//Devuelve una lista de los planetas correspondientes al id de //Devuelve una lista de los planetas correspondientes al id de
//la galaxia recibida //la galaxia recibida
function planetasDe(idGalaxia){ function planetasDe(idGalaxia){
let planetasDeGalaxia = [];
for(i=0; i<galaxias.length; i++){ let planetasDeGalaxia = [];
for(i=0; i<planetas.length; i++){
if(planetas[i].galaxia_id==idGalaxia){ if(planetas[i].galaxia_id==idGalaxia){
planetasDeGalaxia.push(planetas[i]); planetasDeGalaxia.push(planetas[i]);
//console.log(planetas[i]); //console.log(planetas[i]);
...@@ -143,6 +230,7 @@ function crearDatos(){ ...@@ -143,6 +230,7 @@ function crearDatos(){
lunas.push(luna); lunas.push(luna);
luna = new Luna("Encelado", 2, ["https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Enceladusstripes_cassini.jpg/250px-Enceladusstripes_cassini.jpg", "https://static.scientificamerican.com/arabic/cache/file/531AF767-D9AC-4D9E-B13D2A5C98DEC186_source.jpg", "https://cdn.img.inosmi.ru/images/23704/25/237042551.jpg"]); luna = new Luna("Encelado", 2, ["https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Enceladusstripes_cassini.jpg/250px-Enceladusstripes_cassini.jpg", "https://static.scientificamerican.com/arabic/cache/file/531AF767-D9AC-4D9E-B13D2A5C98DEC186_source.jpg", "https://cdn.img.inosmi.ru/images/23704/25/237042551.jpg"]);
lunas.push(luna);
} }
crearDatos(); crearDatos();
...@@ -185,13 +273,4 @@ function mostrarDetalleGalaxia(){ ...@@ -185,13 +273,4 @@ function mostrarDetalleGalaxia(){
} }
document.getElementById("informacionGalaxia").removeAttribute("hidden"); document.getElementById("informacionGalaxia").removeAttribute("hidden");
} }
\ No newline at end of file
//Esta función tiene que cambiar los datos mostrados en el detalle
//y cambiar el background!
function seleccionar(){
console.log("haciendo todo lo que dice la descripcion que hace este método");
}
//Crear un mapeo de clases de los planetas con los siguiente estructura
class Galaxia{
constructor(galaxia_id, nombre, tipo_galaxia){
this.galaxia_id = galaxia_id;
this.nombre = nombre;
this.tipo_galaxia = tipo_galaxia;
}
}
class Planeta{
//1. Escribir un metodo que permita agregar un nuevo planeta
constructor(planeta_id, galaxia_id, nombre, fotos){
this.planeta_id = planeta_id;
this.galaxia_id = galaxia_id;
this.nombre = nombre;
this.fotos = fotos;
}
//3. Escribir un metodo que permita actualizar los datos de un planeta
actualizar(nuevoIdGalaxia, nuevoNombrePlaneta){
this.galaxia_id = nuevoIdGalaxia;
this.nombre = nuevoNombrePlaneta;
}
//6. Escribir un metodo que devuelva la lista de lunas del planeta
getLunas(lunasParametro){
let lunass = [];
for(i=0; i<lunasParametro.length; i++){
if(lunasParametro[i].planeta_id==this.planeta_id){
lunass.push(lunasParametro[i]);
console.log(lunasParametro[i].nombre);
}
}
return lunass;
}
//4. Escribir un metodo para calcular la distancia de un planeta en relacion al Sol
distanciaAlSol(){
var str = this.nombre.toLowerCase();
if(str=="mercurio"){
return 5791000000;
}
else if(str=="venus"){
return 1082000000;
}
else if(str=="tierra"){
return 1496000000;
}
else if(str=="marte"){
return 2279000000;
}
else if(str=="jupiter"){
return 7785000000;
}
else if(str=="saturno"){
return 1434000000000;
}
else if(str=="urano"){
return 2871000000000;
}
else if(str=="neptuno"){
return 4495000000000;
}
}
//5. Escribir un metodo para calcular la distancia de un planeta en relacion a la tierra
distanciaATierra(planeta){
var str = this.nombre.toLowerCase();
if(str=="mercurio"){
return 77000000;
}
else if(str=="venus"){
return 40000000;
}
else if(str=="tierra"){
return 0;
}
else if(str=="marte"){
return 59000000;
}
else if(str=="jupiter"){
return 594000000;
}
else if(str=="saturno"){
return 15000000000;
}
else if(str=="urano"){
return 2720000000;
}
else if(str=="neptuno"){
return 43000000000;
}
}
//7. Escribir un metodo que devuelva las fotografias del planeta
getFotografias(){
return this.fotos;
}
}
class Luna{
constructor(nombre, planeta_id, fotos){
this.nombre = nombre;
this.planeta_id = planeta_id;
this.fotos = fotos;
}
}
//Lista de Galaxias
let galaxias = [];
//Lista de Planetas
let planetas = [];
//Lista de Lunas
let lunas = [];
//1. Escribir un metodo que permita agregar un nuevo planeta
function agregarPlaneta(idPlaneta, idGalaxia, nombrePlaneta, fotosPlaneta){
planeta = new Planeta(idPlaneta, idGalaxia, nombrePlaneta, fotosPlaneta);
planetas.push(planeta);
}
//2. Escribir un metodo que permita borrar un planeta
function borrarPlaneta(idPlaneta){
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id == idPlaneta){
console.log("Se eliminó " + planetas[i].nombre);
planetas.splice(i,1);
}
}
}
//3. Escribir un metodo que permita actualizar los datos de un planeta
function actualizarDatosPlaneta(idPlaneta, nuevoIdGalaxia, nuevoNombrePlaneta, nuevoFotosPlaneta){
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id == idPlaneta){
console.log("Se actualiza " + planetas[i].nombre);
planetas[i].actualizar(nuevoIdGalaxia, nuevoNombrePlaneta);
}
}
}
//6. Escribir un metodo que devuelva la lista de lunas del planeta
function lunasDe(idPlaneta){
let lunasDePlaneta = [];
for(i=0; i<lunas.length; i++){
if(lunas[i].planeta_id==idPlaneta){
lunasDePlaneta.push(lunas[i]);
console.log(lunas[i].nombre);
}
}
return lunasDePlaneta;
}
//7. Escribir un metodo que devuelva las fotografias del planeta
function fotografias(idPlaneta){
let fotogafiasDePlaneta = [];
for(i=0; i<lunas.length; i++){
if(planetas[i].planeta_id==idPlaneta){
fotografiasDePlaneta.push(planetas[i].fotos);
console.log(planetas[i].fotos);
}
}
return fotografiasDePlaneta;
}
//Devuelve una lista de los planetas correspondientes al id de
//la galaxia recibida
function planetasDe(idGalaxia){
let planetasDeGalaxia = [];
for(i=0; i<planetas.length; i++){
if(planetas[i].galaxia_id==idGalaxia){
planetasDeGalaxia.push(planetas[i]);
//console.log(planetas[i]);
}
}
return planetasDeGalaxia;
}
function crearDatos(){
//Se añaden las galaxias
let galaxia = new Galaxia(1, "Via Lactea", "Espiral");
galaxias.push(galaxia);
galaxia = new Galaxia(2, "Nube de Magallanes", "Eliptica");
galaxias.push(galaxia);
galaxia = new Galaxia(3, "Sculptor", "Esferoidal");
galaxias.push(galaxia);
agregarPlaneta(1, 1, "Tierra", ["https://www.caracteristicas.co/wp-content/uploads/2017/02/planeta-tierra-min-e1487870067631.jpg", "http://www.bodecor.com/image/cache/data/productos/JUEGOSEDUCATIVOS/6883636513p-500x500.jpg", "https://i2.wp.com/www.4vientos.net/wp-content/uploads/2018/03/TIERRA-PLANETA-AMANECER-1.jpg?resize=800%2C439"]);
agregarPlaneta(2, 1, "Saturno", ["https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Saturn_during_Equinox.jpg/1200px-Saturn_during_Equinox.jpg","https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Saturn_during_Equinox.jpg/1200px-Saturn_during_Equinox.jpg", "https://www.meteorologiaenred.com/wp-content/uploads/2018/08/Atm%C3%B3sfera-de-Saturno.jpg"]);
agregarPlaneta(3, 2, "Krypton", ["https://www.ecured.cu/images/thumb/c/cf/Krypton_%28planeta%29.jpg/260px-Krypton_%28planeta%29.jpg", "https://vignette.wikia.nocookie.net/starwars/images/d/d6/Toydaria-TCW.png/revision/latest?cb=20130506235119", "https://vignette.wikia.nocookie.net/supergirl/images/b/b5/Planet_Krypton.png/revision/latest?cb=20171206023736&path-prefix=es"]);
agregarPlaneta(4, 3, "Cybertron", ["https://upload.wikimedia.org/wikipedia/en/2/2d/MovieCybertron.jpg", "https://vignette.wikia.nocookie.net/michaelbaystransformers/images/c/cf/Movie_Cybertron.jpg/revision/latest?cb=20151108163309", "https://www.meme-arsenal.com/memes/c559b3b9e3d0a90b3c267b0a611a5f61.jpg"]);
let luna = new Luna("Luna", 1, ["https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Full_Moon_Luc_Viatour.jpg/280px-Full_Moon_Luc_Viatour.jpg","https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Ganymede_g1_true_2.jpg/270px-Ganymede_g1_true_2.jpg","https://images2.corriereobjects.it/methode_image/2017/01/11/Scienze/Foto%20Scienze%20-%20Trattate/AFP_JQ6DS-0002-kUPG-U43270811099596WNF-1224x916@Corriere-Web-Sezioni-593x443.jpg?v=20170111154027"]);
lunas.push(luna);
luna = new Luna("Titan", 2, ["https://www.muyinteresante.com.mx/wp-content/uploads/2018/05/httpstved-prod.adobecqms.netcontentdameditorialTelevisamexicomuyinteresantemxjuniorespacio170220titan.imgo_-770x528.jpg","https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTLEUZwBd52os9ND0Zwo7dxvl2IkePZMPCKsBjuGE2XRi28I_1J","https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTUv60cmCb7ABSLqdRrQdOT2p8X1jZAqGbQQwzt5rxB5ZUxUqYh"]);
lunas.push(luna);
luna = new Luna("Encelado", 2, ["https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Enceladusstripes_cassini.jpg/250px-Enceladusstripes_cassini.jpg", "https://static.scientificamerican.com/arabic/cache/file/531AF767-D9AC-4D9E-B13D2A5C98DEC186_source.jpg", "https://cdn.img.inosmi.ru/images/23704/25/237042551.jpg"]);
lunas.push(luna);
}
crearDatos();
function cargarSelects(){
let planetaSelect = document.getElementById("selectBaja");
let selectModificacion = document.getElementById("selectModificacion");
while(planetaSelect.firstChild){
planetaSelect.removeChild(planetaSelect.firstChild);
selectModificacion.removeChild(selectModificacion.firstChild);
}
for(i=0; i<planetas.length; i++){
let option = document.createElement("option");
option.value = planetas[i].planeta_id;
option.innerHTML = planetas[i].nombre;
planetaSelect.appendChild(option);
let option2 = document.createElement("option");
option2.value = planetas[i].planeta_id;
option2.innerHTML = planetas[i].planeta_id;
selectModificacion.appendChild(option2);
}
}
cargarSelects();
function alta(){
let idPlaneta = document.getElementById("idPlanetaAlta").value;
let idGalaxia = document.getElementById("idGalaxiaAlta").value;
let nombrePlaneta = document.getElementById("nombrePlanetaAlta").value;
let fotoPlaneta = document.getElementById("fotoPlanetaAlta").value;
if(idPlaneta==""||idGalaxia==""||nombrePlaneta==""||fotoPlaneta==""){
alert("algún campo está vacío y eso no puede ser che memby");
return;
}
agregarPlaneta(idPlaneta, idGalaxia, nombrePlaneta, [fotoPlaneta]);
console.log(nombrePlaneta + " agregado!");
cargarSelects();
}
function baja(){
var planetaSelect = document.getElementById("selectBaja");
var idPlaneta = planetaSelect.options[planetaSelect.selectedIndex].value;
borrarPlaneta(idPlaneta);
console.log("se borró exitosamente mi gente");
console.log(planetas.length);
cargarSelects();
}
function modificacion(){
var planetaSelect = document.getElementById("selectModificacion");
var idPlaneta = planetaSelect.options[planetaSelect.selectedIndex].value;
var nuevoNombrePlaneta = document.getElementById("nombrePlanetaModificacion");
var nuevoIdGalaxia = document.getElementById("idGalaxiaModificacion");
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id==idPlaneta){
planetas[i].actualizar(nuevoIdGalaxia, nuevoNombrePlaneta);
}
}
cargarSelects();
console.log("ejecutando funcion modificacion()");
}
function cargarValoresModificacion(){
var selectPlaneta = document.getElementById("selectModificacion");
var idPlaneta = selectPlaneta.options[selectPlaneta.selectedIndex].value;
var nombrePlaneta;
var idGalaxia;
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id==idPlaneta){
nombrePlaneta = planetas[i].nombre;
idGalaxia = planetas[i].galaxia_id;
}
}
document.getElementById("nombrePlanetaModificacion").value=nombrePlaneta;
document.getElementById("idGalaxiaModificacion").value=idGalaxia;
}
\ No newline at end of file
//Crear un mapeo de clases de los planetas con los siguiente estructura
class Galaxia{
constructor(galaxia_id, nombre, tipo_galaxia){
this.galaxia_id = galaxia_id;
this.nombre = nombre;
this.tipo_galaxia = tipo_galaxia;
}
}
class Planeta{
//1. Escribir un metodo que permita agregar un nuevo planeta
constructor(planeta_id, galaxia_id, nombre, fotos){
this.planeta_id = planeta_id;
this.galaxia_id = galaxia_id;
this.nombre = nombre;
this.fotos = fotos;
}
//1. Escribir un metodo que permita agregar un nuevo planeta
agregar(planetas){
planeta = new Planeta(this.idPlaneta, this.idGalaxia, this.nombrePlaneta, this.fotosPlaneta);
planetas.push(planeta);
}
//3. Escribir un metodo que permita actualizar los datos de un planeta
actualizar(nuevoIdGalaxia, nuevoNombrePlaneta, nuevoFotosPlaneta){
this.galaxia_id = nuevoIdGalaxia;
this.nombre = nuevoNombrePlaneta;
this.fotos = nuevoFotosPlaneta;
}
//6. Escribir un metodo que devuelva la lista de lunas del planeta
getLunas(lunasParametro){
let lunass = [];
for(i=0; i<lunasParametro.length; i++){
if(lunasParametro[i].planeta_id==this.planeta_id){
lunass.push(lunasParametro[i]);
console.log(lunasParametro[i].nombre);
}
}
return lunass;
}
//4. Escribir un metodo para calcular la distancia de un planeta en relacion al Sol
distanciaAlSol(){
var str = this.nombre.toLowerCase();
if(str=="mercurio"){
return 5791000000;
}
else if(str=="venus"){
return 1082000000;
}
else if(str=="tierra"){
return 1496000000;
}
else if(str=="marte"){
return 2279000000;
}
else if(str=="jupiter"){
return 7785000000;
}
else if(str=="saturno"){
return 1434000000000;
}
else if(str=="urano"){
return 2871000000000;
}
else if(str=="neptuno"){
return 4495000000000;
}
}
//5. Escribir un metodo para calcular la distancia de un planeta en relacion a la tierra
distanciaATierra(planeta){
var str = this.nombre.toLowerCase();
if(str=="mercurio"){
return 77000000;
}
else if(str=="venus"){
return 40000000;
}
else if(str=="tierra"){
return 0;
}
else if(str=="marte"){
return 59000000;
}
else if(str=="jupiter"){
return 594000000;
}
else if(str=="saturno"){
return 15000000000;
}
else if(str=="urano"){
return 2720000000;
}
else if(str=="neptuno"){
return 43000000000;
}
}
//7. Escribir un metodo que devuelva las fotografias del planeta
getFotografias(){
return this.fotos;
}
//2. Escribir un metodo que permita borrar un planeta
borrar(listaPlanetas){
for(i=0; i<listaPlanetas.length; i++){
if(listaPlanetas[i].planeta_id == this.planeta_id){
console.log("Se eliminó " + planetas[i].nombre);
listaPlanetas.splice(i,1);
}
}
}
}
class Luna{
constructor(nombre, planeta_id, fotos){
this.nombre = nombre;
this.planeta_id = planeta_id;
this.fotos = fotos;
}
}
//Lista de Galaxias
let galaxias = [];
//Lista de Planetas
let planetas = [];
//Lista de Lunas
let lunas = [];
//1. Escribir un metodo que permita agregar un nuevo planeta
function agregarPlaneta(idPlaneta, idGalaxia, nombrePlaneta, fotosPlaneta){
planeta = new Planeta(idPlaneta, idGalaxia, nombrePlaneta, fotosPlaneta);
planetas.push(planeta);
}
//2. Escribir un metodo que permita borrar un planeta
function borrarPlaneta(idPlaneta){
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id == idPlaneta){
console.log("Se eliminó " + planetas[i].nombre);
planetas.splice(i,1);
}
}
}
//3. Escribir un metodo que permita actualizar los datos de un planeta
function actualizarDatosPlaneta(idPlaneta, nuevoIdGalaxia, nuevoNombrePlaneta, nuevoFotosPlaneta){
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id == idPlaneta){
console.log("Se actualiza " + planetas[i].nombre);
planetas[i].actualizar(nuevoIdGalaxia, nuevoNombrePlaneta, nuevoFotosPlaneta);
}
}
}
//6. Escribir un metodo que devuelva la lista de lunas del planeta
function lunasDe(idPlaneta){
let lunasDePlaneta = [];
for(i=0; i<lunas.length; i++){
if(lunas[i].planeta_id==idPlaneta){
lunasDePlaneta.push(lunas[i]);
console.log(lunas[i].nombre);
}
}
return lunasDePlaneta;
}
//7. Escribir un metodo que devuelva las fotografias del planeta
function fotografias(idPlaneta){
let fotogafiasDePlaneta = [];
for(i=0; i<lunas.length; i++){
if(planetas[i].planeta_id==idPlaneta){
fotografiasDePlaneta.push(planetas[i].fotos);
console.log(planetas[i].fotos);
}
}
return fotografiasDePlaneta;
}
//Devuelve una lista de los planetas correspondientes al id de
//la galaxia recibida
function planetasDe(idGalaxia){
let planetasDeGalaxia = [];
for(i=0; i<planetas.length; i++){
if(planetas[i].galaxia_id==idGalaxia){
planetasDeGalaxia.push(planetas[i]);
//console.log(planetas[i]);
}
}
return planetasDeGalaxia;
}
function crearDatos(){
//Se añaden las galaxias
let galaxia = new Galaxia(1, "Via Lactea", "Espiral");
galaxias.push(galaxia);
galaxia = new Galaxia(2, "Nube de Magallanes", "Eliptica");
galaxias.push(galaxia);
galaxia = new Galaxia(3, "Sculptor", "Esferoidal");
galaxias.push(galaxia);
agregarPlaneta(1, 1, "Tierra", ["https://www.caracteristicas.co/wp-content/uploads/2017/02/planeta-tierra-min-e1487870067631.jpg", "http://www.bodecor.com/image/cache/data/productos/JUEGOSEDUCATIVOS/6883636513p-500x500.jpg", "https://i2.wp.com/www.4vientos.net/wp-content/uploads/2018/03/TIERRA-PLANETA-AMANECER-1.jpg?resize=800%2C439"]);
agregarPlaneta(2, 1, "Saturno", ["https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Saturn_during_Equinox.jpg/1200px-Saturn_during_Equinox.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAQDQ4OEBAQEA4SDQ0NFw4VDQ8PEA0RFREWFhcdFh8kKCksJCYpGxUVIjEtJSorLi4uFyEzODMsNygtLisBCgoKDg0OGhAQGisfHx0rLS0tLS0tOC0rLSstOC01LSstLTgtLSstKy04LS0tLS0tLS0rLSstLS0tLS0tLS0tLf/AABEIAM0A9QMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAAAwQFBgcCAQj/xABLEAABAwIBCQQFBwgJBAMAAAABAAIDBBEFBhIhMUFRYXGBEyKRoQcyUrHBIzNCYnLR8BRDU4KSk+HxJDREY4OUorLCFVSE0hYXc//EABkBAAMBAQEAAAAAAAAAAAAAAAABAgMEBf/EACARAQEAAgIDAQEBAQAAAAAAAAABAhESIQMxQVFxYQT/2gAMAwEAAhEDEQA/AKD/APX0v/dU/wCzP/6pN3o+qNlRSnrUD/gtb/Jx7bP3rPvR2A9tn71n3p6LbH35BVY1PpncqjN94CbPyKrxqha/7FRA/wAgbrafyQHaw/4kZ+K5OH3+iHdGO9yBthlRk5Wx6X0s449i5w8lHTQPYbPa5p3OaWnzX0EcOLdTC3iA9nmLJN9MToJcRuJzr+IKQfPiFuFVk7TyXz6aB3HsAxx6tsVD1eQVG71WSRcWTkjweD/uQGToV9rPR0RcxVH6ssJb4lpcFC1eRlczVEJhvikbIT01+SDVxCWqKd8bs2RjmO9lzSw+BSKAEIQgBCEIAQhCAEIQgBCEIAQhCAEIQgBCEIAQhCAEIQgN9b6NaL6U9c//AB42/Bdj0bYd7dZ/mh9ythk4LztlPOnxVQ+jeg2S1zeIqmf+q5Po6px6lbiDP8WN/wAArb2xR2yOdHFURkPUN+ZxepbwfAx3mDdBwDGWepiNNNwkhkaT1IIVuE3ALoS8PNHOlxUt7Mbj9aipKkb4qhgcfEt9yby5QyRf1rC62D67YzIwdbEK+iQLtk1tTiOtk+Y4qFTZTYdKbCo7N3syMMZ/HRSbKeOUXY+OXi17Hn71Ya3D4JwRNBBMPrwxuJ62v5qAqsgMOec6Nk1K/XnQVD2BvIG4T5Ylo3qcPuMx4zm6sx4EjbciD5WVexDIujkv8iI3e1E4wkdDnN8lY25LV8P9XxMyM/R1EId5i9/Jcvkr4f6xQiVv6WnfndbfwCqY79VNy17ZxiPo8e25hnafqysMR/aFwetlWcRyfqqfTLC9rP0gGfH+0LhbTBi1JIc3tDDJe3ZzNMRvuvqKdOoTbObqt67HaCOY0JWWHMpXzwhbRieS1LPcyQMztfaMHYyX33Gg9Qqjifo+c25p5Qf7uUZh6PGg9c1I9qKhPsRwqopnWnifHuJHddyI0HoUxQYQhCAEIQgBCEIAQhCAEIQgBCEIAQhCA+lZKp4Fyc0bzZg8SmE2Nwt9apiHDtc4+QWT1NdI83e/TruSXnzTZ028uPklMVNWflTSj+0X5RylJnK6l/Sv/dSLKTMPwSVwZ27gnwDWm5XUv6Z4/wAKROqbKSB/qT3/AFJB7wszwnCTLZ722brzbWJ5q20dFmgBrbDcNCfCT2i5fi3x4lfU9h6j42Thlad1+WlViOF24pwxhGz4KLxLlfxZGVw23CWZVg6nKute7e4cL38koJXbx1FvMKelclkbNySjZOirbal7fonm1wPkbe8peLFBexcL+y4Zh87I/h7iYrKOGcZs0UcotbvNDj461CS5IxtOfSTz0j9eaHdrEeYOxSDK0bbjbfenUdQDqN+CqZ5QrhjVZnbiEA+WpmVkQ/PQG0oG8t1+9JUmJ0s5LWSZkmoxSDsng7tKuLZeia4nhNNVC1RCyU20Ptmyt5OGkKucvtHGz0rlTh/dLSO44aW5odG8cQbghVPF8hqaW5Y0wP3x95l+LCf9pHJXCXJiqguaGqz2a/yWo7wPAP8AvA5qOlx0QuEdfTyUbybdpbPgfyI0W5Eqtfg5frK8WyQqoM5wb20Q/ORXfmj6zdY6i3FV5fQoga9okjc17NYkY69uo0hQGNZL09TcyR9/9My0ct952O/WF+IUq2xlCteM5E1EN3Q/0iMabNGbKwcWazzbdVZzbGx13tbbdBuUIQgBCEIAQhCAEIQgBCEICXfU7vG/xTWSr4pq95K4T2dpd1QT/NW3JPJ90hbNKNGtrSPMqLyVwft5c9w+TaRoOp7ty1agprAWCLlxm0Xd6d0VA0AaPJSkVM3cvYIU9iiXJnnarHGRwykZu80q2iYd6cMjS7Y1jcr+tNQyOHjYR4Lh+GnYPNSrY0oI1HPJWor76EjZbpZJvpiRYi43EXCs2Yk30zTs6jQnPLYXGVVDRBvqF8fBpuzq03HkvO0mZra2Ub2Hs3+BuD0IVklw4HV4HQmc1CRs/HNa4+dNwR9NiwJzM6zv0b2mOToDr6EqSirBt7pUfU0gcM17A5u4tuEzNJIz5mTR+ikvIzodY6E8ltM5U9xaGTX48V1I1kjCx7WyRkWMb2h7XDiDoVVixXszmytdA69rk58L+ThoH6wCmIa7Vnbr5w0gq/4Oqh6zIdjHGbDp30U2vsrmSmedxGsdLjgoyfGJ6VwjxSmMQJsKyIdpBJxJGgdbHgrzFNcbxvSxs9rmEBzHCxY4BzXDcQdBVTP9LiqLY45WCSJ7ZGa89pvm/EFQeOZNwVIJlj79vnmWZMOZ1O/W8VO4hkQ1jzPhsxop9fY3LqaU7ra29Ljgov8A68+GQU2JwGlmOhs4bnQTcQRoPTwV+/RMzxvI+op857Pl4RpL2tIewfXbrHMXHFVtfQctNcNe0gt1tkabjoR7lVcfyRgqLvt2M2vtmN7rj/eMGvm2x4FIbZMhSmM4JPSuAlZ3Ce7K050b+R+B0qLQYQhXn0cYVE4yVszGvZFJHE0OaJGMkcCc9zToNtAAOgl2o2Tk3Qq0WDVT4+1ZTVDo7X7RtPK5lt9wLWTAiy37GJ81ge6seZZBJY5zGuZGDqGkBpJFhnW4LOssqKGWnFZGCJWOayXOI7SXOJ0utrsdF9Bta99BVXHrZbUVCEKDCVgiL3tY31nODQOJSSs2RFB2lQZCNDBYfaP8PenBV5ybwwRRMYBqGvedpVqpoU1oILAKYgjXN5MrRjCkMSeRxrmJidsC5smkcsjSrY0owJULGrkJhi7ASoaF1mqbarRIBdAJQMQWJchomWrkxpbNXie4WqZS0jTstxUfUYfuU4QuHMVzKz0Sqz02ggi4taxFwVEOw90ZJp39npuYXAvgf02cx4K8TQB2sdVF1dB4b1vh5kZYfiv0uM5rxHMDTy6gC68Un2XfAqdhrdjtB37CFFV1IHNLHtD2HYRf8e9Q/Zz02mEmaC9+wcbvZ9g6+mvmuuWZM969r4ya/LeuaylinidDNGyaF2uN7c5vPgeI0qt4RjTJR8m7TrMTvXbbXo29OoU5TVYdqNjuujuH7VOryWqqEmbDHmeD1nYfI7Odb+7J0HkdPNc4VjUFXdgvBUtOa6mf3XB20C/uKvTJAVDZSZLU9cM594qoCzKtgtK3cHe0OB0q5lv2mxBVlECHMc0FrtDo3NzmP+0PiNKoGUGRBBMlHfVnGmc67rbTGTrHA6eauDsSqaCRlNibM+InNjr2DOY8bLnfwOkKXlp2uaHtIfG7SHg3aeuw+aeiYC9haSCCCCQQRYgjXdaH6KqiF4mo32E7pY5owS4CZua5sjNFtI7rxp+iVL5RZNxVQzn9yYDRUBve4CUbRx1hZrimGz0cwbICxwIeyRru66x0OYR04jgnjdXZ+274lk2H0GZJCamoawNbUhkkJjaDe50nOuDazhcG+krOvSCIqeFsLe1bJKLdlI1odHG1wIJIJvpBFzpsRuURH6SMXbEIxXSFoGbctjc+1raXEXPMm6rFXVSTSOlle6SRxuXucXOceJKu5TXQ0QQhCzMLS8gaPNp2utpeS+/u8lmi2DJqPMgiaNjGjyT+VOS10wAGlPo5hsCjaZpKkoYlx5tMdHLJzwS7JnfgJOOJOGRcVz5Rvi9bUO/ASral3DwXgh0a16IlnY0hVlVvHml2TNO2ya9kUFijtWokG6dRv1XYuo0XGr3pVlS4cUtjhD4ALksSTKoHXo4pcG+opJuNhEtXJTghJuanNxFhBwSL2py5qRcrlRUfU0odwPkVA1tIWm4VoeE0nYHCxW/jyuKMptn+KYbnntIz2c405wNg8jfbbx1pDBMrLv7Cq7krTm9rawJHtge8dVZsUo7aRzWY5WMzKy5/ORtffaHDuk+QXo42Z47YY9XTX6at1B264de4I332jipKOXw3rHMnMpnwERS3fDfQL6WcWHZy1FaPh+IAta9rg+JwuHDbv5HeFFx00TlXTRzRPhlY2WF4s5jhdrvuPEaVn+I4NU4Q509LnVOGk3fA7vS07eO8DYRpG1X2Ga4uNIThrto8Nf4CMctCxTaKqhqou2gdcWuWX78fPeOKYYlhkcsbopYw+Im+ZqLXb4zsPkUvlHkrJTSOxHCxmvF3y0TfVkG10Q97fDcusGxWGuiz47NmA78Oog7S37ti0/2I9MmykyakpD2jbyUznWbLm2LT7Mg2HyPkq+t4qqYEOaWtc1wzXMcLskbucPisyyryVNPeeC7qa9i06X0zjsdvG4+O8o1UQhCDdgd63G3mtkwJvcZ9kLG3+seZ962LJx4MTD9UHyT+VOXtaqZSERUdTFSEIXJnGuNOmFLMSTEuxYVrjSjSuwOK5C7AWdaTKuwugd65AXQCjS5RmheGLcvV0ErFTRF8ZC5aSNSdErgxgqdG9jq9jvFOAQdITF7LLljy3Ul3E2Sn7wkHhdRVAdoOgrp4VxlcTN4sm0oT2UJnKFrhWOSPqW3BB/ksn9J8HZvpn/WmZfYR3SPitaqFmfpdH9Gpzt/KCP8AQV3/APPfcYZ+5VHgmuOG7crHk5jz6Z9j34XWuy9g4bxuI3/DVSaWaxt+CpWGS406tfLit/bT227Dq8Oa2Rhz43i99V94I2EblNwygi4OhY5ktjpp5OzfcwuIDht4ObxHnq3LTKKpzSNOcxwDrg6HNOohZZQlgado58uKpGWWS72yHE8PGZUt+UlgboE4Gt7Bv3jb43uEUnglwbaRzvuKMctUrFHwTF466HPbZszR349V95A94XtRBr0A3aWkEXbI06w4bQmeW2Bvo5v+rUQzWZwdPC0aGE/TaNx2jjuKk6Ctjq4BPHbUA9nsO3jgVpZvuJZrjeQ8jpc+jDXROuTG6RrXQO2t06xuP8yLQpqcE6bg8HFt+aEtmwqZtnuB1hzh5rUMianPpouAzeo0KkZbUhhxStjN/wCsPk1W0P74/wByl/R9W2L4idRzwOB0FVj2WTV6Z2hSEUihaSW6k4CubyQ8akGSJdjymkZTljly5Npsu2RKtkSLHJQFZ1c2WbIlAU3Fl2OBUNJkXCLBJAkfzuuxIkrk7svLoB09Lr0p6OV5feuHs3eC6K8vu8EaPcpu4WSkVTsd47l06xTWRtkaZ2nknBM5giKa2g6t+5ezFaYxlnEbUrLvS9N8lSx75Zn/ALLWj/ktPqzrWM+larzqyKLZHBe25zyT7g1d3gc97qkAqRpJVGpxTO026reKibidcaNY0jjw/HBX7IjF+0Z+TOPeAL4z5ub8R1CzuB+3r0UphlQ6KZrmmzgRID9YH7/9yLDracPnv3TzH3KTicq5SVAe1krPVkYJRwO0e8dFNwyXAPC9llSO3NBBa4BzXAtLSLh7ToIKyyqp34LieY27qGou5mnRmk6WHiD8DtK1MG4UNljgYrqGSED5ZoM0R2iQDV+sLjwVYZFTKSJpzXN7zHND2nXcFCq2RuU5ZTmKWN0jmPzbDQWHbfnr53Xi04p3Ub6bMILKimrAO7LF2DjbQJI9V+bCP2SqBgtb2FRHJsBsfsnWt+x6jgxnCZWU0kctwJYnA6Y523LQ4HS0m5abj6S+dpGFri1wLXAlpaRYtI0G43qMdxV7bbhdSHNaQdl7qcgkWY5DYxdohce8zV9Zn8NS0CCfQl5Z9ThNJtkiVZMFEsnH8EsyfcuPLGtZlEuyYJVsw3qKZOUq2YrG41pMkq2RKhyi2TD8FLsm3HooOWH4K6Jv96Ztm3pZr0lFgSF0HpMORdA3osSuSUmH2XpKqDYJuuHaUEpNzlcxG9kJhZctluLbvcu5jcJiZLHyV44ssr8JVr7azosTfcN6+ecocQ/Kayon2PkJb9gaG+QC1b0lY32FG6Np+VnvE0X0tZ9M+Bt+ssXXdhjqMZ3dhKw6+h9xSScU7dN+iuKiRp9XkngPqHbbzLbj3JnCLDonlrZg3XP7Lf4nwTVWnZJz51GP7uZzeTXWcB5lWqgd3SNx8lTsjWWpJuM4HhEAfNW6g1u5BZVKTiKUBsdGw3SMWvwSx1/qqZ7FYr6RcONLicpjc6OOcNqRm6Ac6+cOjs7xQtHyxycjrTTueNMbZG69hIKFvL0nekBNgGbL+VYfM6iqtZAd8jLwcDotwN1nmX1POak1E9MKeZ/zpYPkZpPbaNmdrIva9yNau+BZSwVNhG/5S3zLyGSj7Oxw5aeCnnSRyxmKVjZYiCDG8XA3jeCpDBqOpdFI2Rhs5pvz5rU8Cxhs8TXtOoWIvpa7cVUstckjRvM8Gc+jcdB9Z1O4/RefcdvNQOD4o+mkz26WnQ5t9Dgn1eqbZaea6fRSKpYRirJWhzTdp8RwPFT8dRoWHlx0nx9+0ux6WZIohk19qWbJxXPfHW3LFLByUa5RbJj/AAS7Kjes8sLDllSLZiEsyTd4bCmDZLrsPUa2fcSjJt6VEiimTb/FOY5th8UaPkekrkPskhIuXOVTErSxek5HpISJKSTWtscUXJ0+RQ+IVbYw573BrGAvc46mtG1OZ6gAXJ2XvdY/l3lT+VPNPAb07XXc8apnDdwGzedO5dXj8f2s87uzSDypxp1bVPmNwwdxjPYjGrqdZ4lQyVbCSl46Xf8AwWhyG8cZPLen0ESUjgsnLItp0Dfq/kmuR7Cy56+J3fE8E6pGZ787WNFt7hf3uck44y/ugWZbXquPgPMq+5KYB2ebUzC1rOZGRZznbHOGy30QlaVqdwiiMNPDCfXsZH/bd3neGgKdoG6Cd5TGGMuPE6zuG5S0bbCw5LIi0Q09UsdfRcRBdk/clA4lIAbfihUz0iZUOpJqeGOxcYnSO02td1m+4r1bSdM6wUG2kfyVowbLWohzWTf0iMaAXOLZWD6r9Z5OuOSqqEltlwjKOmqm5jHteXNLXU8gDZHA6xY6HD7J6Kr5S5DaXTUIzgNLqUn5SP7F9JHA6d11QwVZMKyyqoLNe78ojH0ZCS9o+q8aR4kcEaCIoqyWnkNrgg2cwgi9thCveCZQMmba9nW0tOsfeFy/E8MxIWn+RnItnucI5BykAs4cHgdFFYjkLUREPpniYes0ZwiktwubHm1xvuR7mqWu9rvBUp9FKLLNqbHZ6Z3ZVcUjSDbOLCx45g6+is+G41HILseHcL6RzGsLPLD8EWhjwdRSofZQ8VSCnQqQs+KukiyWydRzXCh2zJeGZZ54fVY5fEn2iWim2KMMy9im0+aJ49xPLV0mmTXC9fLoUcybQk56wAa1WHip5Zah8+bSmVbXtja57nBrQLlxNgEiDI/UM0byPcNagcXyWlqXXkqtANwzspGsb0B0niV04444+2M3VYyqymfVZ0EOcyn1Od6r5uHAcNu1VhlHuB8Ffv8A4Cf+4b+zL969GQA2zj91I73lXc40k0ogpra7DmQF0GN335Nv5rQYsg4RrlcfswBvmSpCnyRpG62yP+1IGDwAU8lbZpHEfostxcdPh/FTeGZK1E1nFhDdee/5ONvK+voDzWj0eFxx/NQsYfaEec7xOlPm0jj63iTfySuZK7g+TkNPZx+WlBvnEWijO9oOs8TcqeihLjfX9Y6hyT2OkaNen3eCcNj3DyUWjROCENGjx3pxGz8bl0yP+a7B3eP3Jew9O78BJVdUyGJ88pzYo2l7ncBs5le1M8cUbpZXtjiYLl7jYAffwWS5V5SS4rMKanD2UbHgau9K/YSNp3DZrKvHErUHi9RPiNVPVDMAc/NAebBrR6rRyFr8ShaJgeTUEELWSsY59gc0u0RjdfadZPFC26Tu/GCIQhZqCEIQApTC8dqab5mVzWE3MR78R5tNx11qLQgNBw/L+N7RHVw921rsaJIzzY7UPsu6KXpaDCqsh0TIS/8AuZJIJW8cy4PkVk66a6xuNB18kBs0GARDQyeoB3PdHKW9CGnxXZwicerJE/gc+I/ELMsPyurIbN7XtWDR2co7UAbgTpHQhWnDvSHGbCaJ8Z1ZzHCVnPNNiOQcgllFDVD8yXfZljd5XB8k2qMQdD87G+L7bC3qneG5R081uynieT9HO7OT9l1iel1MivIGa42HsuGg9DoPRGsfsTZflV2gxJtQ7Mikic/2e3ijJ5BxF1Y6fAau1yxjR7TpQ4HwuPNM6zCqKf52licT9JozHHqEziyXjjN6StrKQjY2UuYOl7AdE+vhTHSzRYAT85MeTGZo8Tc+SfU+GRR+q0Z3tHvOPU/BVRhxuL5utpatvszQhrj1ABPilhlPikfz+FNlHtQVDxfkCHe9Kyr6Wsw32Lg0w9keAVZHpBgac2airoD/APkyUDwN05i9IGFu11L4jukp54/cCo41UqbNK32fJefkzfZTOLK3DXerX03WQs94CdMxyjd6tbSH/wAuD70tUbdimHs+QXQhts8kDE6Y/wBqpv8ANQfeuXYrSjXV0o/8uD70caNwqIiuhEmEuUmHt9aupf8AMMd7rqPqMu8KZrq2v4MilkPuARxo2sIYF0FSqj0mUv5imq5zvzBCzxN0wflji1RopaKOAHRnuD53jqdCqYUrWikWBc4gNGnPcQ1rep0Kp476QKKnuyE/llRqDI/mgeLtv6t1Wpsl8QrDnYhWOLdeYZLNHJo/gpfDcmqKmGhnau3uGa09NZ6kq+Mnstq3LDiOMSh85LYQ64iacyGIc9V/F3JW7CMJgo2AMAfLa2fawZvDRs56ztTmWq0ZosGjRmgWAHJNJZwBckAb72RcvwtF5JrneUJkHPdpbHcb3HNvyGk+K8UmwdCEJmEIQgBCEIAQhCAEIQgBSeH47VwWEVRKxtrZmdnMtyNx5KMQgLjRekCob87FFIN7QYHnw0f6VP0XpApXWDxNCd5YyVg6ggnwWXoQG20eU9LJbMqYTfYZexd4PA95UtFVm1xnW9oDOb4i4Xz4lqepfGc6N72He15YfJBafQYxPYX9HH4FePMTvWhid/hM0+AWJ0+VlewWFVIRucRJ/uBUhHl5VtPeZTP4mDMJ6tIR2NNSkwqhd61JBzzSPimz8msNdrpWjlIQqJD6RnfSpW/qVErPfnKcwvK0T2tDIznUtf8A8AnulpNnJHDD/Zz+9KBkjhg/MO/epeJ7nC+db9Vh+CWDH+3/AKAjdM3ZkzhrdVNfgZL/AATmLDKJnq00XW5+K87J/tj921JPzh9L/SwfBG6XSQjfGz1I4mcREy/idK9fWuO0+NlWcSxnsRpbI/lM1n/EqtVWXwBIFICd76qR4PQAI7EsaFLVAayBzIBSPbl3qh7+TbDxNlmM2X1WbiNlPCD7ENyOpJURXZQ1k5tLUyuGrNzy1p6CwS0bVcQxeGC/bVEMP1A7tpvAavDqqtiWX0TCfyWEyP1dvMdXIA38xyWeoQaUrsdqp358k8hOqweWNaNwA0BCi0ID/9k=", "https://www.meteorologiaenred.com/wp-content/uploads/2018/08/Atm%C3%B3sfera-de-Saturno.jpg"]);
agregarPlaneta(3, 2, "Krypton", ["https://www.ecured.cu/images/thumb/c/cf/Krypton_%28planeta%29.jpg/260px-Krypton_%28planeta%29.jpg", "https://vignette.wikia.nocookie.net/starwars/images/d/d6/Toydaria-TCW.png/revision/latest?cb=20130506235119", "https://vignette.wikia.nocookie.net/supergirl/images/b/b5/Planet_Krypton.png/revision/latest?cb=20171206023736&path-prefix=es"]);
agregarPlaneta(4, 3, "Cybertron", ["https://upload.wikimedia.org/wikipedia/en/2/2d/MovieCybertron.jpg", "https://vignette.wikia.nocookie.net/michaelbaystransformers/images/c/cf/Movie_Cybertron.jpg/revision/latest?cb=20151108163309", "https://www.meme-arsenal.com/memes/c559b3b9e3d0a90b3c267b0a611a5f61.jpg"]);
let luna = new Luna("Luna", 1, ["https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Full_Moon_Luc_Viatour.jpg/280px-Full_Moon_Luc_Viatour.jpg","https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Ganymede_g1_true_2.jpg/270px-Ganymede_g1_true_2.jpg","https://images2.corriereobjects.it/methode_image/2017/01/11/Scienze/Foto%20Scienze%20-%20Trattate/AFP_JQ6DS-0002-kUPG-U43270811099596WNF-1224x916@Corriere-Web-Sezioni-593x443.jpg?v=20170111154027"]);
lunas.push(luna);
luna = new Luna("Titan", 2, ["https://www.muyinteresante.com.mx/wp-content/uploads/2018/05/httpstved-prod.adobecqms.netcontentdameditorialTelevisamexicomuyinteresantemxjuniorespacio170220titan.imgo_-770x528.jpg","https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTLEUZwBd52os9ND0Zwo7dxvl2IkePZMPCKsBjuGE2XRi28I_1J","https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTUv60cmCb7ABSLqdRrQdOT2p8X1jZAqGbQQwzt5rxB5ZUxUqYh"]);
lunas.push(luna);
luna = new Luna("Encelado", 2, ["https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Enceladusstripes_cassini.jpg/250px-Enceladusstripes_cassini.jpg", "https://static.scientificamerican.com/arabic/cache/file/531AF767-D9AC-4D9E-B13D2A5C98DEC186_source.jpg", "https://cdn.img.inosmi.ru/images/23704/25/237042551.jpg"]);
lunas.push(luna);
}
crearDatos();
//Carga los botones de los planetas
function CargarBotones(){
let seccionBotones = document.getElementById("planetas");
let boton;
for(i=0; i<planetas.length; i++){
boton = document.createElement("button");
boton.id = "" + planetas[i].planeta_id;
boton.setAttribute("onclick", "mostrarDetalle("+planetas[i].planeta_id+")");
boton.innerHTML = planetas[i].nombre;
seccionBotones.appendChild(boton);
}
}
CargarBotones();
function mostrarDetalle(idPlaneta){
let listaLunas = document.getElementById("lunas");
let fotos = document.getElementById("fotos");
while(listaLunas.firstChild){
listaLunas.removeChild(listaLunas.firstChild);
}
while(fotos.firstChild){
fotos.removeChild(fotos.firstChild);
}
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id==idPlaneta){
document.getElementById("nombre").innerHTML=planetas[i].nombre;
for(j=0; j<lunas.length; j++){
if(lunas[j].planeta_id==idPlaneta){
var luna = document.createElement("li");
luna.innerHTML = lunas[j].nombre;
listaLunas.appendChild(luna);
}
}
for(j=0; j<planetas.length; j++){
if(planetas[j].planeta_id==idPlaneta){
for(k=0; k<planetas[i].fotos.length; k++){
var foto = document.createElement("img");
foto.src=planetas[j].fotos[k];
foto.width = 250;
foto.width = 200;
fotos.appendChild(foto);
}
}
}
}
}
console.log("mostrado detalles de " + idPlaneta);
}
function buscar(){
var nombrePlaneta = document.getElementById("nombrePlanetaBuscador").value.toLowerCase();
let seccionBotones = document.getElementById("planetas");
let boton;
while(seccionBotones.firstChild){
seccionBotones.removeChild(seccionBotones.firstChild);
}
if(nombrePlaneta == ""){
CargarBotones();
return;
}
for(i=0; i<planetas.length; i++){
if(planetas[i].nombre.toLowerCase()== nombrePlaneta){
boton = document.createElement("button");
boton.id = "" + planetas[i].planeta_id;
boton.setAttribute("onclick", "mostrarDetalle("+planetas[i].planeta_id+")");
boton.innerHTML = planetas[i].nombre;
seccionBotones.appendChild(boton);
}
}
}
function cargarSelects(){
let galaxiaSelect = document.getElementById("selectGalaxia");
for(i=0; i<galaxias.length; i++){
let option = document.createElement("option");
option.value = galaxias[i].galaxia_id;
option.innerHTML = galaxias[i].nombre;
galaxiaSelect.appendChild(option);
}
}
cargarSelects();
function filtrarPlanetas(){
let galaxiaSelect = document.getElementById("selectGalaxia");
let idGalaxia = galaxiaSelect.options[galaxiaSelect.selectedIndex].value;
let seccionBotones = document.getElementById("planetas");
let boton;
while(seccionBotones.firstChild){
seccionBotones.removeChild(seccionBotones.firstChild);
}
for(i=0; i<planetas.length; i++){
if(planetas[i].galaxia_id==idGalaxia){
boton = document.createElement("button");
boton.id = "" + planetas[i].planeta_id;
boton.setAttribute("onclick", "mostrarDetalle("+planetas[i].planeta_id+")");
boton.innerHTML = planetas[i].nombre;
seccionBotones.appendChild(boton);
}
}
}
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>Planetas!</title>
</head>
<body class="container">
<h1>Planetas</h1>
<hr>
<div id="buscador" class="col-md-3">
buscador <input type="text" id="nombrePlanetaBuscador">
<br>
<button onclick="buscar()">Buscar</button>
</div>
<span class="col-md-1"></span>
<div id="filtro" class="col-md-3">
Filtro Galaxia <select id="selectGalaxia" onchange="filtrarPlanetas()"></select>
</div>
<hr>
<br>
<div id="planetas" class="row">
<h2>botones</h2>
</div>
<div id="informacion">
<h3 id="nombre"></h3>
<ul id="lunas">
</ul>
<div id="fotos">
</div>
</div>
<script src="js/planetas.js"></script>
</body>
</html>
\ No newline at end of file
class Galaxia{
constructor(galaxia_id, nombre, tipo_galaxia){
this.galaxia_id = galaxia_id;
this.nombre = nombre;
this.tipo_galaxia = tipo_galaxia;
}
}
let galaxias = [];
let galaxia = new Galaxia(1, "andromeda", "espiral");
galaxias.push(galaxia);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment