<?php /* eigT - Quebra-Cabecas de pecas deslizantes de 8 pecas. Copyright (C) 2004 tDs - tds-@brturbo.com Este programa � software livre; voc� pode redistribu�-lo e/ou modific�-lo sob os termos da Licen�a P�blica Geral GNU, conforme publicada pela Free Software Foundation; tanto a vers�o 2 da Licen�a como (a seu crit�rio) qualquer vers�o mais nova. Este programa � distribu�do na expectativa de ser �til, mas SEM QUALQUER GARANTIA; sem mesmo a garantia impl�cita de COMERCIALIZA��O ou de ADEQUA��O A QUALQUER PROP�SITO EM PARTICULAR. Consulte a Licen�a P�blica Geral GNU para obter mais detalhes. Voc� deve ter recebido uma c�pia da Licen�a P�blica Geral GNU junto com este programa; se n�o, escreva para a Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. +------------------------------------------------------------+ + Inicializacao do Jogo + +------------------------------------------------------------+ + file: index.php + +------------------------------------------------------------+ + Arquivo que deve ser executado para inicializacao do jogo. + +------------------------------------------------------------+ */ /* Jogo ainda em desenvolvimento, sera utilizada para desenvolvimento de algoritimos de busca para resolucao de problemas do tipo quebra-cabecas de pecas deslizante, parecido com a imagem abaixo: __________________ __________________ ||''''||''''||''''|| ||''''||''''||''''|| || 7 || 5 || 6 || || 1 || 2 || 3 || ||____||____||____|| ||____||____||____|| ||''''| |''''|| ||''''||''''||''''|| || 3 | | 2 || || 4 || 5 || 6 || ||____| |____|| ||____||____||____|| ||''''||''''||''''|| ||''''||''''| | || 4 || 1 || 8 || || 7 || 8 | | ||____||____||____|| ||____||____| | """""""""""""""""""" """""""""""""""""""" Fig. 01: Quebra-cabecas Fig. 02: Quebra-cabecas antes de ser resolvido apos ser resolvido O jogo esta funcionando e com suporte a network. Basta agora desenvolver algoritimos que resolvam o problema, da melhor forma possivel (completo e otimo) :) Para jogar, basta apertar o numero da peca que deseja mover, seguido por <enter>. Para sair, digite 's'. */ /* arquivo de configuracao e include de mais alguns arquivos */ require_once 'cfg.inc.php'; /* inicializacao do jogo: - Limpa a tela e posiciona cursor na posicao 0,0. A maior parte dos graficos e strings animadas foram feitos com auxilio da classe cleeasy; - Chama inicializacao de variaveis globais (sessions), que seram utilizadas durante o jogo e gera posicao inicial das pecas no tabuleiro; - Desenha o tabuleiro, exibindo a posicao atual de cada peca */ cleeasy::limpar(); eigt::inicio (); grafico::exibir_posicoes (); grafico::about ('amarelo'); /* fica no loop ate que termine o jogo ou selecione a opcao sair */ while (1) { /* verifica se o objetivo foi atingido: informa e sai do jogo caso positivo*/ if (eigt::objetivo ()) { grafico::exibir_posicoes (); sleep (1); grafico::finalizar_eigt (); cleeasy::goto (23, 0); cleeasy::cores ('branco'); cleeasy::sair(); } /* opcoes de jogo */ switch (EIG_MODO) { case (1):/* configurado para alguem jogar */ $mover_para = eigt::ler_jogada (); //le a jogada eigt::inicia_tempo (); //inicia contagem de tempo, se necessario eigt::mover($mover_para); // movimenta para o local informado grafico::exibir_posicoes (); //redesenha as posicoes break; case (4):/* modo teste, desenvolvimento/debug */ $mover_para = eigt::ler_jogada (); //le a jogada eigt::inicia_tempo (); //inicia contagem de tempo, se necessario eigt::mover ($mover_para); // movimenta para o local informado grafico::exibir_posicoes (); //redesenha as posicoes break; default: break; } /* caso nao tenha terminado o jogo, informa quantos movimentos foram feitos e retorna para o inicio do loop */ if (EIG_MODO != 2) { grafico::informacoes (); cleeasy::goto (23, 2); } } ?>