Ir para conteúdo
Fórum Script Brasil
  • 0

Otimização do Código


dougdomi@gmail.com

Pergunta

Podem analisar o código abaixo e verificar se da para otimizar algo??

É referente a um jogo que estou desenvolvendo...

public function refresh_status()
     {
                    /* Parametros de codigos de item
                    Tipos de Itens - Tipo[1] = cabeça
                                     Tipo[2] = tronco
                                     Tipo[3] = pernas
                                     Tipo[4] = braços
                                     Tipo[5] = armas mao direita e esquerda
                                     Tipo[6] = Chips
                                     Tipo[7] = Material
                     //Subitens de Itens Tipo [5] - skills[1] = lanças
                                                    skills[2] = espadas
                                                    skills[3] = shotguns
                                                    skills[4] = rifles
                                                    skills[5] = cannon
                                                    skills[6] = metralhadoras
                                                    skills[7] = pistolas
                    */
                    //cria variavel para inserir status do personagem temporariamente
                    $vstatus = array("forca" => 0, "mobilidade" => 0, "resistencia" => 0, "precisao" => 0, "maxataque" => 0, "maxdefesa" => 0);
                    //comeca capturando os valores de status do proprio personagem
                    $vstatus["forca"] = $this->forca;
                    $vstatus["mobilidade"] = $this->mobilidade;
                    $vstatus["resistencia"] = $this->resistencia;
                    $vstatus["precisao"] = $this->precisao;
                    //captura os itens no banco de dados
                    $seleitem = mysql_query("Select * from itens where id=".$this->slots[1]." or id=".$this->slots[2]." or id=".$this->slots[3]." or id=".$this->slots[4]." or id=".$this->slots[5]." or id=".$this->slots[6]." or id=".$this->slots[7]." or id=".$this->slots[8]." or id=".$this->slots[9]) or die ("Impossivel consultar no banco ERRO: <b>".mysql_error()."</b>");
                    //captura os valores de status ganhos com os equipamentos
                    while ($qritem = mysql_fetch_array($seleitem))
                    {
                              $vstatus["forca"] = $vstatus["forca"] + $qritem["forca"];
                              $vstatus["mobilidade"] = $vstatus["mobilidade"] + $qritem["mobilidade"];
                              $vstatus["resistencia"] = $vstatus["resistencia"] + $qritem["resistencia"];
                              $vstatus["precisao"] = $vstatus["precisao"] + $qritem["precisao"];
                              $vstatus["maxataque"] = $vstatus["maxataque"] + $qritem["ataque"];
                              $vstatus["maxdefesa"] = $vstatus["maxdefesa"] + $qritem["defesa"];
                              //se for um item do tipo arma [5] verifica o subtipo para ver os adicionais de skill dano
                              if ($qritem["tipo"] == 5)
                              {
                                        if (($qritem["subtipo"] >= 1) and ($qritem["subtipo"] <= 7))
                                        {
                                                  //bonificação de dano pela skill do mecanismo
                                                  $vstatus["maxataque"] = $vstatus["maxataque"] + $this->skills[$qritem["subtipo"]];
                                                  //bonificação de dano se for arma corporal = lanças | espadas
                                                  if (($qritem["subtipo"] == 1) or ($qritem["subtipo"] == 2))
                                                  {
                                                            $vstatus["maxataque"] = $vstatus["maxataque"] + ($this->forca * 2);
                                                  }
                                                  //bonificação de dano se for arma de ataque a distancia = shotguns | rifles | cannon | metralhadoras | pistolas
                                                  if (($qritem["subtipo"] == 3) or ($qritem["subtipo"] == 4) or ($qritem["subtipo"] == 5) or ($qritem["subtipo"] == 6) or ($qritem["subtipo"] == 7))
                                                  {
                                                            $vstatus["maxataque"] = $vstatus["maxataque"] + ($this->precisao);
                                                  }
                                        }
                              }
                    }
                    //enviando status final do usuario para a variavel get_status
                    $this->infostatus = $vstatus;
    }

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...