🤔 Para Refletir :
"Mais vale um jogo publicado que um jogo perfeito que não sai do projeto."
- HenriqueGibi

Gincana de Natal - Central de Pesquisas

Estado
Tópico fechado. Não é possível fazer postagens nela.

Resque Masculino

Coração Valente
Membro
Membro
Juntou-se
03 de Agosto de 2016
Postagens
1.234
Bravecoins
293
PdWxNs


Central de Pesquisas  | 30P ~ 300P
Gincana do evento de Natal.

A Central de Pesquisas se especializa em desenvolver tecnologias para agilizar a criação dos presentes. Tem ideia de bons sistemas para a fábrica?
Escolha uma caixa e lhe darei uma proposta aleatória para você resolver com códigos/scripts/plugins/eventos.
Avaliarei e darei os pontos, podendo ganhar de 30 à 300.

HgB2Cp0.png
NMFJFHl.png
R4wvyqy.png
TbZ114q.png

PONTUAÇÃO

  NickName 
  Pontos 
  [member=1330]HermesPasser[/member]   ​
2301P.
  [member=1820]Kazzter[/member]   ​
557P.
  [member=78]Brandt[/member]   ​
430P.
  [member=1324]Eranot[/member]   ​
215P
  [member=1673]CleanWater[/member]   ​
182P.
           

REGRAS

• O código deve ser original, criado por você;
• Não serão aceitos códigos comuns e que possuam diversos similares publicados;
• Você deverá apresentar o código e se necessário/possível/apresentável uma amostra dele em processo (in game);
• Você deverá gravar um vídeo de demonstração ou uma demo exportada.
• Postem seus trabalhos na Academia Tecnológica, seguindo as regras locais de postagem e deixando o link para o tópico aqui.
• O script não pode fugir da proposta apresentada;

Obs: Cheque as regras gerais no tópico principal do evento.
 
Resquinho, resquinho, e lá vamos nós de novo :). Só manda uma azul o/

Btw, posso fazer na Ramu né?
 
Me dá uma vermelha ae xD
 
HermesPasser comentou:
Resquinho, resquinho, e lá vamos nós de novo :). Só manda uma azul o/

Btw, posso fazer na Ramu né?

Sim, o script pode ser feito em Ramu.

[!]Lembrando a todos que além do código fonte, preciso de um vídeo ou uma demo exportada apresentando o funcionamento do script.


Uma caixa azul saindo [member=1330]HermesPasser[/member]!

Sistema de Neve

- O sistema deve fazer cair flocos neve no mapa escolhido;
- O sistema deve ser configurável para que:

  1) A neve pode começar (e parar) em um momento aleatório;

  2) A neve pode começar (e parar) quando o herói  interagir com um evento;

  3) A intensidade dos flocos de neve seja configurada (pouco, médio ou muitos).



Kawthar comentou:
Me dá uma vermelha ae xD


Uma caixa vermelha saindo [member=1052]Kawthar[/member]!

Sistema de Comida

- O sistema deverá pedir os ingredientes para que seja produzido comidas natalinas.
- Os ingredientes podem ser obtidos quando um inimigo é derrotado, ou ao examinar locais configurados do mapa;
- O sistema deve ser configurável para que:

  1) O nome da comida e os ingredientes sejam de fácil personalização:
    EX: INGREDIENTES DO PERU DE NATAL: 1 peça de peru, 2 xícaras (chá) de vinho branco, 4 dentes de alho triturados, etc...

  2) O sistema deverá permitir a criação de várias comidas.



Brandt comentou:
Quero verde.

Pode caprichar na tarefa que eu tô on fire.


Uma caixa verde saindo [member=78]Brandt[/member]!

Sistema de Arvore de Natal

- O sistema deverá apresentar uma arvore de natal sem decoração, onde é preciso adicionar os enfeites de baixo para cima;
- Para adicionar cada enfeite, é preciso que o decorador digite uma frase de natal completa sem errar nenhuma letra (configurável);
- Os enfeites podem ser Bola de Natal, Mini-Papai Noel e Ponteira Estrelar;
- Caso ocorra um erro de digitação, os enfeites serão perdidos e o jogador terá que recomeçar do zero;
- O sistema deverá fazer a contagem do tempo total usado para completar a decoração;
- O sistema deve ser configurável para que:

1) As frases sejam de fácil configuração:

  EX:
    Que a paz e a compreensão reinem em nossos corações neste Natal e no Ano Novo que se aproxima. Boas Festas.
    Que neste Natal você desfrute cada momento com imensa alegria e que seja formado um elo de paz, amizade e amor.

2) Quantidade de erros de digitação tolerados por frase.
 
Tópi. O produto veio com defeito então to devolvendo c.c
 
