tipo, tenho um jogo em que um cara pode ter varias armas. ai tem uma lista bem grande de todas as armas do jogo. ai ele vai la e abre um bau e ganha uma das armas. ai eu vou passar o id da arma e tenho que pegar na lista qual a arma que corresponde.
exemplo, tenho a classe armas:
class armas { string Nome; int Forca; };[/code]
ai eu quero ter uma listagem de varias armas, exemplo:
ai quando ele abrir o bau, se por exemplo, quero que ele ganhe a espada de ferro, eu acrescento mais uma arma de id 2 pra ele.
o que eu queria saber é como essa lista geralmente é armazenada nos jogos em geral. porque pelo que me parece eles não usam banco de dados.
o que me parece é que eles usam arquivos com os dados e leem os arquivos durante o jogo. não sei se é isso mesmo. no caso acho que eu teria que faze um arquivo texto comum, mudo a extensao e de alguma forma eu encripto os dados la dentro. mas eu tava pensando, por mais que eu encripte, sempre tem como alguém ir la e entender como é feito e alterar o arquivo pra robar no jogo. ai ele vai la e altera o poder da espada de madeira pra 999, por exemplo.
otra forma que eu tinha pensado era deixar essa lista no proprio codigo do programa e pegar os dados por uma funcao em que eu passasse o id da arma como parametro. exemplo:
[code]armas RetornaArma(int id) { armas arma;
if (id == 1) { arma.Nome = "Espada de Madeira"; arma.Forca = 10; } else if (id == 2) { arma.Nome = "Espada de Ferro"; arma.Forca = 20; }
....
return arma; }
não sei, as vezes acho que esse metodo é meio tonto, mas não vejo muito problema a não ser o exe ficar muito grande. mas qual sera o metodo que seria mais rapido?? aramazenar em arquivo, ou o metodo acima, no proprio codigo?? porque por exemplo, a hora que o cara abrir o inventario e tiver mais de 200 itens pra listar, se eu tivesse que ler o arquivo, eu teria que ler linha por linha ate chegar no item que eu quero 200 vezes. agora, no segundo metodo ele so faria os ifs sem ter que ler o arquivo, ou seja cada comparacao de ids seria mais rapida. apesar de que se eu ordenar a lista do inventario e ordendar a lista no arquivo, eu posso abrir o arquivo so uma vez e ler na sequencia, ganhando tempo. acho que esse metodo do arquivo seria mesmo bem mais rapido, mas também seria mais facil pra trapacearem.
mas sei la, alguém tem uma ideia de como seria o melhor jeito?? tipo, alguém sabe como eles fazem isso nos jogos pra pc em geral??
Pergunta
kuroi
tipo, tenho um jogo em que um cara pode ter varias armas. ai tem uma lista bem grande de todas as armas do jogo. ai ele vai la e abre um bau e ganha uma das armas. ai eu vou passar o id da arma e tenho que pegar na lista qual a arma que corresponde.
exemplo, tenho a classe armas:
não sei, as vezes acho que esse metodo é meio tonto, mas não vejo muito problema a não ser o exe ficar muito grande. mas qual sera o metodo que seria mais rapido?? aramazenar em arquivo, ou o metodo acima, no proprio codigo?? porque por exemplo, a hora que o cara abrir o inventario e tiver mais de 200 itens pra listar, se eu tivesse que ler o arquivo, eu teria que ler linha por linha ate chegar no item que eu quero 200 vezes. agora, no segundo metodo ele so faria os ifs sem ter que ler o arquivo, ou seja cada comparacao de ids seria mais rapida. apesar de que se eu ordenar a lista do inventario e ordendar a lista no arquivo, eu posso abrir o arquivo so uma vez e ler na sequencia, ganhando tempo. acho que esse metodo do arquivo seria mesmo bem mais rapido, mas também seria mais facil pra trapacearem.
mas sei la, alguém tem uma ideia de como seria o melhor jeito?? tipo, alguém sabe como eles fazem isso nos jogos pra pc em geral??
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.