Programadores. El hilo de los hinformáticos profesionales como PABLOPL.

if (jugador=="Black Adder") cout << "ha ganado Black Adder" << endl; :jew:



La gracia es hacer como un tutorial, que lo siga quien quiera, y poner posibles soluciones al día siguiente.

Lo he hecho sencillico sin lista de jugadores ni bucles para que se entienda fácil. De todas formas me parece un inicio un poco fuerte para alguien que no tiene ni idea, sería mejor un cara o cruz, luego un pares o nones, etc. Empezar de 0 y luego ir subiendo el nivel poco a poco. Que diga abogado.
 
Hagamos una cosa.

Yo apadrino a abogado en un hilo y todos vosotros a la gorda en otro. Para año nuevo, el que sepa programar menos es baneado.



CODE WARS
 
Última edición:
Tengo por aquí un libro de fractales en el que se usa javascript. Es, sin duda, el PEOR lenguaje para esta aplicación. Al menos para usarla de forma que tenga interés más allá de una superficial curiosidad.

Pero se justifica porque permite ir al grano desde el principio y permite explicar cómo generar esas formas tan hipnóticas.

Tengo el código en este ordenador, pero el libro está en el kindle.

Dejo el ejemplo de la costa:

Librería (o biblioteca) chaos.js, es la base que usan el resto para dibujar:

Código:
[FONT=courier new]var chaos = (function() {

    return {

        /**
         * Initializes chaos by finding the canvas on the page and resizing it to the
         * full size of the browser.
         */
        init: function() {
            this.canvas = document.getElementById("canvas");
            this.context = this.canvas.getContext("2d");
            this.setSize(window.innerWidth, window.innerHeight);
        },

        setSize: function(width, height) {
            this.width = this.canvas.width = width;
            this.height = this.canvas.height = height;
        },

        /**
         * Clears the canvas by filling it with the color specified, or erasing all
         * pixels if no color is specified.
         */
        clear: function(color) {
            if(color) {
                this.context.fillStyle = color;
                this.context.fillRect(0, 0, this.width, this.height);
            }
            else {
                this.context.clearRect(0, 0, this.width, this.height);
            }
        },

        /**
         * Pops up a bitmap image representation of the canvas in a new window.
         */
        popImage: function() {
            var win = window.open("", "Canvas Image"),
                src = this.canvas.toDataURL("image/png");

            win.document.write("<img src='" + src
                // + "' width='" + this.width
                // + "' height='" + this.height + "'/>");
                    // Modificación hecha para personalizar imagen de salida al exportar
                    + "' width='" + 4000
                + "' height='" + 2250 + "'/>");

        }
    };

}());
[/FONT]

Este es el código que corresponde a este ejemplo de fractal:

Código:
window.onload = function() {
    var points = [],
        offset = 0,
        scaleFactor = .625;

    init();

    function init() {

        chaos.init();

        offset = chaos.height / 2;

        points.push({
            x: 0,
            y: chaos.height / 2
        });

        points.push({
            x: chaos.width,
            y: chaos.height / 2
        });

        drawCoast();

        document.body.addEventListener("keyup", function(event) {
            console.log(event.keyCode);
            switch(event.keyCode) {
                case 32: // space
                    iterate();
                    drawCoast();
                    break;

                case 80: // p
                    chaos.popImage();
                    break;

                default: 
                    break;
            }
        });


    }

    function drawCoast() {
        chaos.clear("#0033CC");
        chaos.context.fillStyle = "#00CC00";
        chaos.context.beginPath();
        chaos.context.moveTo(points[0].x, points[0].y);
        for(var i = 1; i < points.length; i += 1) {
            chaos.context.lineTo(points[i].x, points[i].y);
        }
        chaos.context.lineTo(chaos.width, chaos.height);
        chaos.context.lineTo(0, chaos.height);
        chaos.context.fill();
    }

    function iterate() {
        var newPoints = [];
        for(var i = 0; i < points.length - 1; i += 1) {
            var p0 = points[i],
                p1 = points[i + 1],
                newPoint = {
                    x: (p0.x + p1.x) / 2,
                    y: (p0.y + p1.y) / 2
                };

            newPoint.x += Math.random() * offset * 2 - offset;
            newPoint.y += Math.random() * offset * 2 - offset;
            newPoints.push(p0, newPoint);
        }
        newPoints.push(points[points.length - 1]);
        points = newPoints;
        offset *= scaleFactor;
    }
}

