Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo implementar backgammon con un clic del mouse en Java? Queridos héroes, por favor ayúdenme.

¿Cómo implementar backgammon con un clic del mouse en Java? Queridos héroes, por favor ayúdenme.

importar java.awt.*;

importar java.awt.event.*

importar java.awt.color.*;

clase wuzi {

public static void main(String[] args) {

frame myFrame =new frame("五宝"); }

}

clase frame extends Frame implementa ActionListener{

MenuBar mbar=new MenuBar();

Menu mgame=new Menu ( "Opción");

Menú mhelp=new Menu("Ayuda");

MenuItem mstart=new MenuItem("Inicio"); mclose =new MenuItem("Fin");

MenuItem mabout=new MenuItem("Acerca de");

myCanvas canvas

frame(String t) {

super(t);

lienzo = nuevo myCanvas(this);

mgame.add(mstart); add(mclose);

mhelp.add(mabout);

mgame.addActionListener(this);

mstart.addActionListener(this); p >

mclose.addActionListener(this);

mhelp.addActionListener(this);

mabout.addActionListener(this); ( mgame);

mbar.add(mhelp);

this.setMenuBar(mbar

addWindowListener(new WindowAdapter(){

);

ventana vacía públicaClosing(WindowEvent e){

System.exit(0

}

}

);

this.add(canvas);

this.pack();

this.show()

this.setLocation; ( 380, 100);

this.setResizable(false);

}

acción nula pública realizada (Ac

tionEvent e)

{

if(e.getSource()==mstart)

{

repaint(); p>

}

else if(e.getSource()==mclose){

this.dispose();

System. exit( 0);

}

if(e.getSource()==mabout){

about frm=new about();

}

pack();

}

}

clase ajedrez{

privado boolean isExist ;

privado boolean isColor;

ajedrez público (boolean isExist){

this.isExist = isExist ;

}

boolean getChessExist() {

return isExist

}

boolean getChessColor() {

return isColor; ;

}

void setChessExist(boolean m){

isExist = m

}

void; setChessColor( boolean m) { //Establece el color de la pieza de ajedrez

isColor = m

}

}

class; myCanvas extiende Canvas implementa MouseListener {

frame myFrame;

//Guardar piezas de ajedrez

ajedrez privado chessMan[][] = nuevo ajedrez[19][19 ];

int mx, my; // Obtener la posición

int x, y

estado booleano = true; myCanvas(frame myFrame) {

this.myFrame = myFrame;

setBackground(Color.cyan

addMouseListener(this); p> for(int i= 0;ilt;19;i)

for(int j=0;jlt;19;j)

ajedrezMan[i][j] = nueva pieza de ajedrez (falso);

}

inicio vacío público () {

> for(int i=0;ilt;19;i)

for(int j=0;jlt;19;j)

chessMan[i][j].setChessExist (false);

}

public void paint(Gráficos g) {//Dibujo de líneas

Tamaño de dimensión = this.getSize(); >

g.drawRect(0, 0, tamaño.ancho-1, tamaño.alto-1

g.draw3DRect(1, 1, tamaño.ancho-3, tamaño.alto-); 3, verdadero);

for(int i=0; ilt; 19; i )

g.drawLine(30, i*24 30, 462, i*24 30) ;

for(int j=0;jlt;19;j)

g.drawLine(j*24 30, 30, j*24 30, 462); >

x=(int)((mx-20)/24);

y=(int)((my-20)/24); //Calcula la posición del movimiento

if(!chessMan[y][x].getChessExist()amp;amp;(mxgt;=18||mygt;=18)){

chessMan[y][ x]. setChessExist(true);

chessMan[y][x].setChessColor(estado);

estado = !estado; p>

for(int i =0;ilt;19;i)

for(int j=0;jlt;19;j){

if(chessMan[ i][ j].getChessExist())

{

if(chessMan[i][j].getChessColor()==true){

g.setColor (Color.black); //El negro predeterminado se mueve primero

}

else{

g.setColor(Color.white

}

g.fillOval(j*24 21, i*24 21, 18, 18);

// whowin(x, y); p>

}

}

}

/* public void whowin(int x, int y) {

int m1 = 0, m2 = 0, m3 = 0, m4 = 0;

for (int i = 1; i lt; 5; i) {//Juez-------izquierda-------

si (x - i gt; 0 amp; chessMan[x - i][y] == chessMan[x][y]) {

m1

}

}

for (int j = 1; j lt; 5; j) {//Juez-------derecha-------

if (x j lt; 20 amp; chessMan[x j][y] == chessMan[x][y]) {

m1

}

}

//Juez ganando o perdiendo------línea shu

for (int i = 1; i lt; 5; i) {/ /Juez-- -----Abajo-----------

if (y i lt; 20 amp; chessMan[x][y i] == chessMan[ x][y]) {

m2;

}

}

for (int i = 1; i lt; 5 ; i ) {//Sentencia -------arriba------------

if (y - i gt; 0 amp; chessMan[x] [y - i] == chessMan[ x][y]) {

m2;

}

}

// Juicio de ganar o perder---- --\line

for (int i = 1; i lt; 5; i) {//Sentencia-------Arriba a la izquierda------ ---- ---

if (x - i gt; 0 amp; y - i gt; 0 amp; chessMan[x - i][y - i] == chessMan [x][y]) {

m3;

}

}

for (int i = 1; i lt; 5; i) {//Sentencia -------abajo a la derecha-------------

if (x i lt; 20 amp; amp; y i lt ; 2

0 amp;hombredeajedrez[x i][y i] == hombredeajedrez[x][y]) {

m3

}

}

p>

//Juez ganando o perdiendo------/line

for (int i = 1; i lt; 5; i) {//Juez ------ - dirección Abajo izquierda------------

if (x - i gt; 0 amp; y i lt; 20 amp; chessMan[x - i][y i] = = chessMan[x][y]) {

m4

}

}

for (int i = 1; i lt ; 5; i) {//Sentencia-------Arriba y hacia la derecha-------------

if (y - i gt; 0 amp; amp; >

}

//******************Juicio final sobre ganar o perder******** ********** **

if (m1 gt; 3 || m2 gt; 3 || m3 gt; 3 || m4 gt; 3) {

if (chessMan[x][y ] == ) {//----Porque después de jugar al ajedrez, el color de las piezas de ajedrez cambia al color del oponente, así que ajústalos aquí---

JOptionPane.showMessageDialog(this, "hei--- --win");

isgamealive = 0;

}

if (chessMan[ x][y] == false) {

JOptionPane.showMessageDialog(this, "bai-----win");

isgamealive = 0; p> }

}

}*/

Dimensión pública getPreferredSize() {

return nueva Dimensión(492, 492); //Devuelve el tamaño del gráfico

}

public void mousePressed(MouseEvent e) {}

public void mouseReleased(MouseEvent e){}

>

public void mouseEntered(MouseEvent e){}

public void mouseExited(MouseEvent e){}

public void mouseClicked(MouseEvent e){

mx = e.getX();

mi = e.getY();

repintar()

}

}

clase sobre extiende Frame implementa WindowListener //Establecer sobre

{

about() {

this.setSize(300, 170);

this.setTitle("Acerca del juego de backgammon");

this.addWindowListener(this);

this.setVisible(true);

this.setLocation(400, 200);

this.setResizable(false);

this.setLayout(new FlowLayout()); >

Texto de etiqueta1 =nueva etiqueta();

Texto de etiqueta2 =nueva etiqueta();

Texto de etiqueta3=nueva etiqueta();

texto1 setText("Introducción al juego:");

text1.setFont(new Font("黑体", Font.ITALIC, 25)); ) ;

text1.setVisible(true);

text2.setText("Horizontal, vertical o diagonal, el que ponga 5 primero ganará.

");

text2.setFont(new Font("黑体",Font.PLAIN, 15));

text2.setAlignment(text1.LEFT);

text2.setVisible(true);

text3.setText("Productor: 0957207 Wu Jun");

text3.setFont(new Font("楷体",Font. PLAIN , 15));

text3.setVisible(true);

this.add(text1, "Norte"); "Oeste");

this.add(text3, "Sur");

this.show(true); p> ventana vacía pública Activada(WindowEvent e){}

ventana vacía públicaCerrada(WindowEvent e){

}

ventana vacía públicaCerrando(WindowEvent e){

this.dispose();

}

ventana vacía públicaDesactivada(WindowEvent e) {}

ventana vacía públicaDeiconificada(WindowEvent e) {}

ventana vacía públicaIconificada(WindowEvent e) {}

ventana vacía pública abierta(WindowEvent e) {}

}