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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rule.java

?? JAVA版中國象棋
?? JAVA
字號:
package xq;

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

public class Rule {
	ChessBoard board = null;
	ChessPiece piece = null;
	ChessPoint point[][];
	int startI, startJ, endI, endJ;
	String name = null;

	public Rule(ChessBoard board, ChessPoint point[][]) {
		// TODO 自動生成構造函數(shù)存根
		this.board = board;
		this.point = point;
	}
	
	public boolean movePieceRule(ChessPiece piece, int startI, int startJ, int endI, int endJ, String name){
		this.piece = piece;
		this.startI = startI;
		this.startJ = startJ;
		this.endI = endI;
		this.endJ = endJ;
		this.name = name;
		int minI = Math.min(startI, endI);
		int maxI = Math.max(startI, endI);
		int minJ = Math.min(startJ, endJ);
		int maxJ = Math.max(startJ, endJ);
		boolean 可否走棋 = false;
		if(piece.getName().equals("車")){
			if(startI == endI){//符合車沿縱向行走的規(guī)則
				int j = 0;
				for(j=minJ+1; j<=maxJ-1; j++){//如果起點與終點之間的棋點上有棋子
					if(point[startI][j].isPiece()){
						可否走棋 = false;
						break;
					}
				}
				if(j == maxJ){
					可否走棋 = true;
				}
			}
			else if(startJ == endJ){
				int i=0;
				for(i=minI+1; i<=maxI-1; i++){
					if(point[i][startJ].isPiece()){
						可否走棋 = false;
						break;
					}
				}
				if(i == maxI){
					可否走棋 = true;
				}
			}
			else{
				可否走棋 = false;
			}
		}
		else if(piece.getName().equals("馬")){
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			//假如橫向走兩個棋點,縱向走一個棋點
			if(xAxle == 2 && yAxle == 1){
				if(endI>startI){
					if(point[startI+1][startJ].isPiece()){
						可否走棋 = false;
					}
					else{
						可否走棋 = true;
					}
				}
				if(endI < startI){
					if(point[startI-1][startJ].isPiece()){
						可否走棋 = false;
					}
					else{
						可否走棋 = true;
					}
				}
			}
			//假如縱向走兩個棋點,橫向走一個棋點
			else if(xAxle == 1 && yAxle ==2){
				if(endJ>startJ){
					if(point[startI][startJ+1].isPiece()){
						可否走棋 = false;
					}
					else{
						可否走棋 = true;
					}
				}
				if(endJ < startJ){
					if(point[startI][startJ-1].isPiece()){
						可否走棋 = false;
					}
					else{
						可否走棋 = true;
					}
				}
			}
			else{
				可否走棋 = false;
			}
		}
		else if(piece.getName().equals("象")){
			int centerI = (startI + endI)/2;
			int centerJ = (startJ + endJ)/2;
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			if(xAxle == 2 && yAxle == 2 && endJ <= 5){//象走田,不可以過河
				if(point[centerI][centerJ].isPiece()){
					可否走棋 = false;
				}
				else{
					可否走棋 = true;
				}
			}
			else{
				可否走棋 = false;
			}
		}
		else if(piece.getName().equals("相")){
			int centerI = (startI + endI)/2;
			int centerJ = (startJ + endJ)/2;
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			if(xAxle == 2 && yAxle == 2 && endJ >= 6){//象走田,不可以過河
				if(point[centerI][centerJ].isPiece()){
					可否走棋 = false;
				}
				else{
					可否走棋 = true;
				}
			}
			else{
				可否走棋 = false;
			} 
		}
		else if(piece.getName().equals("炮")){
			int number = 0;
			if(startI == endI){
				int j = 0;
				for(j=minJ+1; j<=maxJ-1; j++){//如果炮沿縱向走
					//計算起點和終點之間的棋子的數(shù)目.
					if(point[startI][j].isPiece()){
						number++;
					}
				}
				if(number > 1){
					可否走棋 = false;
				}
				else if(number == 1){
					if(point[endI][endJ].isPiece())	{
						可否走棋 = true;
					}
				}
				else if(number == 0 && !point[endI][endJ].isPiece()){
					可否走棋 = true;
				}
			}
			else if(startJ == endJ){//如果炮沿橫向走
				int i = 0;
				for(i=minI+1; i<=maxI-1; i++){//如果炮沿縱向走
					//計算起點和終點之間的棋子的數(shù)目.
					if(point[i][startJ].isPiece()){
						number++;
					}
				}
				if(number > 1){
					可否走棋 = false;
				}
				else if(number == 1){
					if(point[endI][endJ].isPiece())	{
						可否走棋 = true;
					}
				}
				else if(number == 0 && !point[endI][endJ].isPiece()){
					可否走棋 = true;
				}
			}
			else{
				可否走棋 = false;
			}
		}
		
		else if(piece.getName().equals("兵")){
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			//兵沒有過河前不可橫走(任何情況下都不可以后退).
			if(endJ >= 6){
				if(startJ - endJ == 1 && xAxle == 0){
					可否走棋 = true;
				}
				else{
					可否走棋 = false;
				}
			}
			else if(endJ <= 5){//過河之后
				if((startJ - endJ == 1)&&(xAxle == 0)){//向前一步
					可否走棋 = true;
				}
				else if((endJ - startJ == 0)&&(xAxle == 1)){//向左或右一步
					可否走棋 = true;
				}
				else{
					可否走棋 = false;
				}
			}
		}
		else if(piece.getName().equals("卒")){
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			//卒沒有過河前不可橫走(任何情況下都不可以后退).
			if(endJ <= 5){
				if(endJ - startJ == 1 && xAxle == 0){
					可否走棋 = true;
				}
				else{
					可否走棋 = false;
				}
			}
			else if(endJ >= 5){//過河之后
				if((endJ - startJ == 1)&&(xAxle == 0)){//向前一步
					可否走棋 = true;
				}
				else if((endJ - startJ == 0)&&(xAxle == 1)){//向左或右一步
					可否走棋 = true;
				}
				else{
					可否走棋 = false;
				}
			}
		}
		
		else if(piece.getName().equals("士")){
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			if(endI <= 6 && endI >=4 && (endJ >=8 || endJ <=3) && xAxle == 1 && yAxle == 1){
				可否走棋 = true;
			}
			else{
				可否走棋 = false;
			}
		}
		else if((piece.getName().equals("帥")) || (piece.getName().equals("將"))){
			//判斷是否符合帥與行走方法
			int xAxle = Math.abs(startI - endI);
			int yAxle = Math.abs(startJ - endJ);
			if(endI <= 6 && endI >=4 &&( endJ >=8 || endJ <= 3) ){
				if((xAxle == 1 && yAxle == 0) || (xAxle == 0 && yAxle == 1)){
					可否走棋 = true;
				}
				else if((xAxle == 0 && yAxle >= 5) && (name.equals("帥") || name.equals("將"))){
					int number = 0;
					for(int j=minJ+1; j<=maxJ-1; j++){//如果炮沿縱向走
						//計算起點和終點之間的棋子的數(shù)目.
						if(point[startI][j].isPiece()){
							number++;
						}
					}
					if(number == 0 &&
							(point[endI][endJ].getPiece().getName().equals("帥") ||
									point[endI][endJ].getPiece().getName().equals("將"))){
						可否走棋 = true;
					}
					else{
						可否走棋 = false;
					}
					
				}
				else{
					可否走棋 = false;
				}
			}
			else{
				可否走棋 = false;
			}
		}
		return 可否走棋;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区在线播放| 成人免费毛片aaaaa**| 国产精品影视网| 精品视频色一区| 欧美国产一区二区在线观看| 热久久一区二区| 在线观看一区日韩| 国产精品乱码一区二三区小蝌蚪| 亚洲国产视频一区二区| 高清在线观看日韩| 亚洲精品一区二区三区香蕉| 亚洲va欧美va人人爽午夜 | 综合欧美一区二区三区| 麻豆精品久久久| 欧美揉bbbbb揉bbbbb| 中文字幕一区二区三区色视频| 国产在线麻豆精品观看| 日韩精品中午字幕| 喷白浆一区二区| 这里只有精品99re| 亚洲电影一区二区三区| 91免费看视频| 亚洲男人的天堂在线观看| 福利视频网站一区二区三区| 国产亚洲成av人在线观看导航| 久久91精品国产91久久小草| 日韩欧美www| 国产资源在线一区| 欧美mv日韩mv亚洲| 精品一二三四区| 久久精品男人天堂av| 国产精品一区二区91| 久久久九九九九| 国产成人精品免费一区二区| 国产色婷婷亚洲99精品小说| 国产精品自拍毛片| 国产精品免费人成网站| 成人晚上爱看视频| 亚洲欧美日韩小说| 在线观看国产日韩| 日韩av电影免费观看高清完整版| 久久夜色精品一区| 国产综合色视频| 国产欧美久久久精品影院| av激情亚洲男人天堂| 亚洲美女偷拍久久| 欧美日韩亚洲综合一区二区三区| 日韩成人免费在线| www久久久久| 91在线你懂得| 天天av天天翘天天综合网色鬼国产| 91精品国产色综合久久ai换脸| 免费看欧美女人艹b| 国产日韩欧美电影| 91激情在线视频| 免费成人av资源网| 国产精品国产三级国产aⅴ无密码| 91亚洲精品一区二区乱码| 亚洲福利一二三区| 精品国产一区二区三区久久影院| 成人黄色片在线观看| 亚洲一区二区在线播放相泽| 日韩欧美一区在线| 91在线免费播放| 另类小说欧美激情| 亚洲人成网站影音先锋播放| 日韩欧美国产高清| 色综合天天综合狠狠| 免费xxxx性欧美18vr| 中文字幕一区二区三区四区 | 国产日韩欧美在线一区| 91成人网在线| 国产精品香蕉一区二区三区| 亚洲国产精品久久不卡毛片 | 日韩av中文字幕一区二区三区| 国产无遮挡一区二区三区毛片日本| 91黄色免费网站| 国产传媒一区在线| 七七婷婷婷婷精品国产| 亚洲精品国产a久久久久久| 欧美大片一区二区三区| 欧美最新大片在线看| 国产mv日韩mv欧美| 久久成人18免费观看| 亚洲摸摸操操av| 欧美国产激情一区二区三区蜜月| 717成人午夜免费福利电影| 成人avav影音| 国产真实乱对白精彩久久| 婷婷激情综合网| 夜色激情一区二区| 国产人妖乱国产精品人妖| 日韩亚洲欧美成人一区| 91麻豆国产精品久久| 国产a区久久久| 国产自产2019最新不卡| 免播放器亚洲一区| 日韩不卡一二三区| 亚洲成人免费视频| 亚洲国产日韩在线一区模特| 国产精品高潮久久久久无| 国产欧美日本一区视频| 亚洲福利视频三区| 亚洲免费成人av| 日韩码欧中文字| 亚洲免费大片在线观看| 亚洲免费av观看| 亚洲欧美日韩国产中文在线| 国产精品久久综合| 国产精品国产自产拍在线| 国产精品视频一二三| 欧美国产1区2区| 国产精品第一页第二页第三页| 国产精品网站在线播放| 国产欧美精品一区二区三区四区| 久久久亚洲精品石原莉奈| 久久婷婷国产综合国色天香| 国产三级一区二区| 中文字幕久久午夜不卡| 中文字幕av一区 二区| 国产精品沙发午睡系列990531| 中文一区一区三区高中清不卡| 国产调教视频一区| 中文字幕一区二区三区不卡在线| 国产精品国产三级国产普通话99| 亚洲日本成人在线观看| 亚洲一区二区三区四区五区中文| 亚洲一区国产视频| 琪琪久久久久日韩精品| 精品夜夜嗨av一区二区三区| 国产成人精品免费视频网站| av一区二区三区在线| 欧美性极品少妇| 日韩视频一区二区三区| 久久久久99精品一区| 亚洲欧洲成人自拍| 婷婷开心激情综合| 国产精品亚洲一区二区三区在线| 成人激情校园春色| 欧美视频完全免费看| 欧美成人性战久久| 中文字幕一区二区三区乱码在线| 亚洲成人资源网| 国产另类ts人妖一区二区| 97精品国产97久久久久久久久久久久| 91免费看`日韩一区二区| 日韩一区二区三区四区五区六区 | 国产一区二区不卡老阿姨| 97久久精品人人做人人爽| 欧美精品视频www在线观看| 欧美精品一区视频| 亚洲精品免费播放| 久久成人18免费观看| 在线日韩一区二区| 精品国产三级a在线观看| 亚洲免费伊人电影| 国产一区二区中文字幕| 欧美日韩国产一级片| 国产精品久久久久精k8| 秋霞影院一区二区| 一本高清dvd不卡在线观看| 精品美女在线播放| 午夜精品久久久久久久99樱桃 | 欧美日韩国产成人在线91| 欧美经典三级视频一区二区三区| 图片区小说区国产精品视频| 成年人网站91| xnxx国产精品| 日韩av不卡在线观看| 欧美在线一区二区| 国产精品久久久久四虎| 狠狠色丁香婷综合久久| 欧美日韩高清影院| 亚洲欧美乱综合| 成人网页在线观看| 亚洲精品乱码久久久久久| 国产99久久久国产精品| 欧美一区二区美女| 亚洲国产毛片aaaaa无费看| 99国产精品久久久| 国产精品三级视频| 国产不卡视频一区| 久久亚洲精品国产精品紫薇 | 亚洲免费av观看| 成人av在线资源| 久久精品男人天堂av| 黑人精品欧美一区二区蜜桃| 91精品欧美久久久久久动漫 | 欧美亚洲尤物久久| 欧美一区二区三区视频| 伊人色综合久久天天| av网站免费线看精品| 久久日一线二线三线suv| 美女性感视频久久| 日韩欧美久久久| 毛片av中文字幕一区二区| 欧美一级一区二区| 男人的j进女人的j一区| 日韩午夜av电影| 久草中文综合在线|