Jump to content

Algoritmo


carloskick

Recommended Posts

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

Link to post
Share on other sites

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!

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).

Link to post
Share on other sites

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!

Link to post
Share on other sites

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!

Link to post
Share on other sites

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!

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.