sábado, 28 de septiembre de 2013

Curso JavaScript desde 0. Capitulo 1



Hola a todos,

Si habeís seguido el curso de html habreís visto que hay cosas que este lenguaje no permite hacer. Una de ellas es poder repetir código en distintos sitios. Si os preguntais que necesidad hay en ello os pondré un ejemplo muy sencillo: MENÚS.

Debido al cambio de estilo que le estoy haciendo al blog me he encontrado que tengo diversos menús que se repiten en diferentes páginas. Cualquier cambio que haga tengo que copypastearlo en todas las páginas. Si son 3 páginas, ok, si son 20 o 30 ya empezamos a tener un problema (ni os cuento si son 200 o 300).

La forma más fácil que he encontrado es mediante javascript. JavaScript es un lenguaje de programación web que no tiene nada que ver con el lenguaje Java y que sirve para complementar HTML en aquellos puntos en que este flaquea.

Ya os iré explicando mejor como funciona.. por ahora os pongo un ejemplo de como repetir un menu en html para que veais como va... espero que os guste:

En el head hemos de poner el código javascript:
<script type='text/javascript'>
var menuEjemplos=&quot;<li><a href='http://lordpakus.blogspot.com.es/p/ejemplos-de-cc-sencillos.html'> Ejemplos sencillos en C/C++ </a>&quot;;
menuEjemplos+=&quot;<ul>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com.es/2013/09/ejemplos-de-cc-sencillos-calcular.html'> Perímetro y área de un circulo </a></li> &quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-histograma-de.html'> Histograma de un arreglo de carácteres sin if ni case </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-resolucion-de.html'> Resolución de ecuaciones de segundo grado </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-operaciones.html'> Operaciones matemáticas básicas </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-factura.html'> Facturación sencilla </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-interseccion.html'> Intersección recta- circunferencia </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-transcribir.html'> Transcribir números a letras </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-calculo-de.html'> Cálculo de interés bancario </a></li>&quot;;
menuEjemplos+=&quot;<li><a href='http://lordpakus.blogspot.com/2013/09/ejemplos-de-cc-sencillos-ascii-art.html'> ASCII Art </a></li>&quot;;
menuEjemplos+=&quot;</ul>&quot;;
menuEjemplos+=&quot;</li>&quot;;

function ExpandEjemplos(n)
{
if(n) {n.innerHTML=menuEjemplos;}
else {document.write(menuEjemplos);document.close();}
}

</script>

En el body hemos de poner la llamada a la función que nos interesa:
<script type='text/javascript'>
ExpandEjemplos();
</script>

El ejemplo de como funciona lo teneis en el menú de este blog. Todos los menus de la serie de ejemplos C/C++ tienen links a los otros capítulos de la serie y el menú general también, pero código html solo hay uno. Esto hace que si se añade un capítulo nuevo solo tengo que modificar una linea y si quiero cambiar el orden o la estructura solo lo tengo que hacer en un sitio.

Espero que os haya servido para abrir boca de la potencia que tiene javascript... poco a poco os iré explicando mejor como funciona.

Nos vemos


LordPakusBlog

miércoles, 18 de septiembre de 2013

Ejemplos de C/C++ sencillos: ASCII Art


Hola a todos,

ASCII Art es el hecho de hacer dibujos y formas mediante caracteres puestos en la consola.
El ejercicio de hoy es: pintar por consola un circulo(relleno), una X, un marco  y un rectangulo (relleno)

Es fácil y os servirá para ir practicando los bucles y los condicionales.

Os dejo el código y el como os debería quedar.

#include <iostream>
#include <stdlib.h>
#include <math.h>

void linea_ASCII(char car,int ancho)
{
int i;

for(i = 0 ; i < ancho ; ++i)
{
std::cout << car;
}

std::cout << std::endl;
}

