package com.jiawei;
import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class ChessPiece extends ChessBoard implements MouseListener {
JButton btn[],btn2[];
JLabel label;
String piece[];
ImageIcon icon;
int number=33,x,y;
int deadnumber[];
public ChessPiece(){
this.setLayout(null);
btn= new JButton[16];
btn2=new JButton[16];
label=new JLabel("");
piece=new String[16];
deadnumber=new int[32];
Font font = new Font("Serif",Font.BOLD,20);
piece[0]="车";
piece[1]="马";
piece[2]="象";
piece[3]="后";
piece[4]="王";
piece[5]="象";
piece[6]="马";
piece[7]="车";
piece[8]="卒";
for( int i=0;i<2;i++){
for(int j=0;j<8;j++){
int count=i*8+j;
btn[count]=new JButton();
btn[count].setFont(font);
btn[count].setBackground(Color.GRAY);
if(count<=8){
icon=new ImageIcon("Images/"+piece[count]+".jpg");
btn[count].setName(piece[count]);
}
else{
icon=new ImageIcon("Images/"+piece[8]+".jpg");
btn[count].setName(piece[8]);
}
btn[count].setIcon(icon);
btn[count].setBounds(10+j*80,10+i*80,60,60);
this.add(btn[count]);
label.setBounds(280, 280, 100, 100);
label.setFont(font);
label.setForeground(Color.LIGHT_GRAY);
this.add(label);
}
}
for( int i=0;i<2;i++){
for(int j=0;j<8;j++){
int count=i*8+j;
btn2[count]=new JButton();
btn2[count].setFont(font);
btn2[count].setBackground(Color.DARK_GRAY);
if(count<=8){
icon=new ImageIcon("Images/"+piece[count]+"2.jpg");
btn2[count].setName(piece[count]);
}
else{
icon=new ImageIcon("Images/"+piece[8]+"2.jpg");
btn2[count].setName(piece[8]);
}
btn2[count].setIcon(icon);
btn2[count].setBounds(10+j*80,580-(10+i*80),60,60);
this.add(btn2[count]);
}
}
btn[0].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=0;label.setText("");}});
btn[1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=1;label.setText("");}});
btn[2].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=2;label.setText("");}});
btn[3].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=3;label.setText("");}});
btn[4].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=4;label.setText("");}});
btn[5].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=5;label.setText("");}});
btn[6].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=6;label.setText("");}});
btn[7].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=7;label.setText("");}});
btn[8].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=8;label.setText("");}});
btn[9].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=9;label.setText("");}});
btn[10].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=10;label.setText("");}});
btn[11].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=11;label.setText("");}});
btn[12].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=12;label.setText("");}});
btn[13].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=13;label.setText("");}});
btn[14].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=14;label.setText("");}});
btn[15].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=15;label.setText("");}});
btn2[0].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=16;label.setText("");}});
btn2[1].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=17;label.setText("");}});
btn2[2].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=18;label.setText("");}});
btn2[3].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=19;label.setText("");}});
btn2[4].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=20;label.setText("");}});
btn2[5].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=21;label.setText("");}});
btn2[6].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){number=22;label.setText("");}});
btn2[7].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=23;label.setText("");}});
btn2[8].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=24;label.setText("");}});
btn2[9].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=25;label.setText("");}});
btn2[10].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=26;label.setText("");}});
btn2[11].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=27;label.setText("");}});
btn2[12].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=28;label.setText("");}});
btn2[13].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=29;label.setText("");}});
btn2[14].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=30;label.setText("");}});
btn2[15].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {number=31;label.setText("");}});
this.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent e) {
int original_x,original_y;
Rectangle rec;
String role;
int temp=0;
if(number<16&&number>=0){
rec= btn[number].getBounds();
role=btn[number].getName();
original_x=rec.x;
original_y=rec.y;
x=e.getX()/80*80+10;
y=e.getY()/80*80+10;
int Judenumber=EatPieceJude(x,y,number);
if(Judenumber!=-1&&Judenumber!=-2){
if(JudementPiece(original_x,original_y,x,y,role)){
if(Judenumber<16&&Judenumber>=0){
this.remove(btn2[Judenumber]);
btn2[Judenumber].setBounds(700, 700, 40,40);
btn[number].setBounds(x, y, 60, 60);
repaint();
}
else{
btn[number].setBounds(x, y, 60, 60);
repaint();
}
for(int i=0;i<16;i++){
btn[i].setEnabled(false);
btn2[i].setEnabled(true);
}
number=-1;
}
else
label.setText("不许走");
}
else if(Judenumber==-1){
label.setText("有棋子");
}
else if(Judenumber==-2){
label.setText("超出棋盘");
}
}
else if(number<32&&number>=16){
rec= btn2[number-16].getBounds();
role=btn2[number-16].getName();
original_x=rec.x;
original_y=rec.y;
x=e.getX()/80*80+10;
y=e.getY()/80*80+10;
int Judenumber=EatPieceJude(x,y,number);
if(Judenumber!=-2&&Judenumber!=-1){
if(JudementPiece(original_x,original_y,x,y,role)){
if(Judenumber<32&&Judenumber>=16){
this.remove(btn[Judenumber-16]);
btn[Judenumber-16].setBounds(700, 700, 40,40);
btn2[number-16].setBounds(x, y, 60, 60);
repaint();
}
else{
btn2[number-16].setBounds(x, y, 60, 6
没有合适的资源?快使用搜索试试~ 我知道了~
java国际象棋小游戏
共53个文件
class:35个
jpg:12个
java:3个
4星 · 超过85%的资源 需积分: 9 24 下载量 183 浏览量
2013-08-07
17:25:22
上传
评论
收藏 56KB ZIP 举报
温馨提示
用java编写的国际象棋游戏 在eclipse环境下可以运行 界面美观 适合初学者
资源推荐
资源详情
资源评论
收起资源包目录
ChessGame.zip (53个子文件)
ChessGame
.project 385B
src
com
jiawei
ChessPiece.java 15KB
ChessBoard.java 474B
Test.java 451B
Images
王2.jpg 2KB
车.jpg 2KB
后2.jpg 2KB
马.jpg 2KB
后.jpg 2KB
王.jpg 2KB
马2.jpg 2KB
卒.jpg 2KB
车2.jpg 2KB
象.jpg 2KB
卒2.jpg 2KB
象2.jpg 2KB
.settings
org.eclipse.jdt.core.prefs 629B
.classpath 301B
bin
com
jiawei
ChessPiece$21.class 810B
ChessPiece$25.class 810B
ChessPiece$15.class 810B
ChessPiece$27.class 810B
ChessPiece$20.class 810B
ChessPiece$23.class 810B
ChessPiece$7.class 808B
ChessPiece$29.class 810B
ChessPiece$26.class 810B
ChessPiece$17.class 810B
ChessPiece.class 13KB
ChessBoard.class 890B
ChessPiece$8.class 808B
ChessPiece$11.class 810B
ChessPiece$16.class 810B
ChessPiece$13.class 810B
ChessPiece$31.class 810B
ChessPiece$19.class 810B
ChessPiece$28.class 810B
ChessPiece$22.class 810B
ChessPiece$12.class 810B
ChessPiece$14.class 810B
ChessPiece$9.class 808B
ChessPiece$30.class 810B
ChessPiece$6.class 807B
ChessPiece$3.class 807B
ChessPiece$10.class 810B
ChessPiece$5.class 807B
ChessPiece$1.class 807B
Test.class 840B
ChessPiece$2.class 807B
ChessPiece$32.class 810B
ChessPiece$4.class 807B
ChessPiece$18.class 810B
ChessPiece$24.class 810B
共 53 条
- 1
资源评论
- 种花家的大钢盔丶2019-04-03不能吃子,其他的还行。
- hpjhc515907732013-11-28还可以,就是图片显示不出
默布漂泊
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功