Jogos :: lineofsight.

jogos :: lineofsight é um módulo Perl.
Baixe Agora

Jogos :: lineofsight. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Ville Jungman
  • Site do editor:
  • http://search.cpan.org/~viljun/Games-Lineofsight-1.0/Lineofsight.pm

Jogos :: lineofsight. Tag


Jogos :: lineofsight. Descrição

Games :: Lineofsight é um módulo Perl. Games :: Lineofsight é um Perl module.Many jogos (Ultima, Nethack) o uso de mapas bidimensionais, que consiste dos quadrados do mesmo tamanho em uma grade. meios de linha de visão que alguns dos quadrados podem representar os itens que bloqueiam a visão do jogador de ver praças atrás deles. Com este módulo você pode adicionar esse comportamento para seu uso games.SYNOPSIS Jogos :: Lineofsight qw (lineofsight); # O mapa tem de ser uma matriz bidimensional. Cada membro (ou "célula") da matriz representa um # quadrado no mapa. Neste exemplo, cada célula contém apenas um personagem, mas você pode colocar cordas # para as células também - práticos com os jogos gráficos. my @ map = (, # este é o mapa , # e:. representa o chão , # X é a barreira para a visão , , ,); my ($ width) = escalar (@ {@ map }); # A largura do mapa my ($ altura) = escalar (@map); # A altura do mapa my ($ barrier_str) = "X"; # String que representa a barreira my ($ hidden_str) = "*"; # String que representa uma célula atrás de uma barreira minha ($ man_str) = "@"; # String que representa o espectador minha ($ man_x, $ man_y) = (7,3); # Coordenadas View Point - o jogador é aqui # recriar o mapa com line-of-sight @ mapear = lineofsight (@ mapa, $ man_x, $ man_y, $ barrier_str, $ hidden_str); # Desenhar o mapa para (o meu $ i = 0; $ i <$ altura; $ i ++) {for (my $ j = 0; $ j <$ largura; $ j ++) {print $ man_x == $ j $ man_y = = $ i? $ Man_str: $ map ; } Imprimir "n"; } Ou # O lineofsight () chama get_barriers () e analyze_map () cada vez que for chamado. Se o espectador # se move em torno do mapa muito, é muito mais rápido para ler nas barreiras uma vez e chamar única # analyze_map () cada vez antes de desenhá-lo. de uso Jogos :: Lineofsight qw (get_barriers analyze_map); # O mapa tem de ser uma matriz bidimensional. Cada membro (ou "célula") da matriz representa um # quadrado no mapa. Neste exemplo, cada célula contém apenas um personagem, mas você pode colocar cordas # para as células também - práticos com os jogos gráficos. my @ map = (, # este é o mapa , # e:. representa o chão , # X é a barreira para a visão , , ,); my ($ width) = escalar (@ {@ map }); # A largura do mapa my ($ altura) = escalar (@map); # A altura do mapa my ($ barrier_str) = "X"; # String que representa a barreira my ($ hidden_str) = "*"; # String que representa uma célula atrás de uma barreira minha ($ man_str) = "@"; # String que representa o espectador minha ($ man_x, $ man_y) = (7,3); # Coordenadas View Point - o jogador é aqui # get_barriers () retorna um hash com as informações sobre barreiras no mapa. Neste exemplo, # declarar a -character "X" como uma barreira. Como assim você pode declará-lo para ser uma string nos jogos gráficos #; por exemplo "barrier.jpg". minha rrier = get_barriers ($ largura, altura $, @ mapa, $ barrier_str); # Analyze_map () retorna uma matriz contendo o mapa original parecia do ponto de vista. As células # atrás das barreiras são substituídas por dados strings. As barreiras devem ser dito para a sub-rotina # chamando primeiros get_barriers () - sub-rotina como já fez. my @ map2 = analyze_map ($ largura, altura $, @ mapear, rrier, $ man_x, $ man_y, $ hidden_str); #draw o mapa com a impressão lineofsight "mapa nOriginal: n"; desenhar ($ largura, altura $, $ man_x, $ man_y, @ MAP2, $ man_str); # Mover o espectador duas praças direito $ man_x + = 2; # Atualizar o mapa my @ map2 = analyze_map ($ largura, altura $, @ mapa, rrier, $ man_x, $ man_y, $ hidden_str); #draw o mapa novamente imprimir "nViewer mudou: n"; desenhar ($ largura, altura $, $ man_x, $ man_y, @ MAP2, $ man_str); sub empate {my ($ largura, altura $, $ man_x, $ man_y, $ mapa, $ man_str) = @ _; for (my $ i = 0; $ i <$ altura; $ i ++) {for (my $ j = 0; $ j <$ largura; $ j ++) {print $ man_x == $ j $ man_y == $ i? $ Man_str: $$ mapa ; } Imprimir "n"; }} Requisitos: · Requisitos de Perl: · Perl.


Jogos :: lineofsight. Software Relacionado

Python mycms.

Python MyCMS é uma plataforma de desenvolvimento de aplicativos construída com integração robusta do MySQL. ...

136

Download