void marco_ASCII(char car,int ancho, int alto)
{
int i,j;

for(i = 0 ; i < alto; ++i )
{
for(j = 0 ; j < ancho  ; ++j )
{
if( (i == 0) || (i==(alto-1)) )
{
std::cout << car;
}
else
{
if( (j == 0) || (j == (ancho-1)) )
std::cout << car;
else
std::cout << " ";
}
}
std::cout << std::endl;
}
}

void rectangulo_ASCII(char car,int ancho, int alto)
{
int i,j;

for(i = 0 ; i < alto; ++i )
{
for(j = 0 ; j < ancho  ; ++j )
std::cout << car;

std::cout << std::endl;
}
}

void X_ASCII(char car,int ancho)
{
int i,j;

for(i = 0 ; i < ancho; ++i )
{
for(j = 0 ; j < ancho  ; ++j )
{
if( ( i == j) || (ancho-1-i == j) )
{
std::cout << car;
}
else
{
std::cout << " ";
}
}
std::cout << std::endl;
}
}

void circulo_ASCII(char car,int ancho)
{
int i,j;
int centro = ancho/2;
for(i = 0 ; i < ancho+1; ++i )
{
for(j = 0 ; j < ancho+1  ; ++j )
{
if( sqrt(( i - centro)*( i - centro) +  ( j - centro)*( j - centro)) <= centro )
{
std::cout << car;
}
else
{
std::cout << " ";
}
}
std::cout << std::endl;
}
}

int main(int argc, char** argv)
{
circulo_ASCII('O',10);
linea_ASCII('-',40);
std::cout << std::endl;

X_ASCII('x',10);
linea_ASCII('-',40);
std::cout << std::endl;

marco_ASCII('e',10,4);
linea_ASCII('-',40);

rectangulo_ASCII('y',10,4);
linea_ASCII('-',40);
system("pause");
return 0;
}

Aquí tenéis la imagen por si queréis que os sirva de guía
:
Nos vemos,

LordPakusBlog

domingo, 15 de septiembre de 2013

Ejemplos de C/C++ sencillos: Cálculo de interés bancario

Hola a todos,

El ejercicio de hoy se basa en calcular intereses bancarios. Imaginemos que pedimos un préstamo al banco a un cierto interés y que queremos pagar una cierta cantidad como mensualidad. El programa nos tiene que devolver cuanto dinero le debemos al banco (mes a mes) y al finalizar decirnos cuantos meses hemos estado pagando y que cantidad de intereses totales hemos pagado.

#include <iostream>
#include <stdlib.h>

int main(int argc, char** argv)
{
double total,interes,cuota;
double interesparcial,interesacumulado = 0;
int meses = 0;

std::cout << "Introduca cantidad total pedida al banco: ";
std::cin >> total;

std::cout << "Introduzca interes anual al que se le concede el crédito (en %): ";
std::cin >> interes;

std::cout << "Introduzca cuota mensual que puede pagar: ";
std::cin >> cuota;

while( total > 0.0f )
{
interesparcial = (total*(interes/12)/100.0);
total += interesparcial;
interesacumulado += interesparcial;

if(total > cuota)
total -= cuota;
else
total = 0;

if(interesparcial > cuota)
{
std::cout << "Con esa cuota jamás podrá cancelar la deuda" << std::endl;
break;
}

std::cout << "Mes " << meses << "-> Le debe al banco : " << total << std::endl;
meses++;
}

if ( total > 0.0f )
{
std::cout << "Vuelva ha hacer los cálculos renegociando el préstamo." << std::endl;
system("pause");
return 0;
}

std::cout << "Ha pagado durante " << meses << " meses un total de " << interesacumulado << " en forma de intereses." << std::endl;

system("pause");
return 0;
}

LordPakusBlog

sábado, 14 de septiembre de 2013

Ejemplos de C/C++ sencillos: Transcribir números a letras.


Hola a todos,

Un buen ejercicio para ir practicando nuestras aptitudes de programación es hacer un programa que nos "lea" un número que le pasemos. Es decir, si introducimos el número 99999,99 nos diga: "noventa y nueve mil novecientos noventa y nueve con noventa y nueve céntimos." (Este sería el número más grande a transcribir, tampoco hace falta pasarse :D)

