Jump to content
Rafaela Soares

Modificar um mapa

Recommended Posts

Rafaela Soares

Oi,

É suposto elaborar um jogo semelhante ao bomb it.

Após a elaboração da função para criar um mapa de dimensão ímpar superior a 5, sendo este 9x9:

(Onde o # representa a parede, o ? o tijolo, o + as Bombs e o ! Flames)

(As coordenadas estão por coluna linha, começando no 0)

#########

#              #

#  #?#?#  #

#    ?   ?   #

#?#  #  #?#

#  ?    ?    #

#  #?#?#  #

#    ??      #

#########

+ 5 2

+ 3 3

!  5 5

 

Agora temos como tarefa de trabalho de grupo, criar a função move :: [String] -> Int -> Char -> [String]. 

O jogador varia entre 0 e 3 e os comandos serão ‘U’ (ir para cima), ‘D’ (ir para baixo), ‘L’ (ir para a esquerda), ‘R’ (ir para a direita) e ‘B’ (colocar uma bomba).

Terá de ser acrescentado uma linha a descrever o estado de cada bomba colocada no mapa e uma linha a descrever o estado de cada jogador. Uma bomba é identificada pelo caracter ‘*’ sendo listada depois a sua posição, qual o jogador que a colocou, qual o seu raio de acção e quantos instantes de tempo faltam para explodir. Um jogador é identificado pelo seu dígito sendo listada depois a sua posição e os power ups que entretanto acumulou. O jogo suporta um máximo de 4 jogadores. Bombas e jogadores devem aparecer ordenados por posição e identificador, respectivamente. 

Considerando este mapa: 

#########

#              #

#  #?#  #  #

#         ?   #

#?#  #  #?#

#  ?    ?    #

#  #?#?#  #

#    ??      #

#########


+ 3 3

! 5 5

* 7 7 1 1 10

0 4 3 +

1 7 7

 

Se o jogador o jogador 0 efectuar o comando ‘L’ o resultado será:

#########

#              #

#  #?#  #  #

#         ?   #

#?#  #  #?#

#  ?    ?    #

#  #?#?#  #

#    ??      #

#########

! 5 5

* 7 7 1 1 10

0 3 3 ++

1 7 7

 

Já desenvolvemos as funções que determinam se ele pode andar e se pode colocar uma bomba. Também já elaboramos o go_Left, go_Up e afins. Mas com isto só obtivemos em si a linha 0 4 3 +. Mas não sabemos como desenvolver até ao fim :( 

 

 

Obrigada pela atenção

Edited by Rafaela Soares

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.