Commit c521fd32 by Pedro Rolon

Se agregaron archivos correspondientes a ejercicios faltantes

parent 26a09b9c
# Especificaciones
* 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.
*
\ No newline at end of file
* 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**
* 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 @@
<link rel="stylesheet" href="node_modules/bootstrap/dist/css/bootstrap.min.css">
<title>Astrobootcamp004</title>
</head>
<!--Background is setting in js script-->
<body class="container">
<h1>
Galaxia
......@@ -16,11 +15,11 @@
<div class="row">
<select id="galaxiaSelect">
<select id="galaxiaSelect">
</select>
<div id="informacionGalaxia" class="row" hidden="hidden">
<div id="informacionGalaxia" class="row container" hidden="hidden">
<span>Lista de planetas</span>
<ul id="listaPlanetas">
<li>Saturno</li>
......@@ -28,7 +27,6 @@
</div>
<button onclick="seleccionar()">Seleccionar</button>
<button onclick="mostrarDetalleGalaxia()">Detalle</button>
<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{
}
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.galaxia_id = galexia_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{
......@@ -46,7 +144,6 @@ function borrarPlaneta(idPlaneta){
if(planetas[i].planeta_id == idPlaneta){
console.log("Se eliminó " + planetas[i].nombre);
planetas.splice(i,1);
}
}
}
......@@ -56,23 +153,11 @@ function actualizarDatosPlaneta(idPlaneta, nuevoIdGalaxia, nuevoNombrePlaneta, n
for(i=0; i<planetas.length; i++){
if(planetas[i].planeta_id == idPlaneta){
console.log("Se actualiza " + planetas[i].nombre);
planetas[i].galaxia_id = nuevoIdGalaxia;
planetas[i].nombre = nuevoNombrePlaneta;
planetas[i].fotos = nuevoFotosPlaneta;
planetas[i].actualizar(nuevoIdGalaxia, nuevoNombrePlaneta, 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
function lunasDe(idPlaneta){
let lunasDePlaneta = [];
......@@ -100,8 +185,10 @@ function fotografias(idPlaneta){
//Devuelve una lista de los planetas correspondientes al id de
//la galaxia recibida
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){
planetasDeGalaxia.push(planetas[i]);
//console.log(planetas[i]);
......@@ -143,6 +230,7 @@ function crearDatos(){
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();
......@@ -185,13 +273,4 @@ function mostrarDetalleGalaxia(){
}
document.getElementById("informacionGalaxia").removeAttribute("hidden");
}
//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");
}
}
\ No newline at end of file
This diff is collapsed. Click to expand it.
<!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