El código os lo dejo a continuación, ya veréis que no es complicado. Si hay algo que no entendáis , decidlo.


#include <iostream>
#include <stdlib.h>
 
 
int main(int argc, char** argv) 
{
//Es un double y no un float para que no la lie con la precisión de los decimales con segun que valores
double valor;
int miles,cientos,unidades,decimales;
char numeros[100][20] = 
{
{""},{"un"},{"dos"},{"tres"},{"cuatro"},{"cinco"},{"seis"},{"siete"},{"ocho"},{"nueve"},
{"diez"},{"once"},{"doce"},{"trece"},{"catorce"},{"quince"},{"dieciseis"},{"dieceisiete"},{"dieciocho"},{"diecinueve"},
{"veinte"},{"veintun"},{"veintidos"},{"veintitres"},{"veinticuatro"},{"veinticinco"},{"veintiseis"},{"veintisiete"},{"veintiocho"},{"veintinueve"},
{"treinta"},{"treinta y uno"},{"treinta y dos"},{"treinta y tres"},{"treinta y cuatro"},{"treinta y cinco"},{"treinta y seis"},{"treinta y siete"},{"treinta y ocho"},{"treinta y nueve"},
{"cuarenta"},{"cuarenta y uno"},{"cuarenta y dos"},{"cuarenta y tres"},{"cuarenta y cuatro"},{"cuarenta y cinco"},{"cuarenta y seis"},{"cuarenta y siete"},{"cuarenta y ocho"},{"cuarenta y nueve"},
{"cincuenta"},{"cincuenta y uno"},{"cincuenta y dos"},{"cincuenta y tres"},{"cincuenta y cuatro"},{"cincuenta y cinco"},{"cincuenta y seis"},{"cincuenta y siete"},{"cincuenta y ocho"},{"cincuenta y nueve"},
{"sesenta"},{"sesenta y uno"},{"sesenta y dos"},{"sesenta y tres"},{"sesenta y cuatro"},{"sesenta y cinco"},{"sesenta y seis"},{"sesenta y siete"},{"sesenta y ocho"},{"sesenta y nueve"},
{"setenta"},{"setenta y uno"},{"setenta y dos"},{"setenta y tres"},{"setenta y cuatro"},{"setenta y cinco"},{"setenta y seis"},{"setenta y siete"},{"setenta y ocho"},{"setenta y nueve"},
{"ochenta"},{"ochenta y uno"},{"ochenta y dos"},{"ochenta y tres"},{"ochenta y cuatro"},{"ochenta y cinco"},{"ochenta y seis"},{"ochenta y siete"},{"ochenta y ocho"},{"ochenta y nueve"},
{"noventa"},{"noventa y uno"},{"noventa y dos"},{"noventa y tres"},{"noventa y cuatro"},{"noventa y cinco"},{"noventa y seis"},{"noventa y siete"},{"noventa y ocho"},{"noventa y nueve"},
};
char centenas[10][20] = 
{
{""},{"ciento"},{"doscientos"},{"trescientos"},{"cuatrocientos"},{"quinientos"},{"seiscientos"},{"sietecientos"},{"ochocientos"},{"novecientos"},
};
std::cout << "Introduzca numero a transcribir: ";
std::cin >> valor;
miles = ((int)valor)/1000;
cientos = (((int)valor)%1000)/100;
unidades = ((int)valor)%100;
decimales = ((int) (valor*100.0))%100 ;
if (miles)
std::cout << numeros[miles] << " mil ";
if (cientos)
std::cout << centenas[cientos] << " ";
if (unidades) 
std::cout << numeros[unidades];
if (decimales)
{
if(miles || cientos || unidades)
{
std::cout << " con ";
}
std::cout << numeros[decimales] << " centimos.";
}
std::cout << std::endl;
system("pause");
return 0;
}




LordPakusBlog

viernes, 13 de septiembre de 2013