Y este es el archivo .html con el que veremos el resultado en el navegador:

Código:
window.onload = function() {
    var points = [],
        offset = 0,
        scaleFactor = .625;

    init();

    function init() {

        chaos.init();

        offset = chaos.height / 2;

        points.push({
            x: 0,
            y: chaos.height / 2
        });

        points.push({
            x: chaos.width,
            y: chaos.height / 2
        });

        drawCoast();

        document.body.addEventListener("keyup", function(event) {
            console.log(event.keyCode);
            switch(event.keyCode) {
                case 32: // space
                    iterate();
                    drawCoast();
                    break;

                case 80: // p
                    chaos.popImage();
                    break;

                default: 
                    break;
            }
        });


    }

    function drawCoast() {
        chaos.clear("#0033CC");
        chaos.context.fillStyle = "#00CC00";
        chaos.context.beginPath();
        chaos.context.moveTo(points[0].x, points[0].y);
        for(var i = 1; i < points.length; i += 1) {
            chaos.context.lineTo(points[i].x, points[i].y);
        }
        chaos.context.lineTo(chaos.width, chaos.height);
        chaos.context.lineTo(0, chaos.height);
        chaos.context.fill();
    }

    function iterate() {
        var newPoints = [];
        for(var i = 0; i < points.length - 1; i += 1) {
            var p0 = points[i],
                p1 = points[i + 1],
                newPoint = {
                    x: (p0.x + p1.x) / 2,
                    y: (p0.y + p1.y) / 2
                };

            newPoint.x += Math.random() * offset * 2 - offset;
            newPoint.y += Math.random() * offset * 2 - offset;
            newPoints.push(p0, newPoint);
        }
        newPoints.push(points[points.length - 1]);
        points = newPoints;
        offset *= scaleFactor;
    }
}


Si no queréis entender nada y pasar directamente a la generación de líneas de costa como un mapa aleatorio (imagina las partidas de CIV2...), copia el primer texto en el archivo chaos.js. Copia luego el segundo en el archivo coast2.js y guárdalo en la misma carpeta. Por último, copia el tercer texto en el archivo coast2.html junto a los otros y luego arrástralo a tu navegador o haz doble clic.

Pulsa la barra espaciadora para una iteración más. Actualiza para volver a empezar.

El número de iteraciones que puedas hacer dependerá de los recursos de los que disponga tu navegador.
 
Última edición:
Lo acabo de hacer en python.

Código:
[noparse]import random

tiradaArmin = random.choice(range(3))
tiradaAdder = random.choice(range(3))

    
if tiradaArmin == 0:
        print "Armin ha obtenido piedra"

if tiradaArmin == 1:
    print "Armin ha obtenido papel"

if tiradaArmin == 2:
    print "Armin ha obtenido tijeras"


if tiradaAdder == 0:
        print "Black Adder ha obtenido piedra"

if tiradaAdder == 1:
    print "Black Adder ha obtenido papel"

if tiradaAdder == 2:
    print "Black Adder ha obtenido tijeras"

print #

if tiradaAdder == tiradaArmin:
    print "Ha habido un empate!"

if tiradaArmin == 0:
    if tiradaAdder == 1:
        print "Ha ganado Black Adder!"
    if tiradaAdder == 2:
        print "Ha ganado Armin!"

if tiradaArmin == 1:
    if tiradaAdder == 0:
        print "Ha ganado Armin!"
    if tiradaAdder == 2:
        print "Ha ganado Black Adder!"

if tiradaArmin == 2:
    if tiradaAdder == 0:
        print "Ha ganado Black Adder!"
    if tiradaAdder == 1:
        print "Ha ganado Armin!"[/noparse]

