[Java] 将棋アルゴリズムを作る。〜盤面の作成〜

Java

授業でオセロゲームを作り、その延長線上で、今日から将棋のアルゴリズムを作ることにした。

年内のは作成を終えることにしたいので、どんどん記事の更新をしていきたいと思う。

盤面の作成

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

class Board{
    int unit_size=70;
    Board(){
    }

    void paint(Graphics g,int unit_size){
        g.setColor(Color.black);
        g.fillRect(0,0,unit_size*11,unit_size*11);
        g.setColor(new Color(249,194,88));
        g.fillRect(unit_size,unit_size,unit_size*9,unit_size*9);
        g.setColor(Color.black);
        for(int i=1; i<=10; i++){
            g.drawLine(unit_size,i*unit_size,10*unit_size,i*unit_size);
        }
        for(int i=1; i<=10; i++){
            g.drawLine(i*unit_size,unit_size,i*unit_size,10*unit_size);
        }
    }
}

public class Shougi extends JPanel{
    public final static int UNIT_SIZE=70;
    Board board=new Board();

    public Shougi(){
        setPreferredSize(new Dimension(UNIT_SIZE*11,UNIT_SIZE*11));
    }

    public void paintComponent(Graphics g){
        board.paint(g,UNIT_SIZE);
    }

    public static void main(String[] args){
        JFrame f=new JFrame();
        f.getContentPane().setLayout(new FlowLayout());
        f.getContentPane().add(new Shougi());
        f.pack();
        f.setResizable(false);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
}

実行結果

上記のような実行結果になった。

これから駒を作って年内の完成に向けて頑張っていきたい。

コメント

タイトルとURLをコピーしました