Ejemplos de C/C++ sencillos: Intersección recta- circunferencia



Hola a todos,

El problema que se plantea hoy es hacer un programa que nos diga si una circunferencia y una recta intersectan o no.


Para mi la forma más fácil de decir si un recta interesecta con una circunferencia o no es calcular la distancia mínima entre el centro de la circunferencia y la recta. Si esta distancia mínima es mayor que el radio de la circunferencia seguro que no interesectarán nunca.

El código es el que sigue. Hay unos pocos comentarios para que podáis seguir mejor el código.

#include <iostream>
#include <math.h>
#include <stdlib.h>

int main(int argc, char** argv) 
{
float xcentro,ycentro,radio;
float pendiente,b;
float perpendicularpendiente,perpendicularB;
float xinterseccion, yinterseccion;
float distx,disty,dist;

std::cout << "PROGRAMA DE CALCULO DE INTERSECCIONES ENTRE CIRCUNFERENCIA-RECTA" << std::endl;

std::cout << "DATOS CIRCUNFERENCIA" << std::endl;

std::cout << "Introduzca el centro de la circunferencia:" << std::endl; 

std::cout << "x: ";
std::cin >> xcentro;
std::cout << std::endl;

std::cout << "y: ";
std::cin >> ycentro;
std::cout << std::endl;

std::cout << "Introduzca el radio de la circunferencia: " ;
std::cin >> radio;
std::cout << std::endl;

std::cout << std::endl << "DATOS RECTA" << std::endl;

std::cout << "Introduzca el pendiente de la recta (m) " ;
std::cin >> pendiente;

std::cout << "Introduzca punto de intersección con el eje de las Y (b) " ;
std::cin >> b;

std::cout << std::endl << "CALCULANDO....ESPERE UN MOMENTO" << std::endl;

perpendicularpendiente = -(1/pendiente);

//Calculamos el termino independiente de una recta perpendicular a la dada.
perpendicularB = ycentro - perpendicularpendiente*xcentro;

//Calculamos q punto de la recta es el más cercano al centro de la circunferencia
xinterseccion = (perpendicularB-b)/(pendiente-perpendicularpendiente);
yinterseccion = xinterseccion*pendiente+b;

//calculamos la distancia minima entre recta y circunferencia
distx = xinterseccion - xcentro;
disty = yinterseccion - ycentro;

dist = sqrt(distx*distx + disty*disty);

if (dist <= radio)
{
std::cout << "La recta interesecta la circunferencia." << std::endl;
}
else
{
std::cout << "La recta NO intersecta la circunferencia." << std::endl;
}

system("pause");

return 0;
}




LordPakusBlog

jueves, 12 de septiembre de 2013

Ejemplos de C/C++ sencillos: Factura sencilla

¿Te apetecería hacer facturas con google apps script?

Hola a todos,

Este ejemplo es para que os sirva de base si estaís aprendiendo C++ y os piden que hagáis un programa de facturación.

Se basa en que se pueden comprar 3 productos de precios diferentes en tal cantidad como queramos. Si en total compramos más de 10 productos aplicaremos un 5% de descuento.
Si en total compramos más de 20 productos aplicaremos un 10% de descuento.
Aparte de eso, se ha de aplicar el IVA.

Os dejo el código. Es más sencillo de lo que os podríais imaginar en un principio.
Si tenéis cualquier duda hacedmela llegar.

#include <iostream>
#include <stdlib.h>

#define COSTE1 200
#define COSTE2 150
#define COSTE3 80