t3VWJPU.gif

Terminei: XMas Tree Deco
Fiz usando PyGame, pra dar uma variada. Pra instalar é só seguir as instruções.

Manda um vermelho aí agora por favor, que eu tô me sentindo comunista.
 
HermesPasser comentou:
Feito. Mais um azul  o/

[member=1330]HermesPasser[/member] Script em avaliação.


Uma caixa azul saindo [member=1330]HermesPasser[/member]!


Sistema de Comida

- O sistema deverá pedir os ingredientes para que seja produzido comidas natalinas.
- Os ingredientes podem ser obtidos quando um inimigo é derrotado, ou ao examinar locais configurados do mapa;
- O sistema deve ser configurável para que:

  1) O nome da comida e os ingredientes sejam de fácil personalização:
    EX: INGREDIENTES DO PERU DE NATAL: 1 peça de peru, 2 xícaras (chá) de vinho branco, 4 dentes de alho triturados, etc...

  2) O sistema deverá permitir a criação de várias comidas.




Brandt comentou:
t3VWJPU.gif

Terminei: XMas Tree Deco
Fiz usando PyGame, pra dar uma variada. Pra instalar é só seguir as instruções.

Manda um vermelho aí agora por favor, que eu tô me sentindo comunista.

[member=78]Brandt[/member] Sistema em avaliação.


Uma caixa vermelha saindo [member=78]Brandt[/member]!

Sistema de Árvore de Copos

- O sistema permitirá que o jogador empilhe vários copos no formato de uma árvore de natal;
- Quanto mais copos forem empilhados, maiores são as chances da árvore cair;
- O sistema deve fazer a contagem do tempo e medir o tamanho da árvore de acordo com a quantidade de copos empilhados.
- O sistema deve ser configurável para que:

  1) A quantidade de copos disponível seja de fácil customização;

  2) A cor dos copos sejam diferentes.

EX:


arvore-de-copos-brincadeiras-de-Natal.jpg



 
Análise Sistema de Neve

[member=1330]HermesPasser[/member]

Linha #175 até #193.

Código:
  setNone(){
    this.setItensity(this.clearSky, 10, -1, 10);
  }
  
  setLittle(){
    this.setItensity(this.snowingSky, 20, 1.5, 15, 40);
  }
  
  setAvarange(){
    this.setItensity(this.snowingSky, 30, 1, 20, 80);
  }
  
  setMuch(){
    this.setItensity(this.snowingSky, 40, 0.5, 25, 160);
  }
  
  setSnowhell(){
    this.setItensity(this.snowingSky, 100, 0.05, 30, 200);
  }

Você criou cinco métodos para fazer a mesma coisa, a duplicidade gerada torna a manutenção mais difícil. Se você criar mais um argumento no método setItensity, terá que mudar em cinco lugares diferentes.

A sugestão seria o método setItensity receber a intensidade como argumento:

EX:

Código:
this.setItensity(0)

Com isso seria possível remover o switch case abaixo:

Linhas #154 até #160.

Código:
    switch(this.currentItensity){
      case this.itensity.none:   this.setNone(); break;
      case this.itensity.little:   this.setLittle(); break;
      case this.itensity.averange: this.setAvarange(); break;
      case this.itensity.much:   this.setMuch(); break;
      default:
        this.setSnowhell();
    }

Fazendo algo do tipo:

Código:
  this.setItensity(this.currentItensity)

Ou apenas:

Código:
  this.setItensity()

Linha #93.

Código:
SnowController.Wind = [Math.random() * itencity.windVel, Math.random() * -itencity.windVel][Math.trunc(Math.random() * 2)];

Você resumiu em uma linha o que poderia ser um método, está bem difícil de ler o que está acontecendo nessa parte do código.

Caso essa linha virasse um método, seria bem mais fácil de entender o seu propósito:

Código:
generateWind(){
  var high_intensity (Math.random() * itencity.windVel);
  var low_intensity = (Math.random() * -itencity.windVel);

  var intensities = [high_intensity, low_intensity];
  var random_intensity = (Math.trunc(Math.random() * 2))
  
  return intensities[random_intensity];
}

Linha #127 até #140.

Código:
    switch(rand){
      case this.itensity.none:
        this.currentItensity = this.itensity.none;
        break;
      case this.itensity.little:
        this.currentItensity = this.itensity.little;
        break;
      case this.itensity.averange:
        this.currentItensity = this.itensity.averange;
        break;
      case this.itensity.much:
        this.currentItensity = this.itensity.much;
        break;
    }

Você poderia remover o switch-case e utilizar apenas uma linha:

Código:
this.currentItensity = rand;

Tirando as falhas de arquiteturas mencionadas acima, o sistema ficou bem legal, parabéns!

