Aun voy por esta versión, aunque ya puedo decir que la clase scramble devuelve el algoritmo correcto, y que el la clase timer cronometra, aunque no acaba nunca por que tengo el problema de que no puedo mostrar el cronometro y pararlo cuando me apetezca en una terminal, si alguien sabe, soy todo oidos
Otra de las cosas que ya tengo hecha es la función saveTimer, para guardar los resultados en un archivo de texto llamado tiempo.txt.
Por último decir que también puedes seleccionar el cubo que quieras y agregar alguno nuevo en el cronómetro.
Saludos y gracias por leer !!
Aquí van las distintas versiones de PyRubik:
v-X(negativa)–> no he llegado a la v0 aun, haciendo algo de vez en cuando, mi nivel de programacion no llega a la altura de versión 0 aun.
v0(omega) –> Empezar de una vez bien y hacer algo
class scramble, timer and language
scramble –> def move #para obtener un algoritmo de desorden del cubo
timer –> def saveTimer #guardar el tiempo obtenido
language–> distintas clases que contengan cadenas de textos en distintos idiomas
tiempos.txt –> archivo donde guardaré los distintos tiempo conseguidos con el cubo
Muy bien explicado no se encuentra, pero mas o menos es una guía de lo que quiero hacer.
v0.5(desarrollo) –> Arreglar los dintintos fallos que encuentre en la v0 y empezar a trabajar en la v1
v1(deltha)–> algoritmo de resolcion del cubo(con ayuda de Zeta y su profesor ) dado introduciendo los datos previamente (aun sin gráficos, eso más adelante)
class solution–> no se lo que tendrá, ya lo iré viendo
v1.5(desarrollo)–> arreglo de los muchisimos fallos que voy a tener, esta parte costará demasiado, espero salir de aquí. Trabajando para la v2 tb
v2(gammasganasdeterminarlo)–> algo de gráficos, menú y poco más (casi hecho ya)
Esto costará el tiempo que tarde en ordenar el menu que ya tengo hecho, no creo que mucho tiempo, pero algo la verdad que si.
v2.5(desarrollo)–> hacer que funcione bien y sin problemas la v2. unos diitas.
v3(beta)–> esta version tendrá gráficos y será funcional(o no).
En esta version espero que mi cam detecte los colores de mi cubo y que pueda resolverlo sin problema ninguno. (Invito a la gente a que de porculo y me diga que no funciona, utilizar distintos cubos, cambiar las piezas todos lo posible, etc etc etc, y un sin fin de perradas que me llevará la misma vida pasar de la v3.5)
v3.5(desarrollo)–> aquí moriré en el intento de arreglar todos los fallos que de la deteccion de la cam, por que cada cam y cada cubo son distintos, así que quizás no veais avanzar mas y esta version será la ultima
v4(final)–> intentar agregar lo que pidan los usuarios y terminar de mejorar todo lo posible para presentar esta version al concurso, claro está, si paso la fase de v3.5
Y esto es todo, si habeis llegado hasta aquí ya habeis hecho más que yo, mi control de versiones no es que esté muy bien que digamos, pero vamos, es un poco de organización.
Esto a sido posible gracias al aburrimiento de los estudios.
Bueno, ya que antes no seguía mucho el contro lde versiones ni nada, creo que voy a borrar todo lo que tengo en la forja y empezar desde 0 para tener un poco de organizacion en las cosas, eso si, utilizaré el menu y 2 o 3 cosillas que ya tenía hecha.
Saludos!!!
PD: ojalá pudiera tener un calendario de fechas, pero como se que no lo voy a cumplir, tampoco me es muy importante.
Como se comentó en los objetivos del proyecto, las ventajas de utilizar Arduino es que es un elemento barato, basado en software libre y que tiene una amplia documentación y comunidad a sus espaldas.
Debido a su precio podemos realizar montajes sin mucho coste económico, uno de los factores más importantes a la hora de realizar [...]
He arreglado el fallo comentado en el anterior artículo y de paso he cambiado el formato de los mensajes de Unimail, para hacer que el programa sea más fuerte ante posibles anomalías en la bandeja de entrada.
Ahora, todos los mensajes de Unimail que correspondan a un mismo archivo tendrán el mismo asunto, independientemente de cuál sea el mensaje primero y cuál el último.
El cambio en el formato hace que esta versión sea incompatible con las anteriores, por lo que, los archivos enviados con versiones anteriores no se podrán descargar con esta versión.
Antes de llevar a cabo un proyecto, después del analisis de requisitos y del diseño hay que plantearse un boceto de cómo va a ser la implementación.
Boceto de implementación de Desdeslin
Aqui especifico alguno de los programas en que podría apoyarse el programa como: apt-cron, tcosxmlrpc, kickstart o debootstrap.
Adrián
Bueno, con el proyecto algo más definido he dado el siguiente paso y he comenzado a pensar con qué herramienta escribir la documentación y empezar a escribirla cuanto antes, para ir compaginando la documentación con el desarrollo, para que no se me haga muy pesado ninguna de las dos partes. Para la documentación usaré finalmente latex más concretamente miktex (para windows) junto con el editor teXnicCenter. Ya tengo realizada la plantilla general y un índice provisional.
La verdad, no he tratado mucho con latex, pero desde primera hora creo que me va a solucionar ciertos problemillas que con openoffice o ms word creo que hubieran surgido en tema de márgenes, listas, índice… y esas cosas y peculiaridades de este tipo de programas.
Creo que ha sido la elección correcta, como no, aconsejado por mi tutor.
Por otra parte, este fin de semana o quizá el lunes intente completar algo más de la parte de la interfaz gráfica, en concreto el movimiento de un sprite de una parte a otra de la pantalla al hacer click con el ratón, creo que ya falta poco!
Como tenemos el cachondeo mis amigos y yo con la barba que no afeito hasta ver terminado el proyecto de fin de carrera, que no coincide con las fechas del concurso y que posteriormente crecerá, me he puesto el navegador en árabe. A ver como reaccionaba el cacharro este sin tener el idioma configurado.
El caso es que no iba.
Hoy he reestablecido los nombres y parámetro del fichero de rutas para evitar este problema… Ahora solo necesito un traductor de árabe para que esto funcione bien, puesto que si no hay idioma definido el que sale por defecto es el inglés.
Este proceso lo he hecho quitando el parámetro required del las rutas que lo tenían puesto, esto no significa que no se requiera, pero si que no nos va pedir un rango concreto (antes tenía puesto en|es|fr). Ahora entres como entres, te toca verlo en el idioma predeterminado de tu navegador o en inglés si la traducción no está hecha.
Pasada ya la primera gran iteración del desarrollo de LongoMatch, que va a dar por concluida la versión 1.0, estoy ya desarrollando importantes mejoras para el programa pensando en la siguiente versión.
Hasta el momento he conseguido un sistema estable que actualmente cumple con todos los requisitos que fijé para la primera version. Es hora de ir pensando en nueva mejoras y una de las más importantes es crear un capturadora de vídeo para poder realizar análisis de partidos en directo. De momento LongoMatch sólo puede trabajar con archivos locales por lo que el análisis debe esperar a que finalice el partido. Con esta mejora se pretende que se pueda visualizar y capturar la salida de una cámara digital de tal modo que el análisis sea instantáneo.
Ya he implementado la capturadora usando GStremer y me faltan realizar algunas pruebas mas para integrarlo en el sistema. Aquí dejo una captura del monstruito funcionando!!!
Capturadora de video multiplataforma basada en GStreamer
Introduction
Debian-like systems use APT, a free user interface that works with core libraries to handle installing software on Linux. Apt can be functionally considered to be a front-end to dpkg. While dpkg
performs actions on individual packages, apt tools manage relations (especially dependencies) between them, as well as sourcing and management of higher-level versioning decisions (release tracking and version pinning).
For this guide I supose that your project uses the autotools buid system. That’s why I will use CDBS which is a tool that uses debhelper to make building and maintaining Debian packages even easier. It has many advantages:
debian/rules.
Configuration Files
The files needed to create .deb package are stored in the project’s root directory with the following structure:
changelog
The changelog file is, as its name implies, a listing of the changes made in each version. It has a specific format that gives the package name, version, distribution, changes, and who made the changes at a given time.
The first line includes the package’s name (longomatch) and the package’s version (0.9.1-1hardy1) followed by the distribution’s name (hardy)
The changelog for the longomatch package:
longomatch (0.9.1-1hardy1) hardy; urgency=low
*Improved video editor
*Added templates support
*Added internationalization support
– Andoni Morales Alastruey Tue, 18 Nov 2008 23:50:00 +0200
control
The control file contains the information that the package manager (such as apt-get, synaptic, and adept) uses, build-time dependencies, maintainer information, and much more.
For the longomatch package, the control file looks something like:
Source: longomatch
Section: devel
Priority: extra
Maintainer: Andoni Morales Alastruey
Build-Depends: debhelper (>= 5), autotools-dev, cdbs, pkg-config, mono-gmcs,libdb4o6.0-cil, libgtk2.0-cil,libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev, libgtk2.0-dev, libmono2.0-cil, libmono-cairo2.0-cil
Standards-Version: 3.7.2
Package: longomatch
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, mono-runtime, ffmpeg, mencoder
Description: LongoMatch:The Digital Coach
Sports video analyze tool for coaches
and trainers to assist them on making live video reports
from a match. It creates a database with the most
important plays of a game, grouped by categories, to easily
access them and to create play lists and new videos from the
selected plays.
copyright
This file gives the copyright information. Generally, copyright information is found in the COPYING file in the program’s source directory. This file should include such information as the names of the author and the packager, the URL from which the source came, a Copyright line with the year and copyright holder, and the text of the copyright itself. LongoMatch includes the following copyright file:
This package was debianized by Andoni Morales Alastruey on
Tue, 02 Sep 2008 03:04:08 +0200.
Upstream Author(s):
Andoni Morales Alastruey
Copyright:
Copyright (C) 2008 Andoni Morales Alastruey
License:
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
The Debian packaging is (C) 2008, Andoni Morales Alastruey and
is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
rules
The last file we need to look at is rules. This does all the work for creating our package. It is a Makefile with targets to compile and install the application, then create the .deb file from the installed files. It also has a target to clean up all the build files so you end up with just a source package again. CDBS is a set of Makefile includes that uses debhelper to make building and maintaining Debian packages even easier. It uses advanced features of Makefiles to abstract the build process, so rules files end up primarily as a series of include statements. The final rules file using CDBS looks like this:
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
As you can see the rules configuration files is very simple. CDBS scripts delegate all the work to autotools.
Creating the binaries package
The next step is to build the binaries package and the sources packages which are built calling the following commands in the ./debian directory:
# debuild -b (to build the binaries package)
# debuild -S (to build the sources packages)
debuild will parse all the previous files and will create a .deb package