int main(int argc, char** argv) 
{
bool salir = false;
char tecla;
int totalproductos = 0, producto1 = 0, producto2 = 0, producto3 = 0;
int dinero = 0;
int descuento = 0;

while(!salir)
{
std::cout << "Introduzca codigo de producto (1,2,3) o cualquier otra tecla para finalizar la compra: ";
std::cin >> tecla;

switch (tecla)
{
case '1':
producto1++;
break;

case '2':
producto2++;
break;

case '3':
producto3++;
break;

default:
salir = true;
break;
}
}

dinero = producto1*COSTE1 +  producto2*COSTE2 +  producto3*COSTE3;
totalproductos = producto1 + producto2 + producto3;

std::cout << "FACTURA:";
std::cout << "    " << producto1 << " unidades a " << COSTE1 << std::endl;
std::cout << "    " << producto2 << " unidades a " << COSTE2 << std::endl;
std::cout << "    " << producto3 << " unidades a " << COSTE3 << std::endl;
std::cout << " Unidades totales compradas: " << totalproductos << std::endl;

std::cout << "SUBTOTAL ANTES DE DESCUENTOS: " << dinero << std::endl;
if (totalproductos > 20)
{
descuento = dinero/10;
std::cout << "Descuento aplicable del 10% = -" << descuento << std::endl;
}
else if (totalproductos > 10)
{
descuento = dinero/20;
std::cout << "Descuento aplicable del 5% = -" << descuento << std::endl;
}
else
{
descuento = 0;
std::cout << "Sin descuentos aplicables = -0" << std::endl;
}

dinero -= descuento;
std::cout << "SUBTOTAL DESPUES DE DESCUENTOS: " << dinero << std::endl;

dinero *= 1.21;
std::cout << "TOTAL A PAGAR (IVA INCLUIDO): " << dinero << std::endl;

system("pause");
return 0;
}

Nos vemos


LordPakusBlog

Ejemplos de C/C++ sencillos: Operaciones matemáticas básicas

Hola a todos,

Este ejemplo es muy muy MUY sencillo, así que si hace más de una semana que sabes programar en C++, puedes dejar de leer aqui :D

Este ejemplo está pensado para aquella persona que se está iniciando en este lenguaje y aún no tiene claro como funcionan las operaciones matemáticas.

Aquí os dejo el código, ya vereís que pocas explicaciones hacen falta para entenderlo:
#include <iostream>
#include <stdlib.h>

int main(int argc, char** argv) 
{
float a,b;

std::cout << "Introduzca primer numero: " ;
std::cin >> a;

std::cout << "Introduzca segundo numero: ";
std::cin >> b;

std::cout << a << " mas " << b << " = " << a+b << std::endl;
std::cout << a << " menos " << b << " = " << a-b << std::endl;
std::cout << a << " multiplicado por " << b << " = " << a*b << std::endl;

if(!b)
std::cout << a << " dividido por " << b << ". No se puede realizar, el divisor no puede valer 0."  << std::endl;
else
std::cout << a << " dividido por " << b << " = " << a/b << std::endl;

system("pause");
return 0;
}

Espero que os sirva.


LordPakusBlog

Ejemplos de C/C++ sencillos: Resolución de ecuaciones de segundo grado

Hola a todos,

Hoy toca un ejercicio muy simple pero que se pide en muchas universidades en los primeros dias de programación. El enunciado podría ser algo de este estilo: "Haga usted un programa que calcule las soluciones de una ecuación de segundo grado teniendo en cuenta todas las casuísitcas de la solución."

La teoria de las ecuaciones de segundo grado o cuadráticas (por si alguien ya no se acuerda) es la siguiente.



Aquí os dejo el código. Es bastante sencillo y no creo que le hagan falta ni comentarios. No obstante si algo no os cuadra decidmelo e intentaré explicarlo mejor.

#include <iostream>
#include <math.h>
#include <stdlib.h>

int main(int argc, char** argv) 
{
float a,b,c;
float temp;

std::cout << "Introduzca coeficiente de X^2 (a): ";
std::cin >> a;

std::cout << "Introduzca coeficiente de X(b): ";
std::cin >> b;

std::cout << "Introduzca termino independiente (c): ";
std::cin >> c;

std::cout << "La solucion para la ecuacion de segundo grado: " << a << "x^2 + " << b << "x + " << c << std::endl;


if( (b*b) < (4*a*c) )
{
std::cout << "No existe, raiz negativa (en el dominio de los numeros complejos si que tendria solucion)" << std::endl;
}
else
{
temp = sqrt( (b*b) - (4*a*c));

if(!temp)
{
std::cout << "Tiene solo una solucion de valor x=" << ( -b / (2*a) ) << std::endl;
}
else
{
std::cout << "Tiene dos soluciones, x=" << ((-b + temp)/(2*a)) << " y x=" << ((-b - temp)/(2*a)) << std::endl;
}
}

system("pause");
return 0;
}


