IntelliJ IDEA – die besten Beiträge

Warum wird das Spielfeld nach der Bauernbewegung so komisch ausgegeben?

Ich wäre jedem einzelnen von euch mega dankbar, wenn ihr mir helfen könntet!

Hallo zusammen,

wir haben die Aufgabe bekommen das Spiel Schach in einer sehr abgespeckten Variante zu implementieren. Das heißt, so wie mein Code momentan aussieht, ist er an sich fertig von den Funktionalitäten. Jedoch ergeben sich zwei Probleme: Einerseits das sich bei einem JUnit-Test der Springer vom Feld [4][4] nicht auf [6][5] bewegen lässt und das die Bauernbewegung sehr schlecht und unregelmäßig funktioniert.

Das bedeutet, dass alle schwarzen Bauern sich auf [2][0] bewegen und alle weißen Bauern, die sich unten befinden, sollen sich nicht bewegen lassen. Außer dem [6][6], der sich dann auf das Feld [5][0] bewegt.

Mein Code ist grundsätzlich so aufgebaut, das es eine ChessPiece-Superklasse gibt, von denen die einzelnen Spielfigurenklassen erben und eine ChessBoard-Klasse, die das Feld abbildet und Figuren bewegt.

Ich bin seit zwei Tagen am Verzweifeln, weil weder ich, noch KI mir helfen konnte. Deswegen wäre ich unglaublich dankbar, wenn einer von euch mich erlösen könnte.

Ich versuche die wichtigsten Implementierungen in den Bildern darzustellen.

Die main-Methode:

Erstellen der Felder:

Die Methode soll grob sagen, ob eine Bewegung true oder false ist:

Ausgeben des Feldes:

Die ausführende Bewegungsmethode:

Beispielausgabe:

Springerbewegung mit JUnit-Test:

Wenn ihr noch was braucht, sagt Bescheid. Ich wäre euch unglaublich dankbar, wenn ihr mir helfen könnt!

Bild zum Beitrag
programmieren, Java, Schach, Programmiersprache, Objektorientierte Programmierung, IntelliJ IDEA

Wie mache ich es, dass pro ordner ein JButton hinzugefügt wird?

Ich möchte eine Art Wiki mit Java machen, wo man Sachen herunterladen kann damit dass dann in der App angezeigt wird, doch ich weiß nicht wie ich es mache, dass ein JButton hinzugefügt wird wenn ein Ordner, da ist. Ich möchte dann auch, dass wenn man auf dem Button draufklickt, dass dann die Dateien darin auch aufgelistet werden und dann, wenn man darauf klickt, dass dann der inhalt der Datei angezeigt wird, kann mir jemand helfen?

Main.java

import javax.swing.*;

public class Main {
    public static void main(String[] arg) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Frame();
            }
        });
    }
}

Frame.java

import javax.swing.*;

public class Frame extends JFrame {
    public Frame() {
        setResizable(false);
        setSize(1000, 700);
        setDefaultLookAndFeelDecorated(true);
        setLocationRelativeTo(null);
        setTitle("JWiki.jar");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(new Panel());

        setVisible(true);
    }
}

Panel.java

import javax.swing.*;
import java.awt.*;

public class Panel extends JPanel { //GUI
    public Panel() {
        //Labels and Buttons
        JLabel l0 = new JLabel();
        l0.setText(".");
        l0.setBounds(0, 10, 10, 5);
        l0.setVisible(true);

        JLabel l1 = new JLabel();
        l1.setText("Downloaded Wikis");
        l1.setBounds(5, -10, 110, 50);
        l1.setVisible(true);

        JLabel l2 = new JLabel();
        l2.setText("Wiki Pages");
        l2.setBounds(120, -10, 65, 50);
        l2.setVisible(true);

        JButton b1 = new JButton();
        b1.setText("Test");
        b1.setBounds(5, 30, 101, 25);
        b1.setVisible(true);


        //Adding Labels and Buttons
        add(l0);
        add(l1);
        add(l2);

        add(b1);

        setLayout(null);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        draw(g);
    } public void draw(Graphics g) {
        g.setColor(Color.black);
        g.fillRect(115, 5, 2, 700);
        g.fillRect(190, 0, 2, 700);
        g.fillRect(0, 5, 190, 2);
        g.fillRect(0, 25, 190, 2);
    }
}

Java, Code, Programmiersprache, Java Swing, IntelliJ IDEA

Meistgelesene Beiträge zum Thema IntelliJ IDEA