Jump to content
carloskick

Algoritmo

Recommended Posts

carloskick

ja perdi muito tempo a tentar descobrir qual o algoritmo que devo usar para usar num sistema de pontuação, ou seja:

| _ _ _ _ _ _ |    2 peças = 1 ponto

| _ _ o _ o _ |    3 peças = 3 pontos

| _ o x _ x _ |    4 peças = 6 pontos

| o o x x o x |    5 peças = 10 pontos

| o x x o o x |

^^^^^^^^^

isto é um tabuleiro de um jogo em que ganha quem tiver mais peças seguidas(segmentos), ou seja, neste caso a pontuação das peças 'o' seria 7*1 + 1*3 = 10 pontos e das 'x' seria 6*1 + 2*3 = 12 pontos

os segmentos sao feitos em todos os sentidos, incluindo diagonais....e no codigo em si estou a utiliazar uma lista de listas, em k cada lista da lista principal é uma COLUNA do tabuleiro

a minha duvida pressiste mesmo em arranjar um algoritmo para este sistema de pontuação.

obrigado

Share this post


Link to post
Share on other sites
pmg

Onde é que arranjaste o "7*1" para os grupos de 2 'o'?

Eu vejo "6*1" ou "8*1" consoante o grupo de 3 'o' conte como 2 grupos de 2 'o' ou não.

Considera que o tabuleiro está numerado:

E | _ _ _ _ _ _ |    2 peças = 1 ponto

D | _ _ o _ o _ |    3 peças = 3 pontos

C | _ o x _ x _ |    4 peças = 6 pontos

B | o o x x o x |    5 peças = 10 pontos

A | o x x o o x |

  ^^^^^^^^^^^^^^^

    1 2 3 4 5 6

Grupos de 2 'o': A4A5; B1B2; A5B5; B2C2; A1B1; A1B2 (B1C2; C2D3) ==> 6 ou 8 grupos

O que é que me está a faltar?

Nota: Não sei Haskell, mas para o algoritmo em si, não é preciso nenhuma linguagem ;)


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
Rui Carlos

Onde é que arranjaste o "7*1" para os grupos de 2 'o'?

Penso que te falta o A4B5.

Quanto ao algoritmo, percorres cada posição do tabuleiro, e vês se existe alguma sequência com início nessa posição.

Por exemplo, para descobrir as horizontais, quando chegas à posição A4, verificas se o A3 é diferente (para que não esteja no meio de uma sequência já considerada), e como é diferente, verificas se tens iguais nas posições seguinte (vais encontrar mais uma peça igual).

Share this post


Link to post
Share on other sites
pmg

Penso que te falta o A4B5.

LOL, pois falta.

Eu já devia ter aprendido a verificar no papel as contas que faço de cabeça. Sempre que contei grupos no exemplo, deu-me 6 ... e contei várias vezes, em diferentes alturas do dia ;)

Obrigado, Rui Carlos.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
carloskick

mas eu keria saber era um algoritmo para kualker tipo de tabuleiro, desde vazio a xeio, passando por todas as hipoteses de preenchimento...akilo foi  so um exemplo

peço desculpa pelo mal entendido, mas fico agradecido!

Share this post


Link to post
Share on other sites
carloskick

em relaçao aos algoritmos dos segmentos horizontais e verticais ja consegui fazer, está a funconar correctament...agr bloqueei no algoritmo para os segmentos na diagonal, agradecia mais uma vez a vossa ajuda.

obrigado!

Share this post


Link to post
Share on other sites
Rui Carlos

A única coisa que muda é a forma como procuras elementos adjacentes. E provavelmente vais ter que dividir o algoritmo em dois, pois na diagonal tens duas direcções possíveis.

Mas tudo depende do método que estás a usar.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.