Nos vemos



LordPakusBlog

miércoles, 11 de septiembre de 2013

Ejemplos de C/C++ sencillos: Histograma de un arreglo de carácteres sin if ni case

Hola a todos,
Me han planteado un ejercicio que aunque no sea muy complicado sirve para entender que en programación todo se puede hacer de múltiples maneras y que el único límite es la imaginación.
El enunciado del problema dice algo de este estilo: "Haga un histograma que guarde la frecuencia de las letras de abecedario incluyendo mayúsculas y minúsculas en un arreglo y que imprima la frecuencia de la letra, todo ello sin usar if ni case."
Un histograma no es más que un recuento de elementos de cada tipo que tengamos, que normalmente se representa en gráficas como la siguiente:












Sin if.... sin switch/case... imposible? no.. complicado? tampoco, solo es saber ver el problema desde otro ángulo.  Aquí os dejo el código, creo que vale más la pena el código que toda explicación que pudiese hacer.

#include <iostream> 
#include <string.h> 
#include <stdlib.h>

int main(int argc, char** argv) 
{
char letras[256] = {"Hoy puede ser un gran dia, tomatelo así."};
char histograma[256] = {0};
int i,j;
for( i = 0 ; i < strlen(letras) ; ++i )
{
histograma[letras[i]]++;
}
for( i = 0 ; i < 256 ; ++i )
{
std::cout << (char) i << ": ";
for(j = 0 ; j < histograma[i]; ++j)
{
std::cout << "*";
}
std::cout << std::endl;
}
system("pause");
return 0;
}

Si copiáis este código y lo compiláis veréis que da el resultado que se pide, sin usar ni una sola operación de comparación.

Espero que os haya servido y gustado

Nos vemos



LordPakusBlog

Ejemplos de C/C++ sencillos: Calcular perímetro y área de un círculo


Hola a todos, Hoy toca un ejemplo muy muy sencillito para todos aquellos que están empezando a programar. Si ya sabes programar, deja de leer aquí que te aburrirás :D. Si se os ocurren más ejercicios y ejemplos sencillos decidmelo y los iré poniendo.

Imaginemos que nos piden algo como esto (algo muy normal en los primeros cursos de programación): "Crear un programa que permita calcular el perímetro y area de un circulo cuyo radio sea ingresado por teclado."

Lo primero que tenemos que tener claro es que el perimetro será = 2* PI * r y que el area será = PI*r*r
Siendo PI = 3.14159 y r el radio de la circunferencia.














El programa que realiza lo pedido es tan sencillo como el siguiente:

#include <iostream>
#include <stdlib.h>  //Este include es para  la llamada a system("pause")

#define PI 3.141592
int main(int argc, char** argv) 
{
float radio;
float perimetro;
float area;

bool valido = false;

std::cout << "*******************************************************************"<< std::endl;
std::cout << "** PROGRAMA DE CALCULO DE PERIMETRO Y AREA DE UNA CIRCUNFERENCIA **"<< std::endl;
std::cout << "*******************************************************************"<< std::endl;
std::cout << "Ingrese el radio de la circunferencia" << std::endl;

while(!valido)
{
std::cin >> radio;
if( (radio > 0.0f) && (radio < 10000.0f))
valido = true;
}

perimetro = 2*PI*radio;
area  = PI * radio * radio;

std::cout << "Perimetro : " << perimetro << std::endl;
std::cout << "Area : "    << area << std::endl;

std::cout << "Calculo finalizado" << std::endl;

system("Pause");

return 0;
}

