carloskick 0 Posted December 21, 2008 Report Share Posted December 21, 2008 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
pmg 85 Posted December 21, 2008 Report Share Posted December 21, 2008 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 359 Posted December 21, 2008 Report Share Posted December 21, 2008 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). Rui Carlos Gonçalves Link to post Share on other sites
pmg 85 Posted December 21, 2008 Report Share Posted December 21, 2008 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
carloskick 0 Posted December 22, 2008 Author Report Share Posted December 22, 2008 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
Rui Carlos 359 Posted December 22, 2008 Report Share Posted December 22, 2008 O algoritmo que dei, serve para qualquer tabuleiro. Rui Carlos Gonçalves Link to post Share on other sites
carloskick 0 Posted December 22, 2008 Author Report Share Posted December 22, 2008 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
Rui Carlos 359 Posted December 22, 2008 Report Share Posted December 22, 2008 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. Rui Carlos Gonçalves Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now