Как я могу назначить символы Юникода своим шахматным фигурам?

#java #unicode #chess

Вопрос:

 package Data;
    
import java.util.ArrayList;
    
public class Figurenset {
    boolean color;
    boolean active;
    int id;

    public Figurenset() {
    }
    
    public ArrayList<Figur> initialiseFigures(boolean color, boolean active ) {
        ArrayList<Figur> figures = new ArrayList<Figur>();
        
        //prüft ob Figuren Schwarz sind
        if(color == true) {
            for(int p = 100; p <= 108; p  ) {
                figures.add(new Pawn(id = p, color, active));
            }
            for(int r = 110; r <= 111; r  ) {
                figures.add(new Rook(id = r, color, active));   
            }
            for(int k = 120; k<=121; k  ) {
                figures.add(new Knight(id = k, color, active)); 
            }
            for(int b = 130; b<=131; b  ) {
                figures.add(new Bishop(id = b, color, active));
            }
            figures.add(new King(id=140, color, active));
            figures.add(new Queen(id=150, color, active));
        
            for (Figur figur : figures) {
                System.out.println("id: " figur.id ", color: schwarz" ", active: " figur.active);
            }
        } else if(color == false){
            for(int p = 200; p <= 208; p  ) {
                figures.add(new Pawn(id = p, color, active));
            }
            for(int r = 210; r <= 211; r  ) {enter code here
                figures.add(new Rook(id = r, color, active));   
            }
            for(int k = 220; k<=221; k  ) {
                figures.add(new Knight(id = k, color, active)); 
            }
            for(int b = 230; b<=231; b  ) {
                figures.add(new Bishop(id = b, color, active));
            }
            figures.add(new King(id=240, color, active));
            figures.add(new Queen(id=250, color, active));
            for (Figur figur : figures) {
                System.out.println("id: " figur.id ", color: weiss" ", active: " figur.active);
            }
        }

        return figures;
    }
}
 
 package Data;
    
public class Figur {
    boolean color;
    boolean active;
    int id;
    boolean legal = false;

    public Figur(int id, boolean color, boolean active) {
        this.color = color;
        this.active = active;
        this.id = id;
    }

    public boolean LegalMoves(int fromX, int toX, int fromY, int toY, boolean legal) {
        if (toX == fromX amp;amp; toY == fromY)
            return false; // Keine Bewegung
        if (toX < 0 || toX > 7 || fromX < 0 || fromX > 7 || toY < 0 || toY > 7 || fromY < 0 || fromY > 7)
            return false; // Bewegung ausserhalb Brett
        return true;
    }
}
 

Ниже приведены символы Юникода, которые я пытаюсь реализовать. Я полный новичок в Java, и это может быть просто, но я прочитал несколько ответов и попробовал различные коды и способы реализации, но с треском провалился.

 "u2654","u2655","u2656","u2657","u2658","u2659",
"u265A","u265B","u265C","u265D","u265E","u265F"
 

Комментарии:

1. » пробовал различные коды и способы реализации, но потерпел неудачу » — Где именно вы пытаетесь использовать символы Юникода? Я не вижу таких попыток в этом коде.

Ответ №1:

Я не уверен, понял ли я вопрос, но если вы хотите использовать специальные символы юникода, вы должны «использовать их» как символ. Я давно не делал ничего подобного тебе, так что, возможно, я неправильно помню, но я верю, что это ответ:

 int a = 2654;
String b = Character.toString((char)a);