Tras mucho tiempo sin subir algo (pero si trabajando en el proyecto ) he subido una imagen de lo que va a ser la pantalla donde se va a desarrollar las partidas. (Los colores y tamaños de las fuentes no son los definitos).
adjunto:
preguntas.png
leer más
Publicada una versión de LongoMatch, la 0.14!
En esta versión me he centrado en mejorar la usabilidad del programa, añadiendo la posibilidad de desplazarse dentro de una jugada, mejorando el marcado de jugadas en el timeline y añadiendo la posibilidad de cambiar el zoom mediante una barra.
Además he implementado un notificador de nuevas versiones, para que los usuarios de Windows estén siempre a la última.
Otra característica importante que he añadido es la posibilidad de exportar los proyectos a archivos CSV, para poder realizar estadísticas de los encuentros.
Como siempre lo podéis descargar desde la página web
Espero que os guste!
Nos encontramos en una fase de transición todavía difícil de definir, pero que se basa claramente en la relación.
El corazón de PIE se basa en ayudar a la gente a hacer frente a sus complejos (o no) y de las cuestiones que más le hacen pensar.
La estructuración de PIE se construye alrededor de la “lógica informal” - es decir, la lógica que usa todo el mundo para discutir en la vida cotidiana.
La estructura de la lógica informal consta de 3 niveles:
- Tus estudios (asignaturas,cursos,etc…) - Lo que piensas que es fundamental para ti
- Propuestas (Porque…) - Lo que se piensa que debe cambiar en cuanto a la enseñanza
- Pruebas (soportados por…) - El apoyo a pruebas para fundamentar los estudios
Aunque PIE puede ser utilizado sólo por diversión, estoy deseoso de que los maestros / profesores se pongan a utilizarlo, que se utilice en el aula / sala de reuniones para ayudar a los estudiantes a mejorar / desarrollar su razonamiento y el pensamiento crítico en su escritura y la comunicación verbal.
He ideado una serie de aplicaciones de bajo coste de mantimiento y de código libre para usar en las aulas de forma sencilla
Me encantaría escuchar la opinión de los educadores para que ayuden a desarrollar aún más el proyecto, espero que se utilice para fines de educación formal. También estoy interesado en asociarme con los maestros / profesores para ayudar a desarrollar una serie de aplicaciones educativas para el aula (módulos).
Soy un estudiante con trabajo en ámbito profesional, de forma que si tienes una idea de cómo puede ser utilizado el proyecto PIE en el ámbito educativo no dude en comunicármelo.
Introducción
En un sistema distribuido orientado a objetos es necesario “poner de acuerdo” a los objetos que lo conforman. De esta forma, debe existir un mecanismo para definir qué métodos tienen los objetos y de qué forma se pueden acceder a los objetos.
En orientación a objetos, una de las formas posibles para realizar este mecanismo son las interfaces. Un objeto que implementa una interfaz se puede ver como un objeto que cumple una serie de condiciones y que proporciona servicios al resto. Por tanto, la interfaz es el contrato del objeto con el resto del mundo. Conociendo su interfaz podemos conocer qué métodos implementa un objeto y qué restricciones nos impone al utilizar sus servicios sin tener que contactar con él, a priori.
En cada uno de los lenguajes de programación, las interfaces se declaran de una forma u otra. Por este motivo, Ice (el middleware orientado a objetos que se utiliza en IcePick) proporciona un lenguaje de más alto nivel para construir interfaces de objetos. Este lenguaje se llama Slice. Además, Ice proporciona mecanismos para crear código (esqueletos de implementación, código auxiliar, etc.) a partir de la propia definición Slice. Por ejemplo, escribimos una interfaz en Slice y queremos generar el código para C++ pues utilizaríamos la herramienta slice2cpp que proporciona Ice.
Slice y Icepick, ¿están relacionados?
Como ya sabemos, IcePick permite la definición de un sistema distribuido mediante un lenguaje descriptivo. Dicho sistema es orientado a objetos y, por tanto, debemos tener algún sistema de definición de interfaces para los objetos que se crearán en IcePick. ZeroC (empresa creadora de Ice) implementó Slice de forma que fuera extensible, es decir, cualquier persona podría crear un generador de código a partir de Slice de forma sencilla (utilizando la librería libSlice creada en C++).
Como Ice es software libre y, además, el software está para reutilizarse; si tenemos un lenguaje y un compilador que permite la especificación de interfaces ya construido (y fácilmente integrable), pues utilicémoslo :-). Por ello, uno de los lenguajes de entrada de IcePick es Slice.
Sin embargo, este “casamiento” con la tecnología de Ice es controvertido. IcePick debe soportar otro lenguaje para especificar de interfaces. Por ejemplo, en CORBA (otro middleware orientado a objetos) las interfaces se describen en IDL, que no es sino otro lenguaje de especificación de interfaces similar a Slice.
IcePick no se limita a Slice. En la implementación actual sólo se soporta Slice, pero es posible crearse un componente que pueda ser capaz de leer otro tipo de lenguaje de especificación de interfaces.
Ejemplo
Un ejemplo de Slice podría ser el siguiente:
// -*- mode:c++ -*-
module Ejemplo {
interface Saludador {
void saluda(string nombre);
};
};
Slice obliga a que haya un módulo como mínimo. Un módulo de Slice agrupa interfaces, por lo que en el ejemplo tenemos un módulo llamado “Ejemplo” que tiene una interfaz llamada “Saludador”. Un objeto que implemente esta interfaz debe tener, como mínimo, el método “saluda”. No se especifica qué se va a hacer en el método, eso ya dependerá de la clase que implemente esa interfaz.
Salvamos el contenido en un fichero llamado “Ejemplo.ice” y nos disponemos a crear una clase en Python que implemente esa interfaz. Podríamos utilizar “slice2py” para crear los archivos necesarios pero, en el caso de Python, Ice proporciona una utilidad todavía más sencilla de utilizar:
# -*- mode:python -*-
import Ice
Ice.loadSlice("Ejemplo.ice")
import Ejemplo
class MiObjeto(Ejemplo.Saludador):
def __init__(self):
pass
def saludar(self, name, current = 0):
print "Hola,", name
ob = MiObjeto()
ob.saludar("amigo")
La función loadSlice parsea y carga los módulos incluidos en el fichero Slice. Por ello, a continuación ya podemos cargar el módulo Ejemplo. MiObjeto es una clase que implementa la interfaz Saludador. Como vemos, tiene un método llamado saludar que acepta un string (name) y otro parámetro necesario para que Ice pueda realizar las invocaciones remotas. Sin embargo, es posible utilizar el objeto localmente (como se hace en el ejemplo) por lo que ese parámetro, por defecto, puede ser nulo.
Las instancias de “MiObjeto” ya pueden ser accesibles por cualquier entidad del sistema distribuido. Sólo haría falta unos pequeños detalles más para hacerlo público al resto del mundo. Estos detalles los veremos en la siguiente entrega.
Acabamos de reestructurar la forja y empezamos a subirlo todo. Por una cosa o por otra teniamos hecho bastante, pero no subido. Esperemos que nos de tiempo a subirlo todo...
Después del éxito que ha tenido el sub-proyecto GStreamer-WinBuilds en la comunidad de desarrolloadores de GStreamer, he decido presentarlo al Google Summer of Code. Mi propuesta es trabajar junto con el equipo de GStreamer para facilitar el desarrollo de GStreamer en Windows, lo cual pasa por 3 importantes puntos:
Ahora sólo falta que el equipo de GStreamer lo considere de interés!
Bueno, he decidido que la captura, al ser tan dificil solamente con dos fotos y al ser también a la vez mucho más dificil capturar los colores, cambiarla a una malla la cual tienes que hacer 6 fotos, pero es mucho mas intuitivo y fácil.
Dejo una captura para que se vean los cambios y progresos
Seguiré con lo cambios para poder capturar los colores y hacer unas cuantas excepciones al detectar que color es cada cual, lo que creo que me resultará un poco difícil,
Saludos!!!
planficiacon_pfc
Aquí os dejo la planificación que me he propuesto con cara al concurso y que cumpliré a raja tabla, debido a que he estado programando a la ligera y luego tiene consecuencias nefastas , y encima que uno hace su proyecto de fin de carrera y libre, tiene doble responsabilidad y no debo subir cualquier cosa, ya a partir de ahora me pondré serio con el proyecto
Reitero que a pesar de esto pondré una versión operativa del juego como una rama del proyecto (rama que mejor olvidar y que será un borrador de lo que quiero conseguir)
Me tengo que poner las pilas antes que me absorban los exámenes de Junio.
Un saludo a todos.
Subiré una versión operativa en varios días para que podéis ver a grandes rasgos , como va el juego, para mostrároslos funcional, pero esto se verá en el repositorio como una rama, por lo que tardaré varios días en familiarizarme con esa parte del svn que es nueva para mí.
Como estoy Depurando el código, ahora estoy haciendo mejoras y reorganizando todo por eso subiré al svn todo poco a poco y de paso lo explico por aquí .
Por que no quiero que mi proyecto no caiga en saco roto, ni se quede por la mitad, iré muy poco a poco , subiendo en la forja las mejoras que estoy haciendo en el código fuente. También pondré en la forja la versión del juego funcional (más o menos) que he programado , pero esa no es ni de broma la versión buena del proyecto la pondré como una rama del proyecto (una rama perdida,para que veáis lo que pueden hacer las prisas).
La clase Manager (también podéis verla como Mod_Animation en la rama perdida de mi proyecto) gestionará los cambios en el jugador mediante una serie de booleanos , lo importante del código es la sincronización entre el sistema de animaciones (Clase Animacion) y el sistema de colisiones ( clase Colision ) mediante la función cambia_estado() , podeis verlo con más detalle en el código fuente , hay que tener en cuenta la sintaxis de como accede a las animaciones y como accede a las colsiones, fijaros en esta variable:
Colision.cambia(int ent)
animacion.cambiar(std::string tipo );
Teniendo en cuenta que el int ent, en principio, digo en principio por que de momento todo esto puedo estar sujeto a cambios, no obstante su esencia y funcionamiento sera el mismo,lo que pasa es que en vez de de un int un std::string será un tipo enum pero al fin de al cabo lo mismo la idea es cambiar las animaciones y las colsiones depiendo de los estados del jugador ( saltando y pegando un patada <–> saltar = true && patada = true && golpear = true ) o (ha sido golpeado esta saltando <–> golpeado = true && saltar = true ).
ALGUNAS PERSONAS NUNCA APRENDEN NADA, PORQUE TODO LO COMPRENDEN DEMASIADO PRONTO.
Alexander Pope