jueves, mayo 31, 2007

dsc00841.jpg


dsc00841.jpg, originally uploaded by miguel huerta.

viernes, mayo 25, 2007

Abejorros


dsc00814.jpg, originally uploaded by miguel huerta.

lunes, mayo 21, 2007

Le gane a gnuchess

No hace mucho como tres semanas empece a leer sobre el ajedrez, y empecé a usar glchess, pero como ando aprendiendo necesitaba poder leer comentarios sobre partidas y hacer mis propias anotaciones, glchess no soportaba esa función, pero he estado trabajando sobre un parche para poder implementarlo y este es un avance más, en esta ocación les presento el juego en formato pgn de como le gane a gnuchess en nivel fácil, claro esta.
Necesitaran un visor que soporte comentarios y comentarios nag, o pueden aplicar el parche y usarlo con glchess. Mi proxima adición espero que sea una ventana de analísis, pero actualmente no lo puedo hacer porque el intercambio de info entre glchess y algún motor de ajedrez es lento.

Pantallazo-Ajedrez - Human versus GNUchess

martes, mayo 08, 2007

glchess y comentarios

Como ando aprendiendo ajedrez, he bajado algunas partidas que contienen comentarios, pero glchess no implementa un visor de comentarios y en el TODO ni siquiera lo mencionan. Por eso me di a la tarea de tratar de implementarlo, lo primero que se me ocurrió fue mediante pynotify, pero esto añade una dependencia más al proyecto.

Glchess esta hecho en python, lenguaje que desconozco por completo, estoy tratando de programar sin leer ningun manual, solo viendo el código, es interesante ver tantas cosas raras y no saber porque hay que hacerlo de esa forma, con más tiempo espero leer bien, mínimo el manual de referencia.

Actualmente llevo esto, falta mejorarlo mucho y obtener una mejor cadena en vez de 4. ... Bxb5 que quede completa la jugada 4. d2 Bxb5 resaltando la jugada comentada. Por ahora se puede [des]activar desde el menu el cual por cierto no he podido hacer que lo guarde gconf.
Pantallazo-Chess - Human versus GNUchess

¿A que no notan nada raro en el tablero?, a ver, un pista es la única pieza que "salta" a otras

miércoles, mayo 02, 2007

Guardar una funcion en un Gtk.TreeStore

Recordando que en C puedes pasarle a una funcion casi lo que sea usando puneros, vi un codigo en donde presisamente declaran un TreeStore en donde un argumento putero significa una función.

En C# se logra lo mismo utilizando delegados...
public delegate void DelegatedMethod(); //Declaramos nuestro delegado
En donde construyamos nuestra ventana.
TreeStore store = new TreeStore(typeof(string), typeof(System.Delegate)); //uno tipo string y uno tipo Delegate
tv.model = store;
tv.AppendColumn ("Prueba", new CellRendererText (),"text",0);//solo mostramos el tipo string
for (int i=0; i<11;i++)
if ((i%2)==0)
store.AppendValues ("Numero par" + i,
new DelegatedMethod (delegate(){ //utilizamos un metodo anonimo Console.WriteLine ("El numero es par");
})
);
else
store.AppendValues ("Numero impar" + i,
new DelegatedMethod (delegate(){
Console.WriteLine ("El numero es impar");
})
);

Utilizando el evento RowActivated
DelegatedMethod method = (DelegatedMethod) view.Model.GetValue (iter,1);
method (); //invocamos el delegado.
Click en la imagen para obtener el codigo de este ejercicio.

demotreeview