您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页Java写的围棋游戏的源代码

Java写的围棋游戏的源代码

来源:尚车旅游网
import java.awt.*;

import java.awt.event.*;

import javax.swing.JOptionPane;

public class Chess extends Frame {

ChessPad chesspad= new ChessPad();

Chess() {

add(chesspad);

chesspad.setBounds(70,90,440,440);

Label label=new Label(\"click to point,doubled_click to remove,right click to back\ add(label);

label.setBounds(70,55,440,24); label.setBackground(Color.orange);

addWindowListener (

new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0); } } );

setLayout(null); setVisible(true); setSize(600,550); }

public static void main(String args[]) {

Chess chess=new Chess(); } }

class ChessPad extends Panel implements MouseListener, ActionListener,FocusListener {

int x = -1, y = -1, chessColor = 1;

String blackname=\"\

Button button=new Button(\"start\");

Button inputButton=new Button(\"input\");

TextField text_1=new TextField(\"black please\"), text_2=new TextField(\"\"),//white please text_3=new TextField(\"black'name\"), text_4=new TextField(\"white'name\");

ChessPad() {

add(inputButton);

inputButton.setBounds(35,5,60,26); inputButton.addActionListener(this); inputButton.addFocusListener(this);

add(text_3);

text_3.setBounds(115,5,90,24); text_3.addFocusListener(this); text_3.setEditable(true);

add(text_4);

text_4.setBounds(315,5,90,24); text_4.addFocusListener(this); text_4.setEditable(true);

add(button);

button.setBounds(35,36,60,26); button.setEnabled(false);

button.addActionListener(this);

add(text_1);

text_1.setBounds(115,36,90,24); text_1.setEnabled(false); text_1.setEditable(false);

add(text_2);

text_2.setBounds(315,36,90,24); text_2.setEnabled(false); text_2.setEditable(false);

setSize(440,440);

setLayout(null);

setBackground(Color.orange); addMouseListener(this); }

public void paint(Graphics g) {

for(int i=80;i<=400;i=i+20) {

g.drawLine(40,i,400,i); }

g.drawLine(40,420,400,420);

for(int j=40;j<=380;j=j+20) {

g.drawLine(j,80,j,420); }

g.drawLine(400,80,400,420);

g.fillOval(97,137,6,6); g.fillOval(337,137,6,6); g.fillOval(97,377,6,6); g.fillOval(337,377,6,6); g.fillOval(217,257,6,6); }

public void focusGained(FocusEvent e) {

Component com=(Component)e.getSource(); if(com==text_3) {

text_3.setText(\"\"); }

else if(com==text_4) {

text_4.setText(\"\"); } }

public void focusLost(FocusEvent e) { }

public void mousePressed(MouseEvent e)

{

if(blackname.length()==0||whitename.length()==0) {

JOptionPane.showMessageDialog(this,\"please input the player's name,and click input button before you start chess!\ }

else if(blackname.equals(\"black'name\")) {

JOptionPane.showMessageDialog(this,\"please input the black player's name,and click input button\ }

else if(whitename.equals(\"white'name\")) {

JOptionPane.showMessageDialog(this,\"please input the white player's name,and click input button\ }

else if(e.getModifiers()==InputEvent.BUTTON1_MASK) {

x = (int)e.getX(); y = (int)e.getY();

int a=(x+10)/20,b=(y+10)/20;

ChessPoint_black chesspoint_black=new ChessPoint_black(this); ChessPoint_white chesspoint_white=new ChessPoint_white(this);

if(x/20<2||y/20<4||x/20>19||y/20>20) { } else {

if(chessColor==1) {

this.add(chesspoint_black);

chesspoint_black.setBounds(a*20-10,b*20-10,20,20); chessColor=chessColor*(-1);

text_2.setText(this.whitename+\" please\"); text_1.setText(\"\");

}

else if(chessColor==-1) {

this.add(chesspoint_white);

chesspoint_white.setBounds(a*20-10,b*20-10,20,20); chessColor=chessColor*(-1);

text_1.setText(this.blackname+\" please\"); text_2.setText(\"\"); } } } }

public void mouseReleased(MouseEvent e) { }

public void mouseEntered(MouseEvent e) { }

public void mouseExited(MouseEvent e) { }

public void mouseClicked(MouseEvent e) { }

public void actionPerformed(ActionEvent e) {

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

blackname=text_3.getText(); whitename=text_4.getText();

if(blackname.length()==0||whitename.length()==0) {

JOptionPane.showMessageDialog(this,\"you did not

complete the

information!\ }

else if(blackname.equals(\"black'name\")) {

JOptionPane.showMessageDialog(this,\"please name\ }

else if(whitename.equals(\"white'name\")) {

JOptionPane.showMessageDialog(this,\"please name\ } else {

inputButton.setEnabled(false); text_3.removeFocusListener(this); text_3.setEnabled(false); text_4.setEnabled(false); button.setEnabled(true); text_1.setEnabled(true);

text_1.setText(blackname+\" please\"); text_2.setEnabled(true); } }

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

inputButton.setEnabled(true); text_3.setEnabled(true); text_4.setEnabled(true); button.setEnabled(false); text_1.setEnabled(false); text_2.setEnabled(false);

this.removeAll();

chessColor=1;

add(button);

button.setBounds(35,36,60,26);

add(text_1);

text_1.setBounds(115,36,90,24); text_1.setText(\"black please\");

input the input the black player's

white player's

add(text_2);

text_2.setBounds(315,36,90,24); text_2.setText(\"\");

add(inputButton);

inputButton.setBounds(35,5,60,26);

add(text_3);

text_3.setText(\"black'name\"); text_3.addFocusListener(this); text_3.setBounds(115,5,90,24);

add(text_4);

text_4.setText(\"white'name\"); text_4.setBounds(315,5,90,24);

blackname=\"\"; whitename=\"\"; } } }

class ChessPoint_black extends Canvas implements MouseListener {

ChessPad chesspad=null;

ChessPoint_black(ChessPad p) {

setSize(20,20); chesspad=p;

addMouseListener(this); }

public void paint(Graphics g) {

g.setColor(Color.black); g.fillOval(0,0,20,20); }

public void mousePressed(MouseEvent e) {

if(e.getModifiers()==InputEvent.BUTTON3_MASK) {

chesspad.remove(this); chesspad.chessColor=1;

chesspad.text_2.setText(\"\");

chesspad.text_1.setText(chesspad.blackname+\" please\"); } }

public void mouseReleased(MouseEvent e) { }

public void mouseEntered(MouseEvent e) { }

public void mouseExited(MouseEvent e) { }

public void mouseClicked(MouseEvent e) {

if(e.getClickCount()>=2) {

chesspad.remove(this); } } }

class ChessPoint_white extends Canvas implements MouseListener {

ChessPad chesspad=null;

ChessPoint_white(ChessPad p) {

setSize(20,20); chesspad=p;

addMouseListener(this); }

public void paint(Graphics g) {

g.setColor(Color.white); g.fillOval(0,0,20,20); }

public void mousePressed(MouseEvent e) {

if(e.getModifiers()==InputEvent.BUTTON3_MASK) {

chesspad.remove(this); chesspad.chessColor=-1;

chesspad.text_1.setText(\"\");

chesspad.text_2.setText(chesspad.whitename+\" please\"); } }

public void mouseReleased(MouseEvent e) { }

public void mouseEntered(MouseEvent e) { }

public void mouseExited(MouseEvent e) { }

public void mouseClicked(MouseEvent e) {

if(e.getClickCount()>=2) {

chesspad.remove(this); } } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务