viernes, 12 de abril de 2013

Lanzamiento

LANZAMIENTO


El lanzamiento va a ser efectuado implementando una abstracción del lanzamiento parabólico por medio de un código fuente que por medio de la velocidad y el angulo, dos parámetros que seleccionara el usuario al momento de lanzar!

Código Fuente:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Proyectil extends JApplet implements Runnable {

    private PanelDibujo panelDibujo;
    private PanelBotones panelBotones;
    private double z; //posición y
    private double z0; //posición y inicial
    private double vz0; //velocidad y inicial;
    private double x;// posición x;
    private double x0; //posicion x inicial;
    private double vx0; //velocidad x inicial ;
    private double velocidadInicial;
    private double tiempo;
    private boolean puedoDisparar = true;
    private int angulo;

    @Override
    public void init() {

        setSize(400, 450);
        panelDibujo = new PanelDibujo();
        panelBotones = new PanelBotones();
        setLayout(new BorderLayout());
        add(BorderLayout.CENTER, panelDibujo);
        add(BorderLayout.SOUTH, panelBotones);
        iniciarVariables();
    }

    public void iniciarVariables() {
        z = 290;
        z0 = 0;
        //se aplica la fórmula v0=v0.senθ
        vz0 = velocidadInicial * Math.sin(Math.toRadians(angulo));
        //se aplica la fórmula v0=v0.cosθ
        vx0 = velocidadInicial * Math.cos(Math.toRadians(angulo));
        x = 10;
        x0 = 0;
        tiempo = 0;
    }

    public void disparar() {
        if (puedoDisparar) {
            new Thread(this).start();
        }
    }

    public void update() {
        //actualizar el tiempo y la nueva posicion.
        double incrementoTiempo = 0.05;
        tiempo += incrementoTiempo;

        //se aplica la fórmula x= v0.cosθ.t
        x = vx0 *Math.cos(Math.toRadians(angulo))* tiempo;
        //posicionamos el proyectil respecto a sus coordenadas iniciales.
        x = x + 10;

        double g = -9.81;

        //se aplica la fórmula y(t)=v0 . sen θ . t - .5 g t2.
        z =  vz0 * Math.sin(Math.toRadians(angulo)) * tiempo + 0.5 * g * tiempo * tiempo;
        //posicionamos el proyectil respecto a sus coordenadas iniciales.
        z = 290 - z;

    }

    public void run() {

        puedoDisparar = false;
        //El bucle se ejecuta hasta que el projectil sobrepasa el suelo.
        while (z < 300) {
            try {

                update();
                Thread.sleep(20);
                panelDibujo.repaint();

            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }

        }
        //Reinicia las varibles y activa el disparo
        iniciarVariables();
        panelDibujo.repaint();
        puedoDisparar = true;
    }

    class PanelDibujo extends JPanel {

        public PanelDibujo() {
            setSize(400, 400);
            setDoubleBuffered(true);
        }

        @Override
        public void paint(Graphics g) {
            g.setColor(Color.DARK_GRAY);
            g.fillRect(0, 0, 400, 400);
            g.setColor(Color.ORANGE);
            g.drawLine(0, 300, 400, 300);
            g.fillOval((int) x, (int) z, 10, 10);
        }
    }

    class PanelBotones extends JPanel implements ActionListener {

        JButton boton;
        JTextField textFieldVelocidad;
        JTextField textFieldAngulo;
        JLabel labelVelocidad;
        JLabel labelAngulo;

        public PanelBotones() {

            setSize(400, 50);
            boton = new JButton("disparar");
            labelAngulo = new JLabel("ángulo");
            textFieldVelocidad = new JTextField("50 ");
            textFieldVelocidad.setColumns(3);
            textFieldAngulo = new JTextField("45");
            labelVelocidad = new JLabel("Velocidad ");
            
            add(boton);
            add(labelAngulo);
            add(textFieldAngulo);
            add(labelVelocidad);
            add(textFieldVelocidad);

            boton.addActionListener(this);
        }

        public void actionPerformed(ActionEvent e) {
            velocidadInicial = Double.valueOf(textFieldVelocidad.getText());
            angulo = Integer.valueOf(textFieldAngulo.getText());
            iniciarVariables();
            disparar();
        }
    }
}
(Tomado de: http://nekan.serveblog.net/content/movimiento-parabolico-de-un-proyectil)

Borrador

BORRADOR

Aquí podemos ver un borrador del tablero del juego, donde se puede observar el avatar que ha seleccionado el jugador y la cancha de juego.


Inicio

INICIO



Esta es la vista previa del inicio del juego.

Cuenta con tres botones, comenzar; que da inicio al juego, Ayuda; brinda una vista rápida de las instrucciones y salir por si no se quiere seguir jugando!

viernes, 22 de febrero de 2013

Requisitos

REQUISITOS

  • El juego cuenta con un selector de personajes, ya sea hombre o mujer.
  • El videojuego ademas tiene un selector del tipo de 'tejo' y el diesño que le quiera dar a este.
  • En el momento de lanzar el tejo tendrá un medidor de angulo y uno de potencia del lanzamiento para obtener un mejor disparo.
  • Habra diferentes campos de juego o "clubes de tejo" para escoger el lugar donde desea jugar.
  • Tendrá diferentes tipos de juego a escoger, ya sea en grupos o individual.
  • Las partidas o 'chicos' que se jugara, ya sea contra un oponente virtual, la pc, o contra otro amigo.
  • Tendrá un tutorial de inicio, explicando la manera de jugar y ademas tendrá una sesión de entrenamiento.

martes, 19 de febrero de 2013

Objetivo

CUAL ES EL OBJETIVO DEL PROYECTO?

El objetivo es crear un vídeo juego basado en el deporte criollo 'TEJO', el juego tendrá como objetivo dar a conocer el deporte de una manera divertida para quienes no lo conozcan bien, mediante el lanzamiento del tejo hacia la cancha se obtiene puntos dependiendo del lugar donde quedo el tejo dentro de la cancha. A medida que avanza el juego se va consumiendo cerveza y va afectando en la calidad del lanzamiento del jugador. Finalmente al finalizar juego se gana lo apostado entre los equipos  desde media canasta hasta tres canastas de cerveza, dependiendo del numero de integrantes del juego.

viernes, 15 de febrero de 2013

Oración

HAY UNA ORACIÓN?

Realmente si la hay y pocos la conocen, la traigo el día de hoy para el conocimiento de quien visite el blog:

Gracias Señor porque me has dotado de potencialidades deportivas y he logrado desarrollarlas en sana competencia. Gracias por permitirme practicar este deporte autóctono y conocer tantos amigos, lo cual estimula la sana convivencia.

Padre celestial concédeme las energías necesarias para que mi cerebro elabore la biodinámica de las mejores jugadas.

Concédeme Señor iniciar la competencia con optimismo y dentro de ellas tener siempre confianza en mis capacidades.

Señor haz de mí, un deportista humilde; ejemplo para mi familia, mi Liga y mi Club, sin menospreciar a mis contendores, aunque haya obtenido el más grande de los éxitos deportivos.

Dios mío, ayúdame a iluminar a nuestros dirigentes deportivos para que sus decisiones sean las más acertadas en beneficio del deporte con un futuro mejor.
Gracias oh Dios mío, por ser nuestro padre y amigo, esencia de mi vida y luz de mi camino. Gracias por todo lo que me has concedido.

Te alabamos sin cesar. Amén.

Autor: José Gustavo González - Liga de Tejo del Valle

jueves, 14 de febrero de 2013

Himno

COMO ES EL HIMNO?

El tejo como cualquier otro deporte, cuenta con un himno, desconocido para la gran mayoría pero interpretado por sus más fieles seguidores. Con el ánimo de transmitir lo que representa para el pueblo colombiano el tejo, he aquí el himno.

Autor letra: José Néstor Rodríguez Jiménez
Autor música: Néstor Julio Herrera Ladino

CORO 
Orgullosos cantemos al tejo
disciplina y deporte nacional
de esperanza y de fe en nuestra raza
es riqueza de nuestra nación.
Nuestra herencia el ancestro dejara
con oro un tejo el Cacique forjó
en Boyacá Dios quiso que naciera
y por cuna le dio a Turmequé.
II
Con el pulso y destreza lanzaron
y le dieron altura y bondad
recuerdo a su historia dejaron
Torres, Ayala, Fandiño, y Agray.
III
Patrimonio y Ley de la patria
lucha de un hombre ferviente y tenaz
Edgar Perea el ponente
Plinio Mendoza el autor.
Bis....