sábado, 16 de abril de 2011

Código de análise de pretendentes

Atendendo a pedidos, aqui está uma versão mais completa.
Obs.: As variáveis são globais apenas pra facilitar a leitura, ok. Eu não uso variáveis globais! Teria que ter uma classe pretendente, com métodos get e set e... ok, deixa pra lá.



interesse = 0;
pontos = 0;
stalk(); // pra obter os dados abaixo

if ((anonasc >= 1990) || (distancia > 200) || (tamcabelo == 0) || (namorada)) {
    interesse = -1;
} else if (anonasc < 1979) {
    print("PEDOFILO!!! \n");
    interesse = -1;
}

if (tocainstrumento) {
    if (violoncelo) {
        pontos += 50;
    } if (piano) {
        pontos += 30;
    } if (violino) {
        pontos += 10;
    } if (cantor) {
        pontos += 20;
    } if ((teclado) && (! tuomasholopainen)) {
        pontos -= 50;
    }
}

if (gostomusical.equals("musica erudita")) {
    pontos += 70;
}

if (gostomusical.equals("game music")) {
    pontos += 30;
}

if (gostomusical.equals("metal")) {
    pontos += 10;
}

if ((gostomusical.equals("funk") || (gostomusical.equals("restart")) {
    interesse = -1;
}

if (gostomusical.equals("bieber") {
    gay = 1;
    interesse = -1;
}

if (escrevemuitobem) {
    pontos += 60;
} else if (analfabetofuncional) {
    interesse = -1;
}

if (sistemaoperacional == "ubuntu") {
    pontos += 1000;
    // brinks
    pontos -= 980;
}

if (browser == "internet explorer") {
    interesse = -1;
}

if (altura >= 185) {
    pontos += 50;
}

if (tamcabelo >= 30) {
    pontos += 70)
}

if (gamer) {
    pontos += 30;
}

if (baladeiro) {
    pontos -= 200;
}

if (otaku) {
    if (naruto) {
        interesse = -1;
    } else {
        pontos += 10;
    }
}

if (entendefisica3) {
    pontos += 40;
}

if (! entendeexatas) {
    pontos -= 20;
}

if (interesse == -1) {
    chutar();
} else if (pontos >= x) {
    interesse = 1;
}



Não, eu não vou revelar o valor de x.

Isso é fictício. Favor não usar pra dar em cima de mim. Mas se quiser calcular seus pontos: LOL.

8 comentários:

  1. if (interesse == -1) {
    chutar();
    } else if (pontos >= x) {
    interesse = 1;
    }

    ---- ta errado...


    if (interesse < 0 ) {
    chutar();
    }
    if (pontos >= x) {
    interesse = 1;
    }

    ResponderExcluir
  2. O valor mínimo de interesse é -1, então no primeiro caso tanto faz.

    Considerando que chutar() não desvia totalmente o fluxo do programa, aquele else que eu coloquei evita uma verificação desnecessária, porque se interesse == -1, interesse não vai ser >= x. Meu código é 0,00001% mais otimizado que o seu!

    ResponderExcluir
  3. PS: Corrigir erroneamente um código meu faz você perder 200 pontos.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
  5. 1480 pontos, sem contar com a pontuação que seria atribuída por eu tocar flauta.
    =D

    ResponderExcluir
  6. ^
    A pontuação máxima é 500...
    Ou você não sabe somar ou não entende programação.

    ResponderExcluir
  7. bom, tirei 280 \o/
    e considerando que em breve eu estarei morando em são paulo, meus pontos de interesse permanecem = 0 xD

    ResponderExcluir