A utilização da sua engine "Ramu", permitiu uma boa flexibilidade e grande ajuda na orientação a objetos.

Pontuação: 175P.




HermesPasser comentou:
Aqui. Manda uma verde e uma amarela se for possível pedir duas.

Sistema de Comida em avaliação.

Apenas uma caixa será dada por vez:


Uma caixa amarela saindo [member=1330]HermesPasser[/member]!


Sistema de Ser Papai Noel

- O sistema deve permitir que o jogador controle o Papai Noel na sua tarefa de entregar os presentes;
- Os presentes devem ser entregues 5 casas diferentes;
- Cada presente tem uma cor, e só poderá ser entregue na casa que tiver a mesma cor;
- A contagem de presentes entregues com sucesso deve aparecer na tela;
- Os presentes devem ser entregue no tempo máximo de 60 segundos (configurável).

- O sistema deve ser configurável para que:

  1) A cor dos presentes seja de fácil personalização;

  2) O tempo máximo para entregar os presentes seja de fácil personalização.





Kazzter comentou:
Duas, verde e amarelo!

[member=1820]Kazzter[/member], conforme informei para o Hermes, apenas uma caixa por vez:



Uma caixa verde saindo [member=1820]Kazzter[/member]!

Sistema de Embrulhar Presentes

- O sistema deve permitir que o jogador controle uma esteira de presentes;
- Cada presente precisa de ser embrulhado com um saco plástico e amarrado com um laço;
- O sistema precisa fazer a contagem de quantos presentes foram embrulhados com sucesso;
- Os presentes devem ser embrulhados no tempo máximo de 60 segundos (configurável)

- O sistema deve ser configurável para que:
 
  1) O tempo personalizar os presentes seja de fácil personalização.

  2) A quantidade máxima de presentes que precisam ser embrulhados deve ser de fácil personalização.

 
Resque comentou:
Análise Sistema de Neve

[member=1330]HermesPasser[/member]

Linhas: #52, #53, #57, #63, #117 e #147.

Código:
Ramu.time.delta

...


time.delta um valor que varia de frame para frame, logo não daria para pô-lo em uma constante.

Sobre os metodos que fazem o mesmo, eu já tinha percebido isso (tanto que fiz o setItensity), porém achei melhor ainda deixar os metodos de "atalho" pois isso é um sistema logo pessoas supostamente iriam usar e é interessante separar as responsabilidades de forma legivel para que possam estender qualquer estado de itensidade sem ter que alterar todo o switch (o que ja tive que fazer muito no mv e deixa mais propenso a erros).

Sobre as linhas #127 até #140 eu fiz isso para deixar mais legível porém gostei de sua sugestão.

Fora isso achei suas críticas justas, o one-line random foi justamente por que não queria fazer um método e reconheço que é uma má prática.
 
Uma caixa amarela, por favor! Obrigado :)
Farei esse desafio amanhã de tarde.
 
Daniel M. Neto comentou:
Uma caixa amarela, por favor! Obrigado :)
Farei esse desafio amanhã de tarde.

Uma caixa amarela saindo [member=468]Daniel M. Neto[/member]!


Sistema de Reunir a família

- O sistema precisa funcionar como um "Jogo da Memória", onde cada figura com o nome de uma família se repete em duas peças diferentes;
- Todas as figuras começam viadas para baixo;
- O jogador precisa virar duas figuras por vez e caso sejam de famílias diferentes, as figuras serão viradas para baixo novamente.
- O tempo em segundos é somado até que todas as figuras sejam viradas para cima.

- O sistema deve ser configurável para que:

  1) O nome das famílias nas figuras seja de fácil personalização.
 
Eranot comentou:
Vou pedir uma já, só não sei quando vai dar pra fazer suyaef, uma azul por favor


Uma caixa azul saindo [member=1324]Eranot[/member]!

Sistema - O que tem no chapéu do Papai Noel?

- O sistema precisa exibir uma bola de natal sendo coberta por um corro de natal;
- O gorro que esconde a bola deve ser misturado a outros quatro gorros idênticos (configurável)
- Depois dos gorros serem embaralhados, o jogador precisa adivinhar onde está a bola

- O sistema deve ser configurável para que:

  1) A velocidade em que os gorros são misturados seja de fácil personalização (lenta, rápida, etc...);

  2) A quantidade de gorros vazios seja de fácil personalização.

 
https://www.condadobraveheart.com/forum/index.php?topic=4917.new#new

Acabou virando um joguinho, então resolvi aproveitar a oportunidade para postar lá, mas se quiser eu posso colocar na Academia também.

Se estiver tudo certo, outra caixa amarela.
 
Estado
Tópico fechado. Não é possível fazer postagens nela.
Voltar
Topo Inferior