carloskick Posted December 19, 2008 at 07:02 PM Report #233279 Posted December 19, 2008 at 07:02 PM 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 | 6 peças = 15 pontos ^^^^^^^^^ 7 peças = 21 pontos 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
TheDark Posted December 19, 2008 at 10:31 PM Report #233316 Posted December 19, 2008 at 10:31 PM Não seria melhor utilizar um array bidimensional? Depois era só comparar cada casa com as adjacentes. Se não tivesse uma peça igual acima, à esquerda ou na diagonal cima-esquerda, contar todas as iguais abaixo, à direita, ou na diagonal baixo direita, respectivamente. Isto para todas as posições ocupadas, excepto a coluna mais à direita e a linha do fundo. Desaparecido.
kalew Posted January 13, 2009 at 03:31 PM Report #237898 Posted January 13, 2009 at 03:31 PM Concordo. pois é muito mais fácil você trabalhar com arrays bidimensionais do que com listas, especialmente se você trabalhar com listas encadeadas por vetores. mas, neste caso, é fácil contar os pontos feitos em colunas. Para contar os pontos feitos nas linhas e diagonais, recomendo criar um array de apontadores que corre as listas verticalmente contabilizando os pontos. O mesmo pode ser elaborado para as diagonais, mas eu teria bastante dificuldades em implementar.
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