powerboy Posted April 12, 2015 at 02:25 PM Report Share #581089 Posted April 12, 2015 at 02:25 PM Tenho um trabalho da faculdade para fazer e nao sei como contrui-lo. O enunciado é o seguinte: Faça o programa Xadrez que, no contexto de um tabuleiro de xadrez, posicione de forma aleatória duas torres e dois bispos, mas de forma a não haver ataques entre as peças. Assim para cada peça guarde as suas coordenadas x e y e compare se há ataque com as peças já processadas. Em caso de ataque deve gerar novas coordenadas e voltar a testar, até não haver qualquer ataque. No final deve-se mostrar o tabuleiro em que cada torre é visualizada com um ‘T’ e cada bispo com um ‘B’, cada posição que não sofra qualquer ataque deve conter um ‘o’, cada posição com um só ataque deve conter um ‘-‘ e cada posição com pelo menos dois ataques deve conter um ‘+’. Para controlar os ataques deve utilizar um array bidimensional de 8 por 8 de char. O programa deverá gerar e mostrar uma nova configuração válida quando, e sempre que, se premir a tecla de Enter. Alguem me pode ajudar? Obrigado! Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted April 12, 2015 at 03:08 PM Report Share #581090 Posted April 12, 2015 at 03:08 PM a dúvida encontrasse onde ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
alexandre1985 Posted April 12, 2015 at 03:10 PM Report Share #581091 Posted April 12, 2015 at 03:10 PM Se não fores tu a fazer, como queres aprender alguma coisa? http://alexandre1985.github.io Link to comment Share on other sites More sharing options...
powerboy Posted April 12, 2015 at 03:24 PM Author Report Share #581094 Posted April 12, 2015 at 03:24 PM a dúvida encontrasse onde ? O que ja tenho é isto! public class P05Xadrez { public static final int ALTURA = 8; public static final int LARGURA = 8; public static final char TORRE = 'T'; public static final char BISPO = 'B'; public static final char SEMATAQUE = 'o'; public static final char UMATAQUE = '-'; public static final char MAISDEDOISATAQUES = '+'; public static void output(char board[][]) { // separador for (char j = 0; j < board.length; j++) { System.out.print("|"); } System.out.println("|"); // colunas for (char i = 0; i < board.length; i++) { // linhas for (char j = 0; j < board.length; j++) { System.out.print("|" + board[i][j]); } System.out.println("|"); // separador for (char j = 0; j < board.length; j++) { System.out.print("|"); } System.out.println("|"); } } public static void putTower(char board[][]) { char x = 0, y = 0; // escolher uma posição qualquer dentro do tabuleiro // marcar as linhas e colunas com o caracter correspondente // ciclo ... // marcar a posição da torre board[x][y] = TORRE; } public static void putBispo(char board[][]) { char x = 0, y = 0; // escolher uma posição qualquer dentro do tabuleiro que não seja nem na // linha nem na coluna da torre // marcar as diagonais da posição escolhida com os caracteres correspondentes // ciclo ... // marcar a posição do bispo board[x][y] = BISPO; } public static void solution(char board[][]) { clearBoard(board); putTower(board); putBispo(board); output(board); } public static void clearBoard(char board[][]) { for (char i = 0; i < board.length; i++) { for (char j = 0; j < board.length; j++) { board[i][j] = ' '; } } } public static void main(String[] args) { char board[][] = new char[ALTURA][LARGURA]; do { solution(); // ler o conteúdo do teclado } Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted April 12, 2015 at 03:47 PM Report Share #581095 Posted April 12, 2015 at 03:47 PM a dúvida encontrasse onde ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
powerboy Posted April 12, 2015 at 04:07 PM Author Report Share #581096 Posted April 12, 2015 at 04:07 PM Nao sei como fazer para posicionar as torres e os bispos e como verificar as se houve ou nao ataques nas coordenadas escolhidas Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted April 12, 2015 at 05:23 PM Report Share #581100 Posted April 12, 2015 at 05:23 PM brute force : testa todas as posições ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
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