Por cierto.

admd76.png


Te he ganado. .pringui

¿Podrías subir un gameplay, por favor?
 
No, tampoco es eso, pero que quiere hacer un puto pong. Un puto pong, y le mandáis no sé qué hostias de 3D que ni siquiera conozco.

PD: la web que me pusiste el otro día es una pasada, thx.

3D?? Si le he aconsejado un puto lapiz y un papel :lol: Quien ha sido el belloto del 3D que de la cara.

A lo de la web no hay de que, pa' eso estamos.


Yo apadrino a abogado en un hilo y todos vosotros a la gorda en otro. Para año nuevo, el que sepa programar menos es baneado.

Si hombre enseñar a Macokra, no se tu, pero yo no me he encontrado ni una sola programadora destacada en toda mi carrera, ojo que las habrá pero a mi me dices tía+programación y de primeras suelto un bufido que la despeino.


PD: No puedo decir lo mismo de jefas de proyecto, las he tenido cojonudas.
 
Igual aprender a programar va a ser su propósito de año nuevo para 2017. Hay gente que dice que va a dejar de fumar, él esto.
 
Javascript es el horror, la enfermedad, la tristeza, la pesadumbre.
 
O'Reilly ofrece libros de programación gratuitos

O'Reilly ha abierto una sección de libros de programación gratuitos. Hay 4 de Java, 7 de Python, una sección de varios e incluso algunos sobre Open Source. Para descargar cualquiera de ellos (PDF, ePub o Mobi) sólo hay que introducir una dirección de email que no se verifica.

https://www.oreilly.com/programming/free/

Venga a descargar todo el mundo.
 
Ya tengo mi libro de Javascript. Aunque como @abogado alcoholico no me pongo hasta Enero, por temas de agenda. La diferencia entre el y yo es que yo sé por donde me da el aire y mis promesas no son vagas y etéreas.

¿A que no se os a ocurrido recomendarle que empiece con HTML y CSS para enterarse de que va la programación? No padre.

Abobado, empieza por aquí, registrate, que si no me equivoco puedes configurarlo en español (argentino). Ahí empezaras a comprender un poco como funciona los códigos de programación, aunque realmente HTML y CSS no lo sean.

https://www.codecademy.com/es/learn/learn-html-css
 
HTML y css para enterarse de programación... Aham.

Y luego que aprenda Word que sirve para escribir bien.

Me cago en la puta madre de algunos.
 
Vasco, como va a aprender programación si no todavía no comprende ni el concepto. Si le enseñas el código del Cara o cruz y lo ve como jeroglíficos. Con HTML aprenderá el funcionamiento de las etiquetas, elementos y atributos. Que si le aplicas unos atributos a un texto le das unas propiedades que luego toman forma visual en pantalla. Que puedes introducir una imagen y con el código adecuado puedes pinchar en la imagen y que te lleve a un link, etc. Este tío no conoce ni las posibilidades mas básicas de la programación (ni del HTML).
 
Es que para ese nivel mejor que con HTML (que no deja de ser sólo un lenguaje de formato de texto) podría hasta empezar con el mismísimo Logo que aprendería mil veces más.

https://turtleacademy.com
 
Ya tengo mi libro de Javascript. Aunque como @abogado alcoholico no me pongo hasta Enero, por temas de agenda. La diferencia entre el y yo es que yo sé por donde me da el aire y mis promesas no son vagas y etéreas.

¿A que no se os a ocurrido recomendarle que empiece con HTML y CSS para enterarse de que va la programación? No padre.

Abobado, empieza por aquí, registrate, que si no me equivoco puedes configurarlo en español (argentino). Ahí empezaras a comprender un poco como funciona los códigos de programación, aunque realmente HTML y CSS no lo sean.

https://www.codecademy.com/es/learn/learn-html-css

Eh eh eh, no dije enero, dije antes de Semana Santa :lol:.

