Juegos :: Linefsight

JUEGOS :: LEAROFSIGHT es un módulo PERL.
Descargar ahora

Juegos :: Linefsight Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Ville Jungman
  • Sitio web del editor:
  • http://search.cpan.org/~viljun/Games-Lineofsight-1.0/Lineofsight.pm

Juegos :: Linefsight Etiquetas


Juegos :: Linefsight Descripción

Juegos :: Linefsight es un módulo Perl. Juegos :: LEARONOFSIGHT es un módulo de Perl. Juegos de Muchos (Ultima, Nethack) usan mapas bidimensionales que consisten en los cuadrados del mismo tamaño en una cuadrícula. La línea de visión significa que algunos de los cuadrados pueden representar los artículos que bloquean la visión del jugador de ver cuadrados detrás de ellos. Con este módulo puede agregar ese comportamiento a sus juegos.Synopsis Use Juegos :: Linefsight QW (LineFsight); # El mapa tiene que ser una matriz bidimensional. Cada miembro (o "celda") de la matriz representa una # cuadrada en el mapa. En este ejemplo, cada celda contiene solo un carácter, pero puede colocar cuerdas # a las celdas también, práctico con los juegos gráficos. MI @ MAP = (, # Este es el mapa , #. Y: representa el suelo , # x es la barrera para la vista , , ,); mi ($ ancho) = escalar (@ {@ mapa }); # el ancho del mapa mi ($ altura) = escalar (@map); # la altura del mapa mi ($ barrera_str) = "x"; # cadena que representa la barrera My ($ Hidden_STR) = "*"; # cadena que representa una celda detrás de una barrera mi ($ man_str) = "@"; # cadena que representa al espectador mi ($ MAN_X, $ MAN_Y) = (7,3); # Ver las coordenadas de puntos: el jugador está aquí # Recrear el mapa con Line-of-sight @ map = Linefsight (@ mapa, $ MAN_X, $ MAN_Y, $ Barrier_Str, $ Hidden_str); # Dibuja el mapa para (My $ i = 0; $ i <$ altura; $ i ++) {para (My $ j = 0; $ j <$ anchos; $ j ++) {imprimir $ man_x == $ j $ man_y = = $ i? $ MAN_STR: $ MAP ; } Imprimir "n"; } O # The LineOfSight () llama a get_barriers () y analze_map () cada vez que se llama. Si el espectador # se mueve alrededor del mapa, es mucho más rápido leer en las barreras una vez y llamar solo # analize_map () cada vez antes de dibujarlo. Usa Juegos :: Linefsight QW (get_barriers analze_map); # El mapa tiene que ser una matriz bidimensional. Cada miembro (o "celda") de la matriz representa una # cuadrada en el mapa. En este ejemplo, cada celda contiene solo un carácter, pero puede colocar cuerdas # a las celdas también, práctico con los juegos gráficos. MI @ MAP = (, # Este es el mapa , #. Y: representa el suelo , # x es la barrera para la vista , , ,); mi ($ ancho) = escalar (@ {@ mapa }); # el ancho del mapa mi ($ altura) = escalar (@map); # la altura del mapa mi ($ barrera_str) = "x"; # cadena que representa la barrera My ($ Hidden_STR) = "*"; # cadena que representa una celda detrás de una barrera mi ($ man_str) = "@"; # cadena que representa al espectador mi ($ MAN_X, $ MAN_Y) = (7,3); # Ver las coordenadas de puntos: el jugador está aquí # get_barriers () devuelve un hash con la información sobre las barreras en el mapa. En este ejemplo, nosotros # declaramos el "X" -Caracter como barrera. Además, puedes declararlo para ser una cadena en los juegos gráficos; Por ejemplo, "barrera.jpg". mi rrier = get_barriers ($ anchos, $ altura, @ mapa, $ barrera_str); # analizy_map () devuelve una matriz que contiene el mapa original que se veía desde el punto de vista. Las células # detrás de las barreras se reemplazan con cadenas dadas. Se deben decir las barreras a la subrutina # llamando a la primera get_barriers () - SUBROUTINE como ya lo hicimos. my @ map2 = analze_map ($ ancho, $ altura, @ mapa, rrier, $ man_x, $ man_y, $ hidden_str); #DRAW El mapa con la impresión de Linefsight "Mapa noriginal: N"; Dibujar ($ ancho, $ altura, $ MAN_X, $ MAN_Y, @ MAP2, $ MAN_STR); # Mover el espectador dos cuadrados a la derecha $ MAN_X + = 2; # Actualizar el mapa My @ map2 = analze_map ($ ancho, $ altura, @ mapa, rrier, $ man_x, $ man_y, $ Hidden_str); #DRAW El mapa de nuevo, imprimir "nViewer se ha movido: n"; Dibujar ($ ancho, $ altura, $ MAN_X, $ MAN_Y, @ MAP2, $ MAN_STR); Sub Draw {My ($ Ancho, $ altura, $ MAN_X, $ MAN_Y, $ MAP, $ MAN_STR) = @ _; Para (MIS $ I = 0; $ I <$ ITUSE; $ I ++) {para (MIS $ J = 0; $ J <$ ANCHO; $ J ++) {imprimir $ man_x == $ j $ man_y == $ i? $ MAN_STR: MAPA DE $$ ; } Imprimir "n"; }} Requisitos: · Requisitos de Perl: · Perl


Juegos :: Linefsight Software relacionado

Python Mycms

Python Mycms es una plataforma de desarrollo de aplicaciones construida con la integración robusta de MySQL. ...

136

Descargar