В предыдущей статье рассказывается о том, что Java реализует две шахматные игры Gozi (2), рисуя шахматную доску, и шахматная доска была нарисована. Далее нам нужно реализовать функцию управления, основные функции:
1) Выберите шахмат
2) Нарисуйте шахматы
3) Судить победителя
4) Обмен шахматы
Осознайте часть рисунка шахматного куска сначала
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
Во -первых, определите класс шахмат. Этот класс имеет два атрибута: цвет произведения (0- означает черный и 1- означает белый), и следует ли сделать ход (я планирую использовать двумерный массив для хранения информации о шахматном образе))
Шахматный человек. Java
пакет xchen.test.simplegobang; Public Class Chessman {private int color; // 1-white, 0-черный частный логический Prop = false; public Chessman (int color, логический переметчик) {this.color = color; это. } public boolean atepled () {return Put; } public void setpled (boolean pret) {this.placed = put; } public int getColor () {return Color; } public void setColor (int color) {this.color = color; }} Затем мы нарисовали кодовую часть шахматной доски в предыдущей части и добавили код для рисования шахматных кусочков. Я использовал две шахматные части (один белый и один черный, расположенный на шахматной доске [8, 8], [7, 7]), чтобы проверить код для рисования шахматных кусочков.
Drawchessboard.java
пакет xchen.test.simplegobang; импортировать java.awt.graphics; импортировать java.awt.graphics2d; импортировать java.awt.radialgradientpaint; импортировать java.awt.image; импортировать java.awt.toolkit; импортировать java.awt.color; импортировать javax.swing.jpanel; открытый класс Drawchessboard Extends jPanel {final Static Int Black = 0; окончательный статический int white = 1; public int chesscolor = черный; Public Image Boardimg; окончательные частные ряды = 19; Шахматный [] [] chessstatus = new Chessman [Rows] [Rows]; public drawchessboard () {boardimg = toolkit.getdefaulttoolkit (). getimage ("res/drawable/chessboard2.png"); if (boardimg == null) system.err.println ("png не существует"); // тест рисовать шахматный шахматный шахматный шахматный шахмат = новый шахмат (0, true); Chessstatus [7] [7] = шахматный; Шахматный шахматный шахмат = новый шахматный (1, правда); Chessstatus [8] [8] = Шахестман2; // тест рисовать Чечатую часть простой} @Override Protected void PaintComponent (Graphics G) {// TODO Автогенерированный метод Supe.PaintComponent (G); int imgwidth = boardimg.getheight (это); int imgheight = boardimg.getWidth (это); int fwidth = getWidth (); int fheight = getheight (); int x = (Fwidth-imgwidth)/2; int y = (fheight-imgheight)/2; g.drawimage (Boardimg, x, y, null); int margin = x; int span_x = imgwidth/ряд; int span_y = imgheight/rows; // Нарисуйте горизонтальную линию для (int i = 0; i <rows; i ++) {g.drawline (x, y+i*span_y, fwidth-x, y+i*span_y); } // Нарисуйте вертикальную линию для (int i = 0; i <rows; i ++) {g.drawline (x+i*span_x, y, x+i*span_x, fheight-y); } // Нарисуйте шахматы для (int i = 0; i <rows; i ++) {for (int j = 0; j <Rows; j ++) {if (chessstatus [i] [j]! = Null && chessstatus [i] [j] .getpled () == true) {System.out.println (»(j] j+i+"+"+"+"+"+"+"+j+"+"+"+"+"+"+j+"; int pos_x = x+i*span_x; int pos_y = y+j*span_y; int schessman_width = 20; float radius_b = 20; float radius_w = 50; float [] fractions = new Float [] {0f, 1f}; java.awt.color [] colors_b = new java.awt.color [] {color.black, color.white}; Color [] colors_w = new Color [] {color.white, color.black}; RadialGradientPaint Paint; if (chessstatus [i] [j] .getColor () == 1) {System.out.println ("Draw White Chess"); Paint = new RadialGradientPaint (pos_x-chessman_width/2f, pos_y-kessman_width/2f, radius_w*2, fracts, colors_w); } else {System.out.println ("Нарисуйте черные шахматы"); Paint = new RadialGradientPaint (pos_x-chessman_width/2f, pos_y-kessman_width/2f, radius_b*2, fracts, colors_b); } ((Graphics2d) g) .setPaint (Paint); ((Graphics2d) g) .filloval (pos_x-chessman_width/2, pos_y-kessman_width/2, chessman_width, chessman_width); }}}}}}}} Основной код модуля остается неизменным
Main.java
пакет xchen.test.simplegobang; импортировать java.awt.container; импортировать javax.swing.jframe; Импорт xchen.test.simplegobang.drawchessboard; Общедоступный класс Extends jframe {Private Drawchessboard Drawchessboard; public main () {drawchessboard = new Drawchessboard (); // кадр заголовок Settitle ("автономный goji"); Контейнер -контейнер = getContentPane (); Containerpane.add (Drawchessboard); } public static void main (string [] args) {main m = new main (); M.SetSize (800, 800); M.SetVisible (True); }}Запусти!
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.