🤔 Para Refletir :
"Não, não olhe para mim, olhe para seu mouse e teclado e comece a desenvolver!"
- Victor Sena

Copa do Mundo 2018 - Script

  • Autor(a) do tópico Autor(a) do tópico Resque
  • Data de início Data de início
  • Categorias Categorias Nenhum
Dr.Xamã comentou:
Eis o sistema que desenvolvi na capital de Condor, que o vento do Norte nos guie por toda nossa vida!
Dr.Xamã - Guerra Russa (Evento - Copa do Mundo 2018)

[member=1870]Dr.Xamã[/member]

Gostei bastante do fato da Primeira Guerra Mundial ser tratada no seu script, um assunto triste, mas que deve ser sempre lembrado.

Sobre o script, gostei bastante da forma em que foi construído, o funcionamento ficou bem legal.

Algo que não me agradou muito foi a existência de várias funções gigantes, muita regra em um lugar só.

Exemplo:

Código:
Game_Map.prototype.updateBattleBattleGround = function () {
        if ($gameVariables.value(3) <= 0 || $gameVariables.value(1) <= 0 ||
            $gameMap._soldiersEnemy.length <= 0) return;
        if (this._battleground_attackTemp === undefined)
            this._battleground_attackTemp = 10;
        if (this._battleground_attackTemp > 0)
            this._battleground_attackTemp--;
        else {
            this._battleground_attackTemp = undefined;
            var enemy_soldier = $gameMap._soldiersEnemy[Math.floor(Math.random() * $gameMap._soldiersEnemy.length)],
                battleground_force = $gameVariables.value(3),
                enemy_soldiersDead = $gameVariables.value(8),
                soldier = $gameMap._soldiers[Math.floor(Math.random() * $gameMap._soldiers.length)];
            if (Math.floor(Math.random() * 2)) {
                if (soldier._munition > 0) {
                    soldier._munition -= 10;
                    enemy_soldier._life -= 15;
                }
            } else {
                if (enemy_soldier._munition > 0) {
                    enemy_soldier._munition -= 10;
                    soldier._life -= 10;
                }
            }
            if (soldier._life <= 0) {
                if (Math.floor(Math.random() * 2))
                    if (battleground_force > 0)
                        battleground_force -= 5;
                $gameMap.removeSoldier(soldier._id);
            } else if (enemy_soldier._life <= 0) {
                if (battleground_force <= 100)
                    battleground_force += 2;
                enemy_soldiersDead++;
                $gameMap.removeSoldier(enemy_soldier._id, true);
            }
            if (battleground_force >= 100)
                battleground_force = 100;
            $gameVariables.setValue(3, battleground_force);
            $gameVariables.setValue(8, enemy_soldiersDead);
        }
    }
   
A quebra dessa função em várias menores, resultaria em uma melhoria na arquitetura onde boa parte do código poderia ser reutilizada em outros lugares, além de ficar mais legível a responsabilidade de cada função.

Adoraria ver um projeto seu de jogo de gerenciamento de recursos e de guerra entre países. Adoro jogos de simulação, e a guerra entre países é algo que me interessa muito. 

No geral o script ficou muito bom, parabéns!!

Resultado

AspectoPontos
Conexão3
Qualidade2
Criatividade3
 
Eranot comentou:
Idiomas da Suíça
Aí está minha rápida participação, o final do semestre foi tenso =/

[member=1324]Eranot[/member]

Eu não consegui abrir o arquivo Idiomas.gmz em formato texto para avaliar.

Poderia fazer o upload do código fonte em formato texto no GitHub?
 
Resque comentou:
Eranot comentou:
Idiomas da Suíça
Aí está minha rápida participação, o final do semestre foi tenso =/

[member=1324]Eranot[/member]

Eu não consegui abrir o arquivo Idiomas.gmz em formato texto para avaliar.

Poderia fazer o upload do código fonte em formato texto no GitHub?

Consegui por no Drive que é mais fácil, dentro da pasta tem os arquivos de objetos e os script fora dos objetos. Está no tópico do jogo.
 
[member=1324]Eranot[/member]

Seu script ficou bem legal, gostei bastante dos pontos abordados dos Idiomas da Suíça, eu não conhecia esse fato de um país falar tantas linguagens ao mesmo tempo.

Sobre o a qualidade de código, achei um pouco confuso a nomenclatura de variáveis e parâmetros.

Ex:

