C++ is fun, but sometimes, is not
As vezes o C++ cria alguns problemas chatos. A idéia de uma linguagem com orientação a objetos é que cade peçado (classe/objeto) é uma entidade independente, mas que pode conter outras entidades. O problema começa quando você tem dois tipos de entidades diferentes, como NPCs e Players,q eu tem que fazer cálculos levando em conta a outra entidade, que ela no conhece. No caso do Rockbot, a classe game, possui duas listas, uma de players e outra de npcs, e cada uma destas, contém uma lista de projéteis, o problema é que cada elemento da lista precisa acessar a lista do outro tipo de elemento, para fazer verificações de colisão e proximidade. Vou ter que pensar muito bem em uma solução.
Print article | This entry was posted by iuri on July 8, 2011 at 11:01, and is filed under rockbot. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |
about 8 years ago
Sugestão: cria uma classe Character que tem a lista de projéteis, e deriva Player e NPC dela.
about 8 years ago
É, eu fiz isso. E refiz várias partes da lógica para usar decentements vectors e lists, ficou BEM melhor que o velho código C-ANSI. Ainda tenho uns problemas aqui e ali ao deletar um item que parece lixo de memória (não descobri ainda como eles acabam aparecendo dentro da lista), mas, no geral, o C++ está sendo super-útil para o projeto. Eu devia tê-lo feito em C++ desde o começo…
about 8 years ago
No ifnal, foi exatamente o que eu fiz 😀