Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Duelo. fsphp X Senshi

Recommended Posts

A galera já está chegando na arquibancada, digo RODAPÉ do fórum, e o juíz ainda não chegou!!!! :D Faltam 3 minutos, será que ele está fazendo mistério? :mellow: O Senshi, isso que nós fizemos foi código ou enrosco????Tamos dando o maior nó no prog!!! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

aliens invadiram a casa deleos codigos tavam muito bom ae os alienigenas pegaram pra eles os fontesfdsuifdhsufusdfuiviva nois \o///

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.... putz grila. :)

 

Temos outro problema, tentei rodar a função do Senshi e não tive sucesso. :(

 

Como foi dada uma chance, acham que seria plausivel outra chance ou eu deveria esperar até que o Senshi explique como funciona. A função esta toda comentada, mas alguma coisa esta falha ou eu que não estou sabendo usar mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele acertou, travou sua máquina, né?!!!!

 

Com certeza, vamos esperar o Senshi para você ver com ele como funciona e se prescisar de alguns ajustes, de minha parte, sem problemas. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Para isso que existe a prorrogação. :D Ou então, nós estamos jogando o tai break e estamos empatados, para alguém vencer tem que abrir uma diferença de dois pontos. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hahhahahaha ri muito....Eu participo da Campanha: "kd o Prog?"boa.....Vamos pessoal ta parecendo o campeonato brasileiro... a decisão ficou para a proxima partida hahhahaha :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode crer, esse duelo pode não ser lembrado como o duelo dos grandes códigos mas, sem dúvida, será lembrado como o duelo mais torcido de todos. :D :D :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em fim... a analise... ;)

 

Senshi

function mask($mascara,$valor, $error = ""){
	//////////////////////////////////////////////////////////////////////////
	// Função de Mascara para o Duelo fsphp X Senshi
	// Desenvolvido por Senshi:
	//
	// O caracter '#' delimita apenas números
	// O caracter '@' delimita apenas alfa
	// Qualquer outro caracter posto na máscra será para formatação da string
	//
	//////////////////////////////////////////////////////////////////////////

	// Variável que Retorna a strting mascarada
	$result = "";
	// inicializa os contadores
	$i = $j = 0;
	while(true){
		// Verifica se uma varável terminou antes que a outra, o que indica que uma é menor que a outra (sem a máscara)
		if( ($mascara[$i] != "" &&  $valor[$j] == "") || ($mascara[$i] == "" &&  $valor[$j] != "") ) return $error;
		// Verifica se já passou por todas, tendo que as duas terminarem juntas
		elseif( $mascara[$i] == "" && $valor[$j] == "" ) return $result;
		// Verifica se o elemento faz parte da máscara
		elseif( $mascara[$i] != "@" && $mascara[$i] != "#"  ) $result .= $mascara[$i];
		// Imprime só se o valor for válido
		elseif( ( $mascara[$i] == "#" && $valor[$j] >= '0' && $valor[$j] <= '9' ) || ( $mascara[$i] == "@" && (($valor[$j] >= "a" && $valor[$j] <= "z") || ($valor[$j] >= "A" && $valor[$j] <= "Z"))))	$result .= $valor[$j++];
		// Imprime só se o valor for inválido
		else return $error;
		$i++;
	}
}

fsphp

function Mask($mascarar, $padrao, $erro){
$comprimento = strlen($padrao);
$comp_mask = strlen($mascarar);
if($comprimento != $comp_mask){
echo $erro;
exit;
}
$resultado = "";
for($i=0; $i<$comprimento; $i++){
$padrao[$i] = substr($padrao, $i, 1);
$mascarar[$i] = substr($mascarar, $i, 1);
if(preg_match("/[A-Z]/", $padrao[$i]) && preg_match("/[A-Z]/", $mascarar[$i])){
$resultado .= $mascarar[$i];
}
elseif(preg_match("/[a-z]/", $padrao[$i]) && preg_match("/[a-z]/", $mascarar[$i])){
$resultado .= $mascarar[$i];
}
elseif(preg_match("/[0-9]/", $padrao[$i]) && preg_match("/[0-9]/", $mascarar[$i])){
$resultado .= $mascarar[$i];
}
elseif($padrao[$i] == "." && $mascarar[$i] == "."){
$resultado .= ".";
}
elseif($padrao[$i] == "-" && $mascarar[$i] == "-"){
$resultado .= "-";
}
elseif($padrao[$i] == "/" && $mascarar[$i] == "/"){
$resultado .= "/";
}
elseif($padrao[$i] == "," && $mascarar[$i] == ","){
$resultado .= ",";
}
elseif($padrao[$i] == ":" && $mascarar[$i] == ":"){
$resultado .= ":";
}
else{
echo $erro;
exit;
}

}
return $resultado;
}

Avaliação:

 

Métodos utilizados na avaliação:

- as funções - foram contabilizadas de acordo com as que são essenciais para a resolução do problema;

- as linhas - foram consideradas apenas aquelas que fazem parte da solução e exibição dos resultados;

- todos os testes foram realizadas na minha máquina local (Pentium 4, 2.8Ghz, 512MB RAM - IIS 5.1 com PHP 5.0.4 - SO Windows 2000 Pro)

- o tempo é analisado dado pela classe que o red neck me passou, e que vamos fazer com que a mesma se torne um software analisador de duelos. *rs*

 

Velocidade:

1º Senshi (100 - muito rápido)

2º fsphp (90 - 2x mais lento)

 

Menor quantidade de funções prontas:

1º Senshi (100 - usou nenhuma)

2º fsphp (97 - usou 3 função a mais)

 

Menor quantidade de linhas de código:

1º Senshi (100 - 12 linhas)

2º fsphp (87 - 13 linhas a mais)

 

Extra/Detalhes:

Senshi - O script apresenta umas mensagens de Notice, acredito que por alguma configuração do seu server você não tenha visto. (-5 pontos)

 

Resultado final:

1º Senshi (295 pontos)

2º fsphp (274 pontos)

Parabéns aos duelados e que a força esteja com vocês. :)

 

Devido ao atraso e a pressa para que o resultado saisse eu fiz uma analise apenas superficialmente, os itens necessários e levando em consideração alguma mensagem de erro não esperada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

uhuuu ateh que enfim o prog mostro o resultado do desafio!! parabens pros dois em especial pro senshi codes bem funcionais (embora grandes heheh ). FSPHP minha torcida era pra ti mas o senshi levou essa. E ai vai ter revanche?? hehehe[]s mansluis fernando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Senshi!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Ainda não olhei como você fez o codigo, mas o fato de nós dois termos conseguido resolver o problema é algo que me deixa muito feliz!!! :D

 

Parabéns por ter pontuado melhor e vencido o duelo. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Fiquei muito contente em ter participado, mesmo sem ter tanta experiência com php, porque eu me superei e consegui resolver. :D

 

Vou me preparar melhor, pois minha meta é subir no ranking e pegar esse tal de red neck*. Hahahahaha http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.