domingo, 30 de maio de 2010

Jogando xadrez online em ambientes Unix (parte 2)

Continuando o assunto sobre o Xboard, hoje vou compartilhar algumas dicas de como tornar o programa visualmente mais agradável.

Várias pessoas tem se empenhado nessa tarefa que inclui configurar novos sons e até criar temas. Aqui segue alguns desses links:

http://vico.kleinplanet.de/xboard.html
http://ubuntuforums.org/showpost.php?p=219066&postcount=22
http://ubuntuforums.org/showthread.php?t=31659&page=3

As configurações do Xboard ficam armazenadas no arquivo .Xresources para distribuições baseadas no Debian (não testei outras). O importante aqui é que as alterações terão efeito quando o ambiente gráfico for reiniciado (com CRTL+ALT+Backspace ou pelo processo normal).

Segue abaixo meu .Xresources
!!! Xboard
! Cores do terminal
xboard*colorizeMessages: true xboard*colorShout: green xboard*colorSShout: green, default, 1 xboard*colorChannel1: cyan xboard*colorChannel: cyan, default, 1 xboard*colorKibitz: magenta, default, 1 xboard*colorTell: yellow, blue, 1 xboard*colorChallenge: red, default, 1 xboard*colorRequest: red xboard*colorNormal: default !Ajustes pessoais xboard*saveGameFile: ~/xboard.pgn xboard*autoSaveGames: true xboard*autoCallFlag: true xboard*alwaysPromoteToQueen: false xboard*soundProgram: esdplay xboard*boardSize: Average !Ajustes do tabuleiro XBoard*showCoords: true xboard*highlightLastMove: true
xboard*whitePieceColor: #ffffd7 xboard*blackPieceColor: #1d1d1d xboard*lightSquareColor: #ccbda4 xboard*darkSquareColor: #a88964 xboard*highlightSquareColor: yellow xboard*MenuButton*Justify: left xboard*MenuButton*MenuButtonStyle: action xboard*message*background: snow xboard*.form.text.background: snow .xboard.normalLayout.form.menuBar.File.foreground: snow .xboard.normalLayout.form.menuBar.File.background: #777777 .xboard.normalLayout.form.menuBar.Mode.foreground: snow .xboard.normalLayout.form.menuBar.Mode.background: #777777 .xboard.normalLayout.form.menuBar.Action.foreground: snow .xboard.normalLayout.form.menuBar.Action.background: orange3 .xboard.normalLayout.form.menuBar.Step.foreground: snow .xboard.normalLayout.form.menuBar.Step.background: #777777 .xboard.normalLayout.form.menuBar.Options.foreground: snow .xboard.normalLayout.form.menuBar.Options.background: #777777 .xboard.normalLayout.form.menuBar.Help.foreground: snow .xboard.normalLayout.form.menuBar.Help.background: #777777 .xboard.normalLayout.form.buttonBar.Command.foreground: snow .xboard.normalLayout.form.buttonBar.Command.background: #777777
!Sons xboad*movesound: true xboard*soundMove: ~/move.wav

Até a próxima

sexta-feira, 14 de maio de 2010

Jogando xadrez online em ambientes Unix (parte 1)

Essa postagem é referente uma serie de postagens que pretendo fazer referente a jogar xadrez online em ambiente Unix. Hoje falarei do Xboard, provavelmente o mais romântico dos clientes :) .

====

Xboard

Acredito que o xboard (http://www.gnu.org/software/xboard/) é o cliente mais antigo que conheço, provavelmente o mais acessível e estável para jogar xadrez via internet em ambientes UNIX. Seu tempo de desenvolvimento não reflete na facilidade de uso ou na intuitividade da interface já que este não oferece janelas independentes para conversas, desafios, e outros recursos. Quase tudo funciona via linha de comando, algo que gosto muito. Para alguns usuários isso pode ser algo muito complicado, muito técnico ou muito "geek", porém um grande diferencial para quem trabalha em ambiente Unix no quesito de tempo (já ouvi muita gente dizer que usar o mouse é perda de tempo, principalmente mais amigos mais ligados no emacs). Na versão para windows (winboard) algumas coisas foram facilitadas mas o bom, velho e fundamental terminal continua lá. Isso não diminui o prazer em usar o cliente que permite jogar diversas variantes sem falhas, fechamento ou travamento inesperado, como em ocorre em relatos sobre outros programas. Uma das velhas reclamações são provenientes de jogadores da variante "bughouse" que devem conectar-se com seu apelido e como convidado para assistirem as partidas de seus parceiros.

Existem diversas maneiras para se conectar ao servidor utilizando xboard, mas como o intuito desse texto é fornecer um material simples, coloquei aqui comandos que foram testados e devem funcionar no dia-a-dia.
Digite no terminal:

xboard -ics -icshost 207.99.83.228 -telnet -telnetProgram timestamp #(ICC) (A)
xboard -ics -icshost 69.36.243.188 -telnet -telnetProgram timeseal
#(FICS) (A)

Para a correta execução dos comandos acima é importante ter o timestamp (ICC) ou timeseal (FICS). O timeseal podem ser baixado através dos links:

http://www.freechess.org/Download/timeseal (versão para linux)
http://www.freechess.org/Download/timeseal_MACOSX (versão para MacOsX)

No caso de jogar no FICS utilizando outras plataformas, o programa pode ser baixado através do ftp do FICS (ftp://ftp.freechess.org).
Para jogos no ICC, o programa pode ser baixado no ftp.chessclub.com (ftp://ftp.chessclub.com/pub/icc/timestamp).

Apenas abrindo um parenteses, timeseal e timestamp não são programas obrigatórios, mas eu diria que necessários. Eles fazem o ajuste da jogada e da demora da transmissão dos dados corrigindo o tempo no relógio quando necessário. Um jogador sem "timeseal" ou "timestamp" poderia perder uma partida rapidamente somente por esse atraso.

Uma das formas de configurá-los é colocar no "timestamp" ou "timeseal" no PATH do seu sistema,

editando o .bashrc

export PATH=$PATH:
[caminho onde o programa está]

ou se você é usuário do csh

setenv PATH $PATH:
[caminho onde o programa está]

Isso deve ser o suficiente para ter o sistema em ordem para começar a jogar.

Após executar os comandos em (A), a tela de abertura do servidor deve aparecer no terminal solicitando seu nome e senha. Caso não seja um usuário registrado basta inserir um login qualquer (disponível) e utilizar o servidor como convidado.

Exitem ainda várias configurações do xboard disponíveis via menu que não serão discutidas aqui pela facilidade de entendimento.

Conectado é só utilizar os comandos do servidor do terminal, como

seek 3 0 (para uma partida de 3 minutos sem incremento)
seek 1200-1800 (para uma partida com o tempo definido em "vars" e contra oponente de força entre 1200 e 1800)
seek 3 0 r atomic 0-1200 (buscar jogo na variante atomic de 3 minutos sem incremento)
vars (ver variáveis do sistema)
accept (aceitar um convite)
resign (desistir)
decline (recusar um convite)
exit (sair do servidor)
observe * (observar uma partida entre oponentes fortes)
tell (usado para conversar com outros usuários)

entre outros facilmente encontrados nas páginas de ajuda.

Pretendo postar em breve mais facilidades do xboard, por exemplo, como jogar uma partida com ele usando um motor de xadrez local entre outras funcionalidades, mas isso fica para uma futura postagem.