亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? chess.java

?? JAVA的象棋支持兩人對(duì)戰(zhàn)
?? JAVA
?? 第 1 頁 / 共 5 頁
字號(hào):

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

//主類
public class Chess
{
	public static void main(String args[])
	{
		new ChessMainFrame("中國象棋Java版");
	}
}

//主框架類
class ChessMainFrame extends JFrame implements ActionListener,MouseListener,Runnable
{
	//玩家
	JLabel play[] = new JLabel[32];
	
	//棋盤
	JLabel image;	
	
	//窗格
	Container con;
	
	//工具欄
	JToolBar jmain;	
	//重新開始
	JButton anew;
	//悔棋
	JButton repent;
	//打開
	JButton showOpen;
	//保存
	JButton showSave;
	//退出
	JButton exit;
	
	//當(dāng)前信息
	JLabel text;
	
	//保存當(dāng)前操作
	Vector FileVar;
	Vector Var;
	
	//規(guī)則類對(duì)象(使于調(diào)用方法)
	ChessRule rule;
	
	/*單擊棋子**********************************/
	/*chessManClick = true 閃爍棋子 并給線程響應(yīng)*/
	/*chessManClick = false 吃棋子 停止閃爍  并給線程響應(yīng)*/
	boolean chessManClick;
	
	/*控制玩家走棋****************************/
	/*chessPlayClick=1 黑棋走棋*/
	/*chessPlayClick=2 紅棋走棋 默認(rèn)紅棋*/
	/*chessPlayClick=3 雙方都不能走棋*/	
	int chessPlayClick=2;
	
	//控制棋子閃爍的線程
	Thread tmain;
	//把第一次的單擊棋子給線程響應(yīng)
	static int Man,i;	
	
	ChessMainFrame(){}
	
	ChessMainFrame(String Title)
	{
		//獲行客格引用
		con = this.getContentPane();
		con.setLayout(null);
		//實(shí)例化規(guī)則類
		rule = new ChessRule();
		FileVar  = new Vector();
		Var = new Vector();		
		
		//創(chuàng)建工具欄
		jmain = new JToolBar();
		text = new JLabel("  熱烈歡迎");
		text.setToolTipText("提示信息");
		anew = new JButton(" 新 游 戲 "	);
		anew.setToolTipText("重新開始新的一局");
		exit = new JButton(" 退  出 ");
		exit.setToolTipText("退出本程序");
		repent = new JButton(" 悔  棋 ");
		repent.setToolTipText("返回到上次走棋的位置");				
		showOpen = new JButton("打開");
		showOpen.setToolTipText("打開以前棋局");		
		showSave = new JButton("保存");
		showSave.setToolTipText("保存當(dāng)前棋局");
		
		//把組件添加到工具欄
		jmain.setLayout(new GridLayout(0,6));
		jmain.add(anew);
		jmain.add(repent);		
		jmain.add(showOpen);
		jmain.add(showSave);
		jmain.add(exit);
		jmain.add(text);
		jmain.setBounds(0,500,450,30);
		con.add(jmain);
		
		//添加棋子標(biāo)簽
		drawChessMan();
			
		/*注冊(cè)監(jiān)聽者*/
		
		//注冊(cè)按扭監(jiān)聽
		anew.addActionListener(this);
		repent.addActionListener(this);
		exit.addActionListener(this);		
		showOpen.addActionListener(this);
		showSave.addActionListener(this);
				
		//注冊(cè)棋子移動(dòng)監(jiān)聽
		for (int i=0;i<32;i++)
		{
			con.add(play[i]);
			play[i].addMouseListener(this);			
		}
		
		//添加棋盤標(biāo)簽
		con.add(image = new JLabel(new ImageIcon("CChess.GIF")));
		image.setBounds(0,0,445,498);
		image.addMouseListener(this);
		
		//注冊(cè)窗體關(guān)閉監(jiān)聽
		this.addWindowListener(new WindowAdapter() 
		{
			public void windowClosing(WindowEvent we)
			{
				System.exit(0);
			}
		});
		
		//窗體居中
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension frameSize = this.getSize();
		
		if (frameSize.height > screenSize.height)
		{
			frameSize.height = screenSize.height;
		}
		if (frameSize.width > screenSize.width)
		{
			frameSize.width = screenSize.width;
		}
		
		this.setLocation((screenSize.width - frameSize.width) / 2 - 200 ,(screenSize.height - frameSize.height ) / 2 - 290);
	
		this.setIconImage(new ImageIcon("相1.gif").getImage());
		this.setResizable(false);
		this.setTitle(Title);
		this.setSize(450,555);
		this.show();
	}
	
