Jump to content

Xadrez: Cavalo


Juin
 Share

Recommended Posts

Boas tenho o seguinte código

n=8;
m=8;

public boolean Visita (){

int posx=4, posy=4;
int tabuleiro[n][m];

if((posx-1)<n && (posy+2)<m){

posx=posx+1;
posy=posy+1;
return(true);
}

if((posx+2)<n && (posy+1)<m){

posx=posx+2;
posy=posy+1;
return(true);
}

}

Tenho dúvida é tipo, o próximo quadrado que este cavalo vai ocupar eu quero eliminá-lo mas não sei como. Alguem me ajuda?

Cumprimentos e Obrigada

Link to comment
Share on other sites

Queres eliminar?

Não compreendi a tua dúvida.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

diz assim:

Determine um quadrado especifico e elimine todos os quadrados que uma figura da classe cavalo pode atingir através das jogadas 5 e 7.

Descreva em pseudocádigo, um algoritmo que elimine do tabuleiro original todos os quadrados que sejam atingiveis a partir do quadrado inicial, com uma sucessao das jogadas 5 e 7 da classe cavalo.

a classe cavalo:

public class Cavalo {
protected static int n=8;
protected static int m=8;
private int linha; 
private int coluna;
Cavalo(int z, int s) {
    if (z>=0&&z<n&&s>=0&&s<m){
        linha=z;
        coluna=s; }
    else {
    z=0;
    s=0;}}
public boolean jogada(int i, Cavalo Gaul){
    switch(i){
        case 0: if ((linha-2)>-1&&(coluna-1)>-1){
            Gaul.linha=linha-2;
            Gaul.coluna=coluna-1; 
            return(true);
        }
        break;
        case 1: if ((linha-2)>-1&&(coluna+1)<m){
            Gaul.linha=linha-2;
            Gaul.coluna=coluna+1; 
            return(true);
        }
        break;
        case 2: if ((linha-1)>-1&&(coluna-2)>-1){
            Gaul.linha=linha-1;
            Gaul.coluna=coluna-2; 
            return(true);
        }
        break;
        case 3: if ((linha-1)>-1&&(coluna+2)<m){
            Gaul.linha=linha-1;
            Gaul.coluna=coluna+2; 
            return(true);
        }
        break;
         case 4: if ((linha+1)<n&&(coluna-2)>-1){
            Gaul.linha=linha+1;
            Gaul.coluna=coluna-2; 
            return(true);
        }
        break;
        case 5: if ((linha+1)<n&&(coluna+2)<m){
            Gaul.linha=linha+1;
            Gaul.coluna=coluna+2; 
            return(true);
        }
        break;
        case 6: if ((linha+2)<n&&(coluna-1)>-1){
            Gaul.linha=linha+2;
            Gaul.coluna=coluna-1; 
            return(true);
        }
        break;
        case 7: if ((linha+2)>-1&&(coluna+1)<m){
            Gaul.linha=linha+2;
            Gaul.coluna=coluna+1; 
            return(true);
        }
        break;
        default: break;
    }
    return(false);
    }
public void apresenta(){
    System.out.println("Estou na linha"+linha+"e coluna"+coluna);
    }
public int lin(){return(linha);}

public int col(){ return(coluna);}

public void set_n(int i){ n=i;}

public void set_m(int i){m=i;}
}
Link to comment
Share on other sites

Se bem compreendi, podes marcar no teu tabuleiro as posições tabuleiro[n][m] com, por exemplo -1, para indicar que essas posições cumprem os requisitos indicados no enunciado.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Sim, é uma hipótese.

No final ficas com as posições marcadas que correspondem à solução do teu enunciado.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
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
 Share

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