Código:
switch(argument0){
    case 1:
        if(argument1 == 2){
            return true
        }
        break;
    case 2:
        if(argument1 == 2 or argument1 == 1){
            return true
        }
        break;
    case 3:
        if(argument1 == 4){
            return true
        }
        break;
    case 4:
        if(argument1 == 4 or argument1 == 3){
            return true
        }
        break;
    case 5:
        if(argument1 == 6){
            return true
        }
        break;
    case 6:
        if(argument1 == 6 or argument1 == 5){
            return true
        }
        break;
    case 7:
        if(argument1 == 8){
            return true
        }
        break;
    case 8:
        if(argument1 == 8 or argument1 == 7){
            return true
        }
        break;
}
return false;

Resultado

AspectoPontos
Conexão3
Qualidade3
Criatividade3
 
Resque comentou:
[member=1324]Eranot[/member]

Seu script ficou bem legal, gostei bastante dos pontos abordados dos Idiomas da Suíça, eu não conhecia esse fato de um país falar tantas linguagens ao mesmo tempo.

Sobre o a qualidade de código, achei um pouco confuso a nomenclatura de variáveis e parâmetros.

Ex:

Código:
switch(argument0){
    case 1:
        if(argument1 == 2){
            return true
        }
        break;
    case 2:
        if(argument1 == 2 or argument1 == 1){
            return true
        }
        break;
    case 3:
        if(argument1 == 4){
            return true
        }
        break;
    case 4:
        if(argument1 == 4 or argument1 == 3){
            return true
        }
        break;
    case 5:
        if(argument1 == 6){
            return true
        }
        break;
    case 6:
        if(argument1 == 6 or argument1 == 5){
            return true
        }
        break;
    case 7:
        if(argument1 == 8){
            return true
        }
        break;
    case 8:
        if(argument1 == 8 or argument1 == 7){
            return true
        }
        break;
}
return false;

Resultado

AspectoPontos
Conexão3
Qualidade2
Criatividade3

Entendo, infelizmente apenas conheço essa forma de tratar os argumentos dentro do GM, ele automaticamente cria as variáveis argument0, argument1, etc. Mas na próxima tentarei criar uma variável local e atribuir o valor pra ela. Valeu.
 
[member=770]Resque[/member] sugiro que repense a nota final do Eranot. Perder pontos em qualidade por algo fora do controle dele tá longe de ser justo, principalmente se posto ao lado de outras participações do evento podendo ver CLARAMENTE que esse script com ou sem o "problema" que você apresentou vale MUITO mais a nota máxima não só em qualidade mas em qualquer aspecto.
 
Eranot comentou:
Resque comentou:
[member=1324]Eranot[/member]

Seu script ficou bem legal, gostei bastante dos pontos abordados dos Idiomas da Suíça, eu não conhecia esse fato de um país falar tantas linguagens ao mesmo tempo.

Sobre o a qualidade de código, achei um pouco confuso a nomenclatura de variáveis e parâmetros.

Ex:

Código:
switch(argument0){
    case 1:
        if(argument1 == 2){
            return true
        }
        break;
    case 2:
        if(argument1 == 2 or argument1 == 1){
            return true
        }
        break;
    case 3:
        if(argument1 == 4){
            return true
        }
        break;
    case 4:
        if(argument1 == 4 or argument1 == 3){
            return true
        }
        break;
    case 5:
        if(argument1 == 6){
            return true
        }
        break;
    case 6:
        if(argument1 == 6 or argument1 == 5){
            return true
        }
        break;
    case 7:
        if(argument1 == 8){
            return true
        }
        break;
    case 8:
        if(argument1 == 8 or argument1 == 7){
            return true
        }
        break;
}
return false;

Resultado

AspectoPontos
Conexão3
Qualidade2
Criatividade3

Entendo, infelizmente apenas conheço essa forma de tratar os argumentos dentro do GM, ele automaticamente cria as variáveis argument0, argument1, etc. Mas na próxima tentarei criar uma variável local e atribuir o valor pra ela. Valeu.

Como mencionado pela [member=1052]Kawthar[/member], não seria justo a retirada de ponto por conta desse aspecto do GM.

Pontuação final alterada.



Kawthar comentou:
[member=770]Resque[/member] sugiro que repense a nota final do Eranot. Perder pontos em qualidade por algo fora do controle dele tá longe de ser justo, principalmente se posto ao lado de outras participações do evento podendo ver CLARAMENTE que esse script com ou sem o "problema" que você apresentou vale MUITO mais a nota máxima não só em qualidade mas em qualquer aspecto.

[member=1052]Kawthar[/member], concordo com você, não só no caso do [member=1324]Eranot[/member], mas em outros trabalhos enviados.

Tive uma conversa com o [member=78]Brandt[/member], onde foi levantado alguns aspectos da pontuação de scripts para esse evento.

Levaremos esse feedback para os próximos eventos da Condado.
 
Voltar
Topo Inferior