Si copiáis todo esto en vuestro compilador veréis como compila y podréis ejecutarlo para probar como funciona.

Espero que os haya servido

LordPakusBlog

viernes, 6 de septiembre de 2013

Gurús de la programación: Tim Sweeney


Hola a todos.


Tim Sweeney es un estadounidense nacido en 1970 ingeniero mecánico por estudios y programador de videojuegos por pasión. Con tan solo 21 años sacó su primer juego ZZT, con bastante éxito y fundó su propia compañia de videojuegos Epic Mega Games (hoy día conocida como Epic).

Es un gurú de la programación por que a colaborado en la creación de diversos juegos y engines de shooters de bastante éxito como por ejemplo la saga Unreal y Gears of War. Dentro de estos motores Sweeney ha incorporado efectos y técnicas que no se habían hecho hasta el momento. La calidad de estos juegos y engines es tal que han sido licenciados para decenas de juegos como Splinter Cell, Rainbow Six 3, Lineage II, etc..

Actualmente dirige su propia compañía y se dedica a dar conferencias, presentaciones y entrevistas.

Si os gusta la programación (si estáis leyendo este blog, espero que os guste :D ) tal vez os guste un par de libros muy buenos que explican como realizar videojuegos de alto nivel con el motor del unreal:


Aquí tenéis una lista de juegos de Epic que se pueden obtener online:




LordPakusBlog

domingo, 1 de septiembre de 2013

Curso HTML desde 0. Capitulo 6



El capítulo de hoy trata sobre las listas, fundamentales para bastantes usos que tiene CSS (ya vereís que es CSS dentro de poco).

Las listas de html no son más que conjuntos de datos jerarquizados y estructurados.

Los tags más usados para generar listas son <ul></ul> para contener la lista como tal y <li></li> para contener los datos de cada elemento de la lista. En vez de <ul> se puede usar <ol> y la única diferencia que hay es que numera cada uno de los elementos de la lista.

Con esto la teoria ya está acabada, ahora un poco de código... Veréis que las listas se pueden anidar y generar arboles realmente complejos de información.

Código:
<ul>
  <li><a href="http://lordpakus.blogspot.com/"> Página principal </a></li>
  <li>
    <a href="#"> Tutoriales de programación </a>
    <ul>
      <li><a href="#"> Lenguajes </a>
<ul>
 <li><a href="http://lordpakus.blogspot.com.es/p/tutorial-de-programacion-cc.html"> C/C++ </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/curso-de-html-desde-cero.html"> WEB </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/java-desde-0.html"> Java </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/tutorial-de-ensamblador-x86.html"> ASM </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/tutorial-batch-bat-script-desde-0.html"> Batch </a></li>
</ul>
      </li>

      <li><a href="#"> Programación gráfica </a>
<ul>
 <li><a href="http://lordpakus.blogspot.com.es/p/lordpakus-game-engine.html"> Motores gráficos </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/opengl-desde-0.html"> OpenGL </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/directx-desde-0.html"> DirectX </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/pakengine.html"> PakEngine </a></li>
 <li><a href="http://lordpakus.blogspot.com.es/p/t utorial-batch-bat-script-desde-0.html"> Batch </a></li>
</ul>
      </li>
      <li><a href="#"> otras opciones </a></li>
      <li><a href="#"> blablablablal </a></li>
    </ul>
  </li>
  <li><a href="#"> bliblibilblib </a></li>
</ul>


Lo que vemos:
Misma estructura de listas cambiando todos los ul por ol
  1. Página principal
  2. Tutoriales de programación
    1. Lenguajes
      1. C/C++
      2. WEB
      3. Java
      4. ASM
      5. Batch
    2. Programación gráfica
      1. Motores gráficos
      2. OpenGL
      3. DirectX
      4. PakEngine
      5. Batch
    3. otras opciones
    4. blablablablal
  3. bliblibilblib


Nos vemos

LordPakusBlog

Entradas populares