Tengo pendiente programar un pong y un piedra papel tijera. No se como poyas empezare ni que lenguaje coger. EN ESTO ULTIMO PODIAIS SER UN POCO MAS CLAROS para cuando me meta en el fregao. Aun nadie me dice de forma clara para que necesita programar y que lenguiaje se adapta a tal fin.

Todas las paginas de tutoriales que estais poniendo la estoy poniendo en marcadores. Lo que necesitare seguro sera alguien que me diga donde puedo encontrar los conceptos basicos de programacion para enterarme de que estoy haciendo o que se me pide o tengo que hacer. Con eso seria un 44% mas feliz en la vida.
 
Para juegos en 2D tienes python y pygame.

El problema de los juegos es que son mucho más fáciles de usar que de comprender en su funcionamiento más básico y elemental. Desmenuzar toda la lógica y física que hay detrás no es moco de pavo.

HTML y CSS no son lenguajes de programación. Son algo bien distinto. Útiles e importantes, sin duda, pero son lo contrario a programar. Son repetitivos y tediosos. Si encima resulta que no tienes gusto alguno por lo estético y tu capacidad de imaginar hasta dónde pueden llegar es muy limitada, es una forma autodestructiva de empezar.

Javascript como lenguaje es una mierda, pero es verdad que para ver algún resultado en la pantalla más allá de un print("Caca") resulta más atractivo para el principiante. Como complemento a HTML y CSS tiene mucho que ofrecer y creo que Dr. LeChuck, sabiendo lo que quiere conseguir, le sacará mucho partido. Seguramente a abogado también le venga bien y no estaría mal que se nos callara la boca a unos cuantos demostrando que javascript puede ser un lenguaje ideal para aprender.

Ahí dejo el guante, porque yo lo detesto.
 
Oido cocina. Apunto javascript para empezar. Que quereis que os programe?:lol: Lo digo en serio, mandadme aunque sea alguna cosa basica, aunque solo sea una, y decidme como encontrar el modo para programarlo. Basicamente para tener una referencia de como aprender (tutoriales ya puestos aparte). Luego mandadme otra cosa y ya lo intento por mi cuenta dentro de unos meses.

Importante, hay algun programa que tenga que bajarme para programar con javascript? Quiero decir: me siento en la silla de las pajas y me digo, voy a programar al fin. Vale. Me termino la paja y despues de limpiarme que hago? Donde se programa?

Me resulta gracioso verme como un retrasado mental. Lo que entendeis de esto teneis que estar muriendo por dentro.
 
Oido cocina. Apunto javascript para empezar. Que quereis que os programe?:lol: Lo digo en serio, mandadme aunque sea alguna cosa basica, aunque solo sea una, y decidme como encontrar el modo para programarlo. Basicamente para tener una referencia de como aprender (tutoriales ya puestos aparte). Luego mandadme otra cosa y ya lo intento por mi cuenta dentro de unos meses.

Importante, hay algun programa que tenga que bajarme para programar con javascript? Quiero decir: me siento en la silla de las pajas y me digo, voy a programar al fin. Vale. Me termino la paja y despues de limpiarme que hago? Donde se programa?

Me resulta gracioso verme como un retrasado mental. Lo que entendeis de esto teneis que estar muriendo por dentro.

Programar "¡Hola, Mundo!" con una línea de código que lo imprima es el primer ejercicio de casi cualquier manual. También puedes programar un termómetro, que es otro ejercicio básico que se manda en las primeras prácticas.

Sobre lo último que dices, no sé qué tiene de gracioso asimilar la realidad de los hechos. Generalmente es un drama.
 
¿Se pueden hacer cucamonas visuales en Javascript? Quiero decir, elementos que se mueven y transforman al pasar el puntero sobre ellos y cosas así. Sé que hay ciertas cosas que se pueden hacer con CSS pero no sé si Javascript ofrece posibilidades en ese aspecto.

Mas o menos cuando empiece con el Javascript tendré tiempo para hacerme una web donde colgar algunas de las mierdas que hago con Photoshop y tal.

