Java:国际象棋 - 移动一块

时间:2015-12-31 01:39:24

标签: java chess

我想用鼠标移动它。

例如,假设坐在棋盘上的一个正方形上的棋子。 如果我的鼠标是在pawn所在的方格中单击(按下并释放),则会选中它。之后,我会在适当的方格中单击(按下并释放)。比如,前面的广场,因为这是国际象棋中的正确举动。 pawn会移动(从它所在的方块上擦除,然后在新的方格上重新绘制)到最终选定的方块。

目前,Pawn在执行结束时只是坐在广场上。 如果有任何帮助,我使用Ready To Program Java(我的老师告诉我)以及c控制台(c = new Console();)。

这是我到目前为止所做的源代码:)

import hsa.Console;
import java.awt.*;

public class Chess
{
    static Console c;

    public static void main(String[] args)
    {
        c = new Console(30, 100);    // Rows, Columns (X = 790px && Y = 600px)   

        Board();
        Pawn();
    }

    public static void Board()      // Board: 504px x 504px     Square: 63px x 63px
    {
        int Horizontal = 143;   // Board's origin point (X)
        int Vertical = 48;      // Board's origin point (Y)

        for (Vertical = 48; Vertical < 552; Vertical+=63)       // Moving onto the next "line"
        {
            for (Horizontal = 143; Horizontal < 647; Horizontal+=63)    // Filling the "line" with squares
            {
                c.drawRect(Horizontal, Vertical, 63, 63);   // Drawing the Squares
            }
            Horizontal = 143;       // Resetting the "line"
        }
    }

    public static void Pawn()       // Image and properties of a PAWN piece
    {
        c.setColor(Color.red);          // How the Pawn looks
        c.drawOval(143, 111, 63, 63);   
    }
}

1 个答案:

答案 0 :(得分:1)

可以在此处找到Console Java类文档:

http://stbenedict.wcdsb.ca/hsa/Console.html

正如它所指定的那样,它实现了EventListener接口,该接口有一个子接口MouseListener。网上有很多指南,记录了如何处理从MouseListener发送的事件。这是Oracle的文档中的一个:

https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html