	/*添加棋子方法************/
	public void drawChessMan()
	{
		//流程控制
		int i,k;
		//圖標(biāo)
		Icon in;
				
		//黑色棋子
		
		//車
		in = new ImageIcon("車1.GIF");
		for (i=0,k=10;i<2;i++,k+=385)
		{		
			play[i] = new JLabel(in);
			play[i].setBounds(k,10,40,40);	
			play[i].setName("車1");			
		}	
		
		//馬
		in = new ImageIcon("馬1.GIF");
		for (i=4,k=60;i<6;i++,k+=285)
		{			
			play[i] = new JLabel(in);			
			play[i].setBounds(k,10,40,40);			
			play[i].setName("馬1");
		}
		
		//相
		in = new ImageIcon("相1.GIF");
		for (i=8,k=105;i<10;i++,k+=195)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,10,40,40);			
			play[i].setName("相1");
		}
		
		//士
		in = new ImageIcon("士1.GIF");			
		for (i=12,k=155;i<14;i++,k+=95)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,10,40,40);			
			play[i].setName("士1");
		}
		
		//卒
		in = new ImageIcon("卒1.GIF");			
		for (i=16,k=10;i<21;i++,k+=96.5)
		{		
			play[i] = new JLabel(in);
			play[i].setBounds(k,160,40,40);			
			play[i].setName("卒1" + i);
		}
		
		//炮
		in = new ImageIcon("炮1.GIF");			
		for (i=26,k=60;i<28;i++,k+=289)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,110,40,40);				
			play[i].setName("炮1" + i);
		}
		
		//將
		in = new ImageIcon("將1.GIF");			
		play[30] = new JLabel(in);
		play[30].setBounds(205,10,40,40);			
		play[30].setName("將1");

		
		//紅色棋子
		
		//車
		in = new ImageIcon("車2.GIF");
		for (i=2,k=10;i<4;i++,k+=385)
		{						
			play[i] = new JLabel(in);
			play[i].setBounds(k,450,40,40);		
			play[i].setName("車2");
		}
		
		//馬
		in = new ImageIcon("馬2.GIF");
		for (i=6,k=60;i<8;i++,k+=285)
		{			
			play[i] = new JLabel(in);			
			play[i].setBounds(k,450,40,40);			
			play[i].setName("馬2");
		}
		
		//相
		in = new ImageIcon("相2.GIF");			
		for (i=10,k=105;i<12;i++,k+=195)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,450,40,40);			
			play[i].setName("相2");
		}
		
		//士
		in = new ImageIcon("士2.GIF");			
		for (i=14,k=155;i<16;i++,k+=95)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,450,40,40);			
			play[i].setName("士2");
		}
		
		//兵
		in = new ImageIcon("兵2.GIF");			
		for (i=21,k=10;i<26;i++,k+=96.5)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,300,40,40);			
			play[i].setName("兵2" + i);
		}
		
		//炮
		in = new ImageIcon("炮2.GIF");			
		for (i=28,k=60;i<30;i++,k+=289)
		{			
			play[i] = new JLabel(in);
			play[i].setBounds(k,350,40,40);	
			play[i].setName("炮2" + i);
		}
		
		//帥
		in = new ImageIcon("帥2.GIF");			
		play[31] = new JLabel(in);
		play[31].setBounds(205,450,40,40);		
		play[31].setName("帥2");
	}
	
	/*線程方法控制棋子閃爍*/
	public void run()
	{
		while (true)
		{
			//單擊棋子第一下開始閃爍
			if (chessManClick)
			{				
				play[Man].setVisible(false);					

				//時(shí)間控制
				try
				{
					tmain.sleep(500);
				}
				catch(Exception e){}
				
				play[Man].setVisible(true);								
			}
			
			//閃爍當(dāng)前提示信息 以免用戶看不見
			else 
			{
				text.setVisible(false);
				
				//時(shí)間控制
				try
				{
					tmain.sleep(500);
				}
				catch(Exception e){}
				
				text.setVisible(true);
			}
			
			try
			{
				tmain.sleep(500);
			}	
			catch (Exception e){}			
		}
	}
	
	/*單擊棋子方法************************/
	public void mouseClicked(MouseEvent me)
	{
		System.out.println("Mouse");
		
		//當(dāng)前坐標(biāo)
		int Ex=0,Ey=0;		
		
		//啟動(dòng)線程
		if (tmain == null)
		{
			tmain = new Thread(this);
			tmain.start();
		}		
		
		//單擊棋盤(移動(dòng)棋子)
		if (me.getSource().equals(image))
		{
			//該紅棋走棋的時(shí)候
			if (chessPlayClick == 2 && play[Man].getName().charAt(1) == '2')
			{	
				Ex = play[Man].getX();
				Ey = play[Man].getY();
				
				//移動(dòng)卒、兵
				if (Man > 15 && Man < 26)
				{				
					rule.armsRule(Man,play[Man],me);
				}			
				
				//移動(dòng)炮
				else if (Man > 25 && Man < 30)
				{			
					rule.cannonRule(play[Man],play,me);
				}
				
				//移動(dòng)車
				else if (Man >=0 && Man < 4)
				{
					rule.cannonRule(play[Man],play,me);
				}
				
				//移動(dòng)馬
				else if (Man > 3 && Man < 8)
				{
					rule.horseRule(play[Man],play,me);
				}
				
				//移動(dòng)相、象
				else if (Man > 7 && Man < 12)
				{
					rule.elephantRule(Man,play[Man],play,me);
				}
				
				//移動(dòng)仕、士
				else if (Man > 11 && Man < 16)
				{
					rule.chapRule(Man,play[Man],play,me);
				}
				
				//移動(dòng)將、帥
				else if (Man == 30 || Man == 31)
				{				
					rule.willRule(Man,play[Man],play,me);
				}
				
				//是否走棋錯(cuò)誤(是否在原地沒有動(dòng))
				if (Ex == play[Man].getX() && Ey == play[Man].getY())
				{
					text.setText("  紅棋走棋");
					chessPlayClick=2;
				}
				
				else 
				{
					text.setText("  黑棋走棋");
					chessPlayClick=1;
				}
				
			}//if
			
			//該黑棋走棋的時(shí)候
			else if (chessPlayClick == 1 && play[Man].getName().charAt(1) == '1')
			{		
				Ex = play[Man].getX();
				Ey = play[Man].getY();
						
				//移動(dòng)卒、兵
				if (Man > 15 && Man < 26)
				{				
					rule.armsRule(Man,play[Man],me);
				}			
				
				//移動(dòng)炮
				else if (Man > 25 && Man < 30)
				{			
					rule.cannonRule(play[Man],play,me);
				}
				
				//移動(dòng)車
				else if (Man >=0 && Man < 4)
				{
					rule.cannonRule(play[Man],play,me);
				}
				
				//移動(dòng)馬
				else if (Man > 3 && Man < 8)
				{
					rule.horseRule(play[Man],play,me);
				}
				
				//移動(dòng)相、象
				else if (Man > 7 && Man < 12)
				{
					rule.elephantRule(Man,play[Man],play,me);
				}
				
				//移動(dòng)仕、士
				else if (Man > 11 && Man < 16)
				{
					rule.chapRule(Man,play[Man],play,me);
				}
				
				//移動(dòng)將、帥
				else if (Man == 30 || Man == 31)
				{				
					rule.willRule(Man,play[Man],play,me);
				}
				
				//是否走棋錯(cuò)誤(是否在原地沒有動(dòng))

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久一夜天堂av一区二区三区| 91精品福利视频| 亚洲精品在线观看网站| 免费成人你懂的| 日韩精品一区二区三区视频播放| 另类小说欧美激情| 久久色中文字幕| 丁香天五香天堂综合| 国产精品美女久久久久久 | 欧美一级欧美一级在线播放| 婷婷六月综合亚洲| 欧美大片在线观看一区二区| 国产高清无密码一区二区三区| 国产精品亲子伦对白| 色拍拍在线精品视频8848| 亚洲成人你懂的| 欧美成人一区二区三区片免费 | 成人精品视频一区二区三区尤物| 《视频一区视频二区| 欧美日韩黄视频| 国产一区二区三区| 综合久久给合久久狠狠狠97色| 欧美亚洲综合久久| 国产中文字幕精品| 日韩码欧中文字| 91精品国产免费| 成人性生交大片| 日韩制服丝袜先锋影音| 久久久久久麻豆| 欧美亚洲图片小说| 国产成人在线视频免费播放| 一区二区三区中文字幕精品精品| 91麻豆精品国产91久久久 | 欧美一级片在线看| 成人99免费视频| 蜜臀91精品一区二区三区| 中文字幕国产一区| 欧美一区二区美女| 91猫先生在线| 国产一区二区调教| 午夜久久久久久久久久一区二区| 中文字幕av一区二区三区高 | 亚洲婷婷综合久久一本伊一区| 777午夜精品免费视频| 99免费精品在线| 极品美女销魂一区二区三区| 亚洲图片欧美一区| 亚洲欧洲精品一区二区精品久久久| 在线成人高清不卡| 91老师片黄在线观看| 国产精品伊人色| 日本不卡123| 亚洲图片有声小说| 亚洲欧洲综合另类| 国产亚洲1区2区3区| 91麻豆精品91久久久久同性| 91麻豆国产自产在线观看| 国产一区二区伦理片| 丝袜脚交一区二区| 一区二区久久久久久| 亚洲三级在线免费观看| 久久精品欧美日韩| 精品国产a毛片| 91精品在线一区二区| 欧美日韩激情在线| 欧美在线观看你懂的| 91欧美一区二区| 99免费精品视频| av一二三不卡影片| 国产91精品一区二区麻豆网站| 国模少妇一区二区三区| 美女在线观看视频一区二区| 视频一区二区欧美| 丝袜诱惑亚洲看片| 亚洲高清免费一级二级三级| 亚洲综合在线视频| 一区二区三区免费在线观看| 亚洲四区在线观看| 1区2区3区国产精品| 亚洲人成电影网站色mp4| 亚洲视频小说图片| 一区二区三区欧美视频| 亚洲精品视频自拍| 亚洲亚洲人成综合网络| 亚洲成人av电影| 日韩vs国产vs欧美| 蜜桃91丨九色丨蝌蚪91桃色| 91在线小视频| 色哟哟欧美精品| 欧美日韩一区视频| 欧美一卡在线观看| 亚洲精品一区二区三区在线观看| 欧美成人a∨高清免费观看| 久久这里只有精品6| 欧美激情一区二区三区四区| 中文字幕一区二区三区不卡在线 | 伊人婷婷欧美激情| 亚洲精品免费在线播放| 亚洲超丰满肉感bbw| 麻豆视频观看网址久久| 国产乱子轮精品视频| aaa亚洲精品| 欧美三级视频在线| 正在播放亚洲一区| 久久精品日产第一区二区三区高清版 | 亚洲人成小说网站色在线| 亚洲在线视频免费观看| 免费看欧美女人艹b| 丁香五精品蜜臀久久久久99网站| 色婷婷久久久综合中文字幕| 欧美二区在线观看| 国产片一区二区| 亚洲图片欧美色图| 国产精品乡下勾搭老头1| 91影院在线免费观看| 337p亚洲精品色噜噜狠狠| 久久久欧美精品sm网站| 一级日本不卡的影视| 另类小说色综合网站| 色综合婷婷久久| 精品捆绑美女sm三区| 亚洲乱码中文字幕| 久久精品国产77777蜜臀| 99久久精品免费看国产| 777精品伊人久久久久大香线蕉| 麻豆国产欧美一区二区三区| 成人网男人的天堂| 91精品国产综合久久婷婷香蕉| 国产精品久久久久久久久快鸭| 亚洲国产乱码最新视频 | 欧美日韩在线一区二区| 久久你懂得1024| 午夜精品福利久久久| 成人性色生活片免费看爆迷你毛片| 91精品国产综合久久久久久久久久| 国产欧美精品区一区二区三区| 日韩国产欧美在线观看| av激情亚洲男人天堂| 久久综合久久综合亚洲| 亚洲aⅴ怡春院| 99久久久久久99| 久久亚洲二区三区| 视频一区二区中文字幕| 一本到高清视频免费精品| 久久精品亚洲精品国产欧美 | 亚洲超碰精品一区二区| 成人免费的视频| 精品久久久久香蕉网| 偷拍与自拍一区| 欧美在线一二三| 一区二区三区资源| 99久久免费精品| 国产精品久久综合| 国产91对白在线观看九色| 精品国产三级a在线观看| 日韩国产成人精品| 欧美精品v日韩精品v韩国精品v| 一区二区久久久| 99精品国产91久久久久久| 中文字幕精品综合| 国产高清在线精品| 国产亚洲va综合人人澡精品| 国内国产精品久久| 久久日韩粉嫩一区二区三区| 美女看a上一区| 欧美一区二区精美| 青青草成人在线观看| 欧美一区二区免费视频| 日韩国产一二三区| 日韩欧美国产高清| 九色综合国产一区二区三区| 日韩欧美国产小视频| 狠狠色伊人亚洲综合成人| 久久免费偷拍视频| 国产成人免费在线| 中文字幕一区二区三区av| eeuss鲁片一区二区三区| 亚洲人成小说网站色在线| 91成人在线免费观看| 亚洲超丰满肉感bbw| 欧美一卡二卡三卡| 黄一区二区三区| 国产精品婷婷午夜在线观看| www.视频一区| 亚洲精品v日韩精品| 欧美喷水一区二区| 卡一卡二国产精品| 久久99国产精品久久99果冻传媒| 精品欧美黑人一区二区三区| 国产乱码精品1区2区3区| 欧美激情自拍偷拍| 91成人免费网站| 日本不卡123| 中文字幕成人av| 欧美日韩高清一区二区不卡| 久久精品国产**网站演员| 亚洲欧洲日产国产综合网| 欧美日韩一区成人| 国产美女一区二区三区| 亚洲日本免费电影|