Todavía es pronto, pero tengo en la cabeza la siguiente idea: Una pantalla vacía, salvo tal vez un logo en una esquina, un fondo oscuro y un cuadrado en medio de la pantalla. El cuadrado en cuestión son cuatro cuadrados juntos, pero eso inicialmente no se percibe visualmente. Voy a obviar adornos y pequeños detalles para hacerlo mas bonito. Al pinchar sobre el cuadrado los cuatro pequeños cuadrados que lo forman se separan unos centímetros unos de otros y al mismo tiempo se agrandan un poco, luego aparece en cada uno un texto o imagen; PHOTOSHOP, ILLUSTRATOR, WEB Y MISCELANEA. Al pinchar sobre cada uno de estos elementos llevaría a una galería de imágenes.


wecss_zpsq9nrzkg1.jpg
[/URL][/IMG]
 
¿Se pueden hacer cucamonas visuales en Javascript? Quiero decir, elementos que se mueven y transforman al pasar el puntero sobre ellos y cosas así. Sé que hay ciertas cosas que se pueden hacer con CSS pero no sé si Javascript ofrece posibilidades en ese aspecto.

Mas o menos cuando empiece con el Javascript tendré tiempo para hacerme una web donde colgar algunas de las mierdas que hago con Photoshop y tal.

Todavía es pronto, pero tengo en la cabeza la siguiente idea: Una pantalla vacía, salvo tal vez un logo en una esquina, un fondo oscuro y un cuadrado en medio de la pantalla. El cuadrado en cuestión son cuatro cuadrados juntos, pero eso inicialmente no se percibe visualmente. Voy a obviar adornos y pequeños detalles para hacerlo mas bonito. Al pinchar sobre el cuadrado los cuatro pequeños cuadrados que lo forman se separan unos centímetros unos de otros y al mismo tiempo se agrandan un poco, luego aparece en cada uno un texto o imagen; PHOTOSHOP, ILLUSTRATOR, WEB Y MISCELANEA. Al pinchar sobre cada uno de estos elementos llevaría a una galería de imágenes.


wecss_zpsq9nrzkg1.jpg
[/URL][/IMG]

Javascript ES el lenguaje de las cucamonas visuales en desarrollo web.

Una persona con tu paciencia y habilidades le puede sacar auténtico HORO.

Para rizar el rizo tienes el elemento CANVAS, donde puedes jugar con una libertad y capacidad de interacción muy interesantes.
 
Agradesido. Me ha entrado ansia viva de ponerme a ello, aunque por ahora solo fuese HTML y CSS, sobre todo porque desde que he hecho ese dibujo mi idea se ha refinado, pero debo esperar. Cada cosa a su debido tiempo.
 
Agradesido. Me ha entrado ansia viva de ponerme a ello, aunque por ahora solo fuese HTML y CSS, sobre todo porque desde que he hecho ese dibujo mi idea se ha refinado, pero debo esperar. Cada cosa a su debido tiempo.

Si no te puedes poner por cualquiera que sea la razón, tienes la suerte de poder ir curioseando sobre el tema. Aprender la jerga o lo que está de moda. A mí me gusta estar suscrito a las newsletter de editoriales especializadas porque te tiene bastante al día de dónde hay interés. Además de que suelo picar a menudo. Hace poco fue la semana de python y no os avisé.

El fin de semana pasado han regalado uno de introducción a Angular JS 2, que es uno de los infinitos frameworks que ofrece posibilidades muy interesantes y una sintaxis que echa para atrás al pensar que en una siguiente versión se lo carguen como hicieron en el salto de la primera a la segunda.

No necesitas ayuda en cuál elegir. Todos te darán algunos problemas y resolverán otros, curiosea ahora que no tienes que hincar los codos y el que te dé buenas sensaciones, el que tenga la web en la que más a gusto entras, úsalo para hacer lo que se te venga en gana.

Lo de ir haciéndote dibujos y pajas mentales tampoco lo abandones, es la parte más importante para conseguir con javascript lo que quieres.

Al final ha triunfado como la herramienta estándar de diseño e interacción, concedámosle el respeto que se merece este lenguaje de mierda.
 
Atrás
Arriba Pie