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

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

?? chess.java

?? 中國象棋兩人對弈
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
			}
		}
		
		//退出
		else if (ae.getSource().equals(exit))
		{
			int j=JOptionPane.showConfirmDialog(this,"真的要退出嗎?","退出",JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE);
			
			if (j == JOptionPane.YES_OPTION)
			{
				System.exit(0);
			}
		}
	}

	/*規(guī)則類*/
	class ChessRule 
	{		
		/*卒移動規(guī)則******************************************/
		public void armsRule(int Man,JLabel play,MouseEvent me)
		{			
			//黑卒向下
			if (Man < 21)
			{
				//向下移動、得到終點的坐標(biāo)模糊成合法的坐標(biāo)
				if ((me.getY()-play.getY()) > 40 && (me.getY()-play.getY()) < 80 && (me.getX()-play.getX()) < 30 && (me.getX()-play.getX()) > 0)
				{
					//當(dāng)前記錄添加到集合(用于悔棋)
					Var.add(String.valueOf(play.isVisible()));
					Var.add(String.valueOf(play.getX()));									
					Var.add(String.valueOf(play.getY()));
					Var.add(String.valueOf(Man));
					
					play.setBounds(play.getX(),play.getY()+45,40,40);
				}
				
				//向右移動、得到終點的坐標(biāo)模糊成合法的坐標(biāo)、必須過河				
				else if (play.getY() >= 250 && (me.getX() - play.getX()) >= 30 && (me.getX() - play.getX()) <= 90)
				{					
					play.setBounds(play.getX()+48,play.getY(),40,40);	
				}
				
				//向左移動、得到終點的坐標(biāo)模糊成合法的坐標(biāo)、必須過河
				else if (play.getY() >= 250 && (play.getX() - me.getX()) >= 20 && (play.getX() - me.getX()) <=90)
				{		
					//模糊坐標(biāo)			
					play.setBounds(play.getX()-48,play.getY(),40,40);
				}
			}
			
			//紅卒向上
			else
			{
				//當(dāng)前記錄添加到集合(用于悔棋)
				Var.add(String.valueOf(play.isVisible()));
				Var.add(String.valueOf(play.getX()));									
				Var.add(String.valueOf(play.getY()));
				Var.add(String.valueOf(Man));
				
				//向上移動、得到終點的坐標(biāo)模糊成合法的坐標(biāo)
				if ((me.getX()-play.getX()) > 0 && (me.getX()-play.getX()) < 30 && (play.getY()-me.getY()) >20 && play.getY()-me.getY() < 70)
				{					
					play.setBounds(play.getX(),play.getY()-48,40,40);
				}
				
				//向右移動、得到終點的坐標(biāo)模糊成合法的坐標(biāo)、必須過河
				else if (play.getY() <= 210 && (me.getX() - play.getX()) >= 30 && (me.getX() - play.getX()) <= 90)
				{					
					play.setBounds(play.getX()+50,play.getY(),40,40);
				}				
				
				//向左移動、得到終點的坐標(biāo)模糊成合法的坐標(biāo)、必須過河
				else if (play.getY() <= 210 && (play.getX() - me.getX()) >= 20 && (play.getX() - me.getX()) <=60)
				{				
					play.setBounds(play.getX()-52,play.getY(),40,40);
				}
			}
		}//卒移動結(jié)束
		
		/*卒吃棋規(guī)則**********************************/
		public void armsRule(JLabel play1,JLabel play2)
		{			
			//向右走			
			if ((play2.getX() - play1.getX()) <= 60 && (play2.getX() - play1.getX()) >= 40 && (play1.getY() - play2.getY()) < 10 && (play1.getY() - play2.getY()) > -10 && play2.isVisible() && play1.getName().charAt(1)!=play2.getName().charAt(1))
			{
				//黑棋要過河才能右吃棋
				if (play1.getName().charAt(1) == '1' && play1.getY() >= 250 && play1.getName().charAt(1) != play2.getName().charAt(1))
				{

					play2.setVisible(false);
					//把對方的位置給自己
					play1.setBounds(play2.getX(),play2.getY(),40,40);
				}
				
				//紅棋要過河才左能吃棋
				else if (play1.getName().charAt(1) == '2' && play1.getY() <= 210 && play1.getName().charAt(1) != play2.getName().charAt(1))
				{
					play2.setVisible(false);
					//把對方的位置給自己
					play1.setBounds(play2.getX(),play2.getY(),40,40);				
				}
			}
			
			//向左走
			else if ((play1.getX() - play2.getX()) <= 60 && (play1.getX() - play2.getX()) >= 40 && (play1.getY() - play2.getY()) < 10 && (play1.getY() - play2.getY()) > -10 && play2.isVisible() && play1.getName().charAt(1)!=play2.getName().charAt(1))
			{
				//黑棋要過河才能左吃棋
				if (play1.getName().charAt(1) == '1' && play1.getY() >= 250 && play1.getName().charAt(1) != play2.getName().charAt(1))
				{
					play2.setVisible(false);
					//把對方的位置給自己
					play1.setBounds(play2.getX(),play2.getY(),40,40);
				}
				
				//紅棋要過河才能右吃棋
				else if (play1.getName().charAt(1) == '2' && play1.getY() <= 210 && play1.getName().charAt(1) != play2.getName().charAt(1))
				{
					play2.setVisible(false);
					//把對方的位置給自己
					play1.setBounds(play2.getX(),play2.getY(),40,40);				
				}
			}
			
			//向上走
			else if (play1.getX() - play2.getX() >= -10 && play1.getX() - play2.getX() <= 10 && play1.getY() - play2.getY() >= -70 && play1.getY() - play2.getY() <= 70)
			{
				//黑棋不能向上吃棋
				if (play1.getName().charAt(1) == '1' && play1.getY() < play2.getY() && play1.getName().charAt(1) != play2.getName().charAt(1))
				{
					play2.setVisible(false);
					//把對方的位置給自己
					play1.setBounds(play2.getX(),play2.getY(),40,40);
				}
				
				//紅棋不能向下吃棋
				else if (play1.getName().charAt(1) == '2' && play1.getY() > play2.getY() && play1.getName().charAt(1) != play2.getName().charAt(1))
				{
					play2.setVisible(false);
					//把對方的位置給自己
					play1.setBounds(play2.getX(),play2.getY(),40,40);				
				}			
			}
			
			//當(dāng)前記錄添加到集合(用于悔棋)
			Var.add(String.valueOf(play1.isVisible()));
			Var.add(String.valueOf(play1.getX()));									
			Var.add(String.valueOf(play1.getY()));
			Var.add(String.valueOf(Man));
			
			//當(dāng)前記錄添加到集合(用于悔棋)
			Var.add(String.valueOf(play2.isVisible()));
			Var.add(String.valueOf(play2.getX()));									
			Var.add(String.valueOf(play2.getY()));
			Var.add(String.valueOf(i));

			
		}//卒吃結(jié)束
		
		/*炮、車移動規(guī)則************************************************/
		public void cannonRule(JLabel play,JLabel playQ[],MouseEvent me)
		{	
			//起點和終點之間是否有棋子
			int Count = 0;			
			
			//上、下移動
			if (play.getX() - me.getX() <= 10 && play.getX() - me.getX() >= -30)
			{
				//指定所有模糊Y坐標(biāo)
				for (int i=30;i<=462;i+=48)
				{					
					//移動的Y坐標(biāo)是否有指定坐標(biāo)相近的
					if (i - me.getY() >= -10 && i - me.getY() <= 30)
					{
						//所有的棋子
						for (int j=0;j<32;j++)
						{
							//找出在同一條豎線的所有棋子、并不包括自己
							if (playQ[j].getX() - play.getX() >= -10 && playQ[j].getX() - play.getX() <= 10 && playQ[j].getName()!=play.getName() && playQ[j].isVisible())
							{					
								//從起點到終點(從左到右)
								for (int k=play.getY()+50;k<i;k+=50)
								{		
									//大于起點、小于終點的坐標(biāo)就可以知道中間是否有棋子						
									if (playQ[j].getY() < i && playQ[j].getY() > play.getY())
									{	
										//中間有一個棋子就不可以從這條豎線過去									
										Count++;
										break;
									}
								}//for
								
								//從起點到終點(從右到左)
								for (int k=i+50;k<play.getY();k+=50)
								{
									//找起點和終點的棋子
									if (playQ[j].getY() < play.getY() && playQ[j].getY() > i)
									{								
										Count++;
										break;
									}
								}//for
							}//if
						}//for
						
						//起點和終點沒有棋子就可以移動了
						if (Count == 0)
						{
							//當(dāng)前記錄添加到集合(用于悔棋)
							Var.add(String.valueOf(play.isVisible()));
							Var.add(String.valueOf(play.getX()));									
							Var.add(String.valueOf(play.getY()));
							Var.add(String.valueOf(Man));
							
							play.setBounds(play.getX(),i-17,40,40);
							break;
						}
					}//if
				}//for
			}//if
			
			
			//左、右移動
			else if (play.getY() - me.getY() >=-35 && play.getY() - me.getY() <= 10)
			{
				//指定所有模糊X坐標(biāo)
				for (int i=30;i<=420;i+=48)
				{					
					//移動的X坐標(biāo)是否有指定坐標(biāo)相近的
					if (i - me.getX() >= -35 && i-me.getX() <= 10)
					{
						//所有的棋子
						for (int j=0;j<32;j++)
						{
							//找出在同一條橫線的所有棋子、并不包括自己
							if (playQ[j].getY() - play.getY() >= -10 && playQ[j].getY() - play.getY() <= 10 && playQ[j].getName()!=play.getName() && playQ[j].isVisible())
							{				
								//從起點到終點(從上到下)				
								for (int k=play.getX()+50;k<i;k+=50)
								{						
									//大于起點、小于終點的坐標(biāo)就可以知道中間是否有棋子			
									if (playQ[j].getX() < i && playQ[j].getX() > play.getX())
									{						
										//中間有一個棋子就不可以從這條橫線過去						
										Count++;
										break;
									}
								}//for
								
								//從起點到終點(從下到上)
								for (int k=i+50;k<play.getX();k+=50)
								{
									//找起點和終點的棋子
									if (playQ[j].getX() < play.getX() && playQ[j].getX() > i)
									{									
										Count++;
										break;
									}
								}//for
							}//if
						}//for
						
						//起點和終點沒有棋子
						if (Count == 0)
						{
							//當(dāng)前記錄添加到集合(用于悔棋)
							Var.add(String.valueOf(play.isVisible()));
							Var.add(String.valueOf(play.getX()));									
							Var.add(String.valueOf(play.getY()));
							Var.add(String.valueOf(Man));
							play.setBounds(i-20,play.getY(),40,40);
							break;
						}
					}//if
				}//for
			}//else
			
		}//炮、車移動方法結(jié)束
		
		
		/*炮、車吃棋規(guī)則**************************************************************************/
		public void cannonRule(int Chess,JLabel play,JLabel playTake,JLabel playQ[],MouseEvent me)
		{
			//起點和終點之間是否有棋子
			int Count = 0;				

			//所有的棋子
			for (int j=0;j<32;j++)
			{
				//找出在同一條豎線的所有棋子、并不包括自己
				if (playQ[j].getX() - play.getX() >= -10 && playQ[j].getX() - play.getX() <= 10 && playQ[j].getName()!=play.getName() && playQ[j].isVisible())
				{					
					//自己是起點被吃的是終點(從上到下)
					for (int k=play.getY()+50;k<playTake.getY();k+=50)
					{		
						//大于起點、小于終點的坐標(biāo)就可以知道中間是否有棋子						
						if (playQ[j].getY() < playTake.getY() && playQ[j].getY() > play.getY())
						{	
								//計算起點和終點的棋子個數(shù)
								Count++;			
								break;							
						}
					}//for
								
					//自己是起點被吃的是終點(從下到上)
					for (int k=playTake.getY();k<play.getY();k+=50)
					{
						//找起點和終點的棋子
						if (playQ[j].getY() < play.getY() && playQ[j].getY() > playTake.getY())
						{								
								Count++;	
								break;									
						}
					}//for
				}//if
							
				//找出在同一條豎線的所有棋子、并不包括自己
				else if (playQ[j].getY() - play.getY() >= -10 && playQ[j].getY() - play.getY() <= 10 && playQ[j].getName()!=play.getName() && playQ[j].isVisible())
				{					
					//自己是起點被吃的是終點(從左到右)
					for (int k=play.getX()+50;k<playTake.getX();k+=50)
					{		
						//大于起點、小于終點的坐標(biāo)就可以知道中間是否有棋子						
						if (playQ[j].getX() < playTake.getX() && playQ[j].getX() > play.getX())
						{						
							Count++;			
							break;							
						}
					}//for
								
					//自己是起點被吃的是終點(從右到左)
					for (int k=playTake.getX();k<play.getX();k+=50)
					{
						//找起點和終點的棋子
						if (playQ[j].getX() < play.getX() && playQ[j].getX() > playTake.getX())
						{								
								Count++;	
								break;									
						}
					}//for
				}//if
			}//for
						
			//起點和終點之間要一個棋子是炮的規(guī)則、并不能吃自己的棋子
			if (Count == 1 && Chess == 0 && playTake.getName().charAt(1) != play.getName().charAt(1))
			{
				//當(dāng)前記錄添加到集合(用于悔棋)
				Var.add(String.valueOf(play.isVisible()));
				Var.add(String.valueOf(play.getX()));									
				Var.add(String.valueOf(play.getY()));
				Var.add(String.valueOf(Man));
				
				//當(dāng)前記錄添加到集合(用于悔棋)
				Var.add(String.valueOf(playTake.isVisible()));
				Var.add(String.valueOf(playTake.getX()));									
				Var.add(String.valueOf(playTake.getY()));
				Var.add(String.valueOf(i));
				
				playTake.setVisible(false);
				play.setBounds(playTake.getX(),playTake.getY(),40,40);
			}
			
			//起點和終點之間沒有棋子是車的規(guī)則、并不能吃自己的棋子			
			else if (Count ==0  && Chess == 1 && playTake.getName().charAt(1) != play.getName().charAt(1))
			{
				
				//當(dāng)前記錄添加到集合(用于悔棋)
				Var.add(String.valueOf(play.isVisible()));
				Var.add(String.valueOf(play.getX()));									
				Var.add(String.valueOf(play.getY()));
				Var.add(String.valueOf(Man));
				
				//當(dāng)前記錄添加到集合(用于悔棋)
				Var.add(String.valueOf(playTake.isVisible()));
				Var.add(String.valueOf(playTake.getX()));									
				Var.add(String.valueOf(playTake.getY()));
				Var.add(String.valueOf(i));
				
				playTake.setVisible(false);
				play.setBounds(playTake.getX(),playTake.getY(),40,40);
			}
			
		}//炮、車吃棋方法結(jié)束
		
		/*馬移動規(guī)則***************************************************/
		public void horseRule(JLabel play,JLabel playQ[],MouseEvent me)
		{		
			//保存坐標(biāo)和障礙
			int Ex=0,Ey=0,Move=0;			
			
			//上移、左邊
			if (play.getX() - me.getX() >= 10 && play.getX() - me.getX() <= 50 && play.getY() - me.getY() >= 60 && play.getY() - me.getY() <= 100)
			{				
				//合法的Y坐標(biāo)
				for (int i=30;i<=462;i+=48)
				{
					//移動的Y坐標(biāo)是否有指定坐標(biāo)相近的
					if (i - me.getY() >= -10 && i - me.getY() <= 30)
					{
						Ey = i;
						break;
					}
				}
				
				//合法的X坐標(biāo)
				for (int i=30;i<=420;i+=48)
				{					
					//移動的X坐標(biāo)是否有指定坐標(biāo)相近的
					if (i - me.getX() >= -35 && i-me.getX() <= 10)
					{
						Ex = i;
						break;
					}
				}
				
				//正前方是否有別的棋子
				for (int i=0;i<32;i++)
				{
					if (playQ[i].isVisible() && play.getX() - playQ[i].getX() <= 10 && play.getX() - playQ[i].getX() >= -10 && play.getY() - playQ[i].getY() >= 40 && play.getY() - playQ[i].getY() <= 60)
					{
						Move = 1;
						break;
					}		
				}
				
				//可以移動該棋子
				if (Move == 0)
				{	
					//當(dāng)前記錄添加到集合(用于悔棋)
					Var.add(String.valueOf(play.isVisible()));
					Var.add(String.valueOf(play.getX()));									
					Var.add(String.valueOf(play.getY()));
					Var.add(String.valueOf(Man));
									
					play.setBounds(Ex-20,Ey-17,40,40);					
				}
				
			}//if
			
			//左移、上邊
			else if (play.getY() - me.getY() >= 10 && play.getY() - me.getY() <= 50 && play.getX() - me.getX() >= 60 && play.getX() - me.getX() <= 100)
			{				
				//Y
				for (int i=30;i<=462;i+=48)
				{
					if (i - me.getY() >= -10 && i - me.getY() <= 30)
					{
						Ey = i;
					}
				}
				
				//X
				for (int i=30;i<=420;i+=48)
				{					
					if (i - me.getX() >= -35 && i-me.getX() <= 10)
					{
						Ex = i;
					}
				}
				
				//正左方是否有別的棋子
				for (int i=0;i<32;i++)
				{
					if (playQ[i].isVisible() && play.getY() - playQ[i].getY() <= 10 && play.getY() - playQ[i].getY() >= -10 && play.getX() - playQ[i].getX() >= 40 && play.getX() - playQ[i].getX() <= 60)
					{
						Move = 1;
						break;
					}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品亚洲一区| 91麻豆高清视频| 水蜜桃久久夜色精品一区的特点| 亚洲日本一区二区| 成人激情文学综合网| 一区精品在线播放| 不卡欧美aaaaa| 亚洲欧洲性图库| 91视视频在线观看入口直接观看www | 久久久久99精品国产片| 国产自产视频一区二区三区| 26uuu国产一区二区三区| 欧美性生交片4| 日韩手机在线导航| 午夜精品久久久久久久| 同产精品九九九| 国产在线国偷精品产拍免费yy| 九九精品视频在线看| 成人a级免费电影| 欧美日韩综合在线免费观看| 精品日韩99亚洲| 玉米视频成人免费看| 亚洲成人免费av| 色中色一区二区| 日本怡春院一区二区| 久久精品在这里| 色成人在线视频| 韩国一区二区三区| 亚洲人成网站精品片在线观看| 在线综合视频播放| 成人综合在线视频| 日本女优在线视频一区二区| 久久精品视频免费| 欧美日韩国产综合一区二区三区 | 国产网站一区二区三区| 91成人在线观看喷潮| 久久99国内精品| 亚洲另类在线一区| 精品少妇一区二区三区在线视频 | 亚洲自拍都市欧美小说| 色综合久久综合网97色综合| 久久精品日产第一区二区三区高清版| 日本视频免费一区| 91网上在线视频| 最新日韩在线视频| 欧美一区二区三区不卡| 久久蜜桃av一区精品变态类天堂 | 日本一区二区三级电影在线观看 | 91影院在线观看| 看片的网站亚洲| 亚洲综合在线第一页| 久久日韩粉嫩一区二区三区| 欧美精品久久天天躁| bt欧美亚洲午夜电影天堂| 日韩美女视频在线| 日本高清视频一区二区| 性欧美疯狂xxxxbbbb| 日韩欧美一级二级三级久久久| 免费人成黄页网站在线一区二区| 欧美日韩在线精品一区二区三区激情 | 欧美精品粉嫩高潮一区二区| 欧美日韩成人高清| 99九九99九九九视频精品| 激情五月婷婷综合网| 日日摸夜夜添夜夜添亚洲女人| 亚洲精品免费在线观看| 国产精品乱码人人做人人爱| 久久久精品日韩欧美| 精品少妇一区二区三区日产乱码 | 午夜伊人狠狠久久| 亚洲欧美日韩在线播放| 中文字幕一区二区三区四区不卡| 久久综合中文字幕| 精品国产亚洲在线| 91麻豆精品国产91久久久久| 欧美绝品在线观看成人午夜影视| 在线一区二区视频| 欧美在线一区二区| 欧美日韩国产123区| 欧美日韩大陆一区二区| 欧美日韩中文国产| 9191国产精品| 日韩欧美国产高清| 精品蜜桃在线看| 欧美精品一区二区三区四区| 久久综合狠狠综合| 国产欧美日本一区二区三区| 欧美高清在线视频| 国产精品成人免费| 亚洲三级在线观看| 亚洲国产aⅴ成人精品无吗| 亚洲va中文字幕| 蜜臀精品一区二区三区在线观看| 美国欧美日韩国产在线播放| 韩国av一区二区三区在线观看| 国产精品亚洲人在线观看| 成人免费高清视频在线观看| 91丨国产丨九色丨pron| 欧美日韩中文另类| 久久亚区不卡日本| 综合av第一页| 亚瑟在线精品视频| 韩国午夜理伦三级不卡影院| 粉嫩av一区二区三区| 日本伦理一区二区| 日韩一级高清毛片| 国产精品美女一区二区在线观看| 一区二区三区精品视频在线| 日韩电影网1区2区| 成人精品国产福利| 777午夜精品视频在线播放| 精品区一区二区| 亚洲色图在线看| 免费人成黄页网站在线一区二区| 成人一区二区视频| 欧美顶级少妇做爰| 欧美国产精品一区二区三区| 一区二区三区在线视频免费| 久久精品国产成人一区二区三区| 高清在线观看日韩| 欧美喷水一区二区| 中文字幕欧美日韩一区| 日韩精品欧美成人高清一区二区| 国产精品一区二区在线观看网站 | 91麻豆精品久久久久蜜臀| 日本一区二区三区四区 | 日本中文字幕一区| 国产91在线|亚洲| 欧美日本国产视频| 国产精品久久久久影院亚瑟| 91在线视频免费91| 日韩精品一区二区三区视频| 成人免费在线观看入口| 精品中文字幕一区二区| 91成人在线观看喷潮| 欧美激情一区在线观看| 免费在线观看视频一区| 欧洲一区在线电影| 国产精品伦一区二区三级视频| 免费精品99久久国产综合精品| av在线播放不卡| 久久久亚洲国产美女国产盗摄| 亚洲国产日韩精品| av动漫一区二区| 国产日韩精品一区| 久久99精品久久久| 欧美日韩亚洲综合在线| 一区二区激情小说| jlzzjlzz欧美大全| 国产三区在线成人av| 久久se这里有精品| 制服视频三区第一页精品| 一区二区三区四区中文字幕| 成人美女视频在线观看18| 2020国产精品久久精品美国| 麻豆成人免费电影| 3d成人h动漫网站入口| 亚洲国产色一区| 欧美亚洲国产bt| 欧美日韩久久不卡| 黑人巨大精品欧美黑白配亚洲| 日韩成人dvd| 三级欧美在线一区| 国产色爱av资源综合区| 精品国产乱码久久久久久久| 久久人人超碰精品| 久久99精品久久久| 欧美电视剧免费全集观看| 婷婷综合五月天| 在线成人免费视频| 中文字幕一区视频| 欧洲国产伦久久久久久久| av午夜一区麻豆| 国产v综合v亚洲欧| 亚洲午夜在线视频| 国产日产欧美一区| 欧美区在线观看| 菠萝蜜视频在线观看一区| 亚洲福利电影网| 国产精品视频在线看| 日韩一区二区免费视频| 成人国产精品免费| 精品一区二区三区日韩| 亚洲一区在线视频观看| 国产一区二区电影| 久久亚洲春色中文字幕久久久| 国产一区二区主播在线| 久久精品在线免费观看| 99re视频这里只有精品| 亚洲一区二区三区四区在线免费观看 | 日韩毛片精品高清免费| 91精品国产丝袜白色高跟鞋| 成人av在线电影| 国产99久久久久| 狠狠色丁香久久婷婷综| 日本欧美韩国一区三区| 日韩高清欧美激情| 午夜激情一区二区三区| 亚洲成a人v欧美综合天堂下载| 中文字幕第一区综合|