Skip to content

Spaw enemies in a visitor#5

Open
RochaCarla wants to merge 2 commits intomasterfrom
spaw-enemies
Open

Spaw enemies in a visitor#5
RochaCarla wants to merge 2 commits intomasterfrom
spaw-enemies

Conversation

@RochaCarla
Copy link

@RochaCarla RochaCarla commented Sep 30, 2020

Implementação do inimigo

  • timer randômico

  • cria inimigo de acordo com esse timer randômico

  • colocar a primeira carta do deck do inimigo


matchReferee.Setup(gameActionFactory, players: new []{HomePlayer, VisitorPlayer});

SetRandomTime();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O GameRoom não parece o lugar ideal pra controlar a estratégia do bot que vai jogar pelo visitante, acho que uma solução mais robusta seria onde o VisitorPlayer é criado no gameObjectFactory ser instanciado uma PlayerBotController ou algo do tipo que implementa a interface IPlayer e no Update dele controla a estratégia de quando jogar uma carta e qual carta jogar, chamando nesse momento o OnVisitorUsedCard.

As vantagens dessa abordagem são principalmente continuar com a semântica do GameRoom só inicializar a sala e ter a lógica do Bot isolada em um lugar que facilita a extensão dela, no futuro poderemos ter varias estratégias diferentes para o bot e essa classe pode controlar isso.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se vocês discordarem dessa proposta de solução ou não entenderem algo do que eu falei a gente pode marcar uma call pra conversar melhor


Dealer Dealer { get; } = new Dealer();

public float maxTime = 20;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Todas essas variáveis iriam para a classe do Bot descrita alí embaixo

time += Time.deltaTime;

if(time >= spawnTime){
Dealer.DealCard(VisitorPlayer);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Esse DealCard do visitor iria pro OnVisitorUsedCard após o uso da carta assim como acontece no OnHomePlayerUsedCard


}

void OnVisitorUsedCard(){
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Esse método está no lugar certo, mas ele precisa ser acessado pelo Bot, um jeito interessante seria o Bot ter uma Action<CardType, int> PlayCard que pode ser setada no Start do GameRoom, assim a gente não cria o acoplamento de ter no Bot acesso direto ao GameRoom

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants