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

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

?? chess.java

?? 黑白棋對抗小游戲。在8×8的棋盤中間事先放置兩顆黑棋和兩顆白棋
?? JAVA
字號:
package test.mychess;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class Chess extends JFrame {
	// 用于記錄黑白棋的位置,chess[i][j] =1 表示在i,j位置放置黑棋
	int[][] chess = new int[8][8];
	// 用于標志到目前為止下棋的次數(shù)
	int count = 1;
	// stop_black作為是否要停止黑棋走動的標志
	boolean stop_black = false;
	// stop_write作為是否要停止白棋走動的標志
	boolean stop_white = false;
	// 用于統(tǒng)計黑棋和白棋的個數(shù)
	int blackNum = 0, whiteNum = 0;
	MyPanel panel = null;

	public Chess() {
		super("黑白棋游戲");
		chess[3][3] = 1;
		chess[4][4] = 1;
		chess[4][3] = 2;
		chess[3][4] = 2;
		Container container = this.getContentPane();
		container.setLayout(new BorderLayout());
		panel = new MyPanel();
		JButton button = new JButton("重新開始游戲");
		panel.addMouseListener(new MouseListener() {

			@Override
			public void mouseClicked(MouseEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void mouseEntered(MouseEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void mouseExited(MouseEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void mousePressed(MouseEvent e) {
				// TODO Auto-generated method stub
				int i = e.getX() / 40;
				int j = e.getY() / 40;
				if (chess[i][j] == 0) {
					count++;
					test(i, j, count % 2);
				}
				/*
				 * // count%2 ==1表示黑方下棋 if(count % 2 == 1){ if(chess[i][j] ==
				 * 0){ System.out.println("黑棋i:"+i+"j:"+j); count ++;
				 * chess[i][j] = 2; // flag用于標記是否找到了212序列 int flag = 0;
				 * if(i-2>=0){ if(chess[i-2][j]==2&&chess[i-1][j]==1){
				 * chess[i-1][j] = 2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i+2<=7&&j-2>=0){
				 * if(chess[i+1][j-1]==1&&chess[i+2][j-2]==2){
				 * chess[i+1][j-1]=2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i+2<=7){ if(chess[i+1][j]==1&&chess[i+2][j]==2){
				 * chess[i+1][j]=2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(j-2>=0){ if(chess[i][j-1]==1&&chess[i][j-2]==2){
				 * chess[i][j-1]=2 ; panel.repaint(); flag = 1; change3to0(); } }
				 * if(j+2<=7){ if(chess[i][j+1]==1&&chess[i][j+2]==2){
				 * chess[i][j+1]=2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i-2>=0&&j-2>=0){
				 * if(chess[i-1][j-1]==1&&chess[i-2][j-2]==2){
				 * chess[i-1][j-1]=2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i-2>=0&&j+2<=7){
				 * if(chess[i-1][j+1]==1&&chess[i-2][j+2]==2){
				 * chess[i-1][j+1]=2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i+2<=7&&j+2<=7){
				 * if(chess[i+1][j+1]==1&&chess[i+2][j+2]==2){
				 * chess[i+1][j+1]=2; panel.repaint(); flag = 1; change3to0(); } }
				 * if(flag == 0){ chess[i][j] = 3;
				 * JOptionPane.showMessageDialog(getParent(),
				 * "沒有形成夾擊,該位置無效,繼續(xù)黑方下棋"); if(!isExist()){ stop_black = true;
				 * blackNum = totalBlack(); if(stop_black == true){
				 * JOptionPane.showMessageDialog(getParent(),
				 * "黑棋的個數(shù):"+blackNum+"白棋的個數(shù)是:"+whiteNum); } } else{ count --; } } } } //
				 * 白方下棋 else{ System.out.println("白棋i:"+i+"j:"+j); count ++;
				 * chess[i][j] = 1; // flag用于標記是否找到了121序列 int flag = 0;
				 * if(i-2>=0){ if(chess[i-2][j]==1&&chess[i-1][j]==2){
				 * chess[i-1][j] = 1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i+2<=7&&j-2>=0){
				 * if(chess[i+1][j-1]==2&&chess[i+2][j-2]==1){
				 * chess[i+1][j-1]=1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i+2<=7){ if(chess[i+1][j]==2&&chess[i+2][j]==1){
				 * chess[i+1][j]=1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(j-2>=0){ if(chess[i][j-1]==2&&chess[i][j-2]==1){
				 * chess[i][j-1]=1 ; panel.repaint(); flag = 1; change3to0(); } }
				 * if(j+2<=7){ if(chess[i][j+1]==2&&chess[i][j+2]==1){
				 * chess[i][j+1]=1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i-2>=0&&j-2>=0){
				 * if(chess[i-1][j-1]==2&&chess[i-2][j-2]==1){
				 * chess[i-1][j-1]=1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i-2>=0&&j+2<=7){
				 * if(chess[i-1][j+1]==2&&chess[i-2][j+2]==1){
				 * chess[i-1][j+1]=1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(i+2<=7&&j+2<=7){
				 * if(chess[i+1][j+1]==2&&chess[i+2][j+2]==1){
				 * chess[i+1][j+1]=1; panel.repaint(); flag = 1; change3to0(); } }
				 * if(flag == 0){ chess[i][j] = 3;
				 * JOptionPane.showMessageDialog(getParent(),
				 * "沒有形成夾擊,該位置無效,繼續(xù)由白方下棋"); if(!isExist()){ stop_white = true;
				 * whiteNum = totalWhite(); if(stop_black == true){
				 * JOptionPane.showMessageDialog(getParent(),
				 * "黑棋的個數(shù):"+blackNum+"白棋的個數(shù)是:"+whiteNum); } } else{ count --; } } }
				 */

			}

			@Override
			public void mouseReleased(MouseEvent e) {
				// TODO Auto-generated method stub

			}

		});
		container.add(panel, BorderLayout.CENTER);
		button.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				for (int i = 0; i < 8; i++) {
					for (int j = 0; j < 8; j++) {
						chess[i][j] = 0;
					}
				}
				chess[3][3] = 1;
				chess[4][4] = 1;
				chess[4][3] = 2;
				chess[3][4] = 2;
				count = 1;
				stop_black = false;
				stop_white = false;
				blackNum = 0;
				whiteNum = 0;
				panel.repaint();
			}

		});
		container.add(button, BorderLayout.SOUTH);
		this.setSize(330, 380);
		this.setVisible(true);
		/*Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
		this.setLocation(d.width / 2, d.height / 2);*/
		this.setLocation(200, 100);
		this.setResizable(false);
		this.addWindowListener(new WindowListener() {

			@Override
			public void windowActivated(WindowEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void windowClosed(WindowEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
			}

			@Override
			public void windowClosing(WindowEvent e) {
				// TODO Auto-generated method stub
				System.exit(0);
			}

			@Override
			public void windowDeactivated(WindowEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void windowDeiconified(WindowEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void windowIconified(WindowEvent e) {
				// TODO Auto-generated method stub

			}

			@Override
			public void windowOpened(WindowEvent e) {
				// TODO Auto-generated method stub

			}

		});
	}

	// 用于測試是否可以在i,j位置放置棋子
	// mark==1表示在i,j位置放置白棋
	// mark ==2表示在i,j位置放置黑棋
	public void test(int i, int j, int mark) {
		int flag = 0;
		int temp1 = 0;
		int temp2 = 0;
		if (mark == 0) {
			temp1 = 2;
			temp2 = 1;
		} else {
			temp1 = 1;
			temp2 = 2;
		}
		// left
		int index = -1;
		if ((index = i - 1) >= 0) {
			while (chess[index][j] == temp2 && index >= 0) {
				index--;
			}
			if (chess[index][j] == temp1 && index < i - 1) {
				flag = 1;
				for (int n = index; n <= i; n++) {
					chess[n][j] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// right
		if ((index = i + 1) <= 7) {
			while (chess[index][j] == temp2 && index <= 7) {
				index++;
			}
			if (chess[index][j] == temp1 && index > i + 1) {
				flag = 1;
				for (int n = i; n <= index; n++) {
					chess[n][j] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// up
		if ((index = j - 1) >= 0) {
			while (chess[i][index] == temp2 && index >= 0) {
				index--;
			}
			if (chess[i][index] == temp1 && index < j - 1) {
				flag = 1;
				for (int n = index; n <= j; n++) {
					chess[i][n] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// dowm
		if ((index = j + 1) <= 7) {
			while (chess[i][index] == temp2 && index <= 7) {
				index++;
			}
			if (chess[i][index] == temp1 && index > j + 1) {
				flag = 1;
				for (int n = j; n <= index; n++) {
					chess[i][n] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// up-right
		int i_index = -1;
		int j_index = -1;
		if ((i_index = i + 1) <= 7 && (j_index = j - 1) >= 0) {
			while (chess[i_index][j_index] == temp2 && i_index <= 7
					&& j_index >= 0) {
				i_index++;
				j_index--;
			}
			if (chess[i_index][j_index] == temp1 && i_index > i + 1
					&& j_index < j - 1) {
				flag = 1;
				for (int n = 0; n <= i_index - i; n++) {
					chess[i + n][j - n] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// right-down
		if ((i_index = i + 1) <= 7 && (j_index = j + 1) <= 7) {
			while (chess[i_index][j_index] == temp2 && i_index <= 7
					&& j_index <= 7) {
				i_index++;
				j_index++;
			}
			if (chess[i_index][j_index] == temp1 && i_index > i + 1
					&& j_index > j + 1) {
				flag = 1;
				for (int n = 0; n <= i_index - i; n++) {
					chess[i + n][j + n] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// left-down
		if ((i_index = i - 1) >= 0 && (j_index = j + 1) <= 7) {
			while (chess[i_index][j_index] == temp2 && i_index >= 0
					&& j_index <= 7) {
				i_index--;
				j_index++;
			}
			if (chess[i_index][j_index] == temp1 && i_index < i - 1
					&& j_index > j + 1) {
				flag = 1;
				for (int n = 0; n <= j_index - j; n++) {
					chess[i - n][j + n] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}

		// left-up
		if ((i_index = i - 1) >= 0 && (j_index = j - 1) >= 0) {
			while (chess[i_index][j_index] == temp2 && i_index >= 0
					&& j_index >= 0) {
				i_index--;
				j_index--;
			}
			if (chess[i_index][j_index] == temp1 && i_index < i - 1
					&& j_index < j - 1) {
				flag = 1;
				for (int n = 0; n <= i - i_index; n++) {
					chess[i - n][j - n] = temp1;
				}
				panel.repaint();
				change3to0();
			}
		}
		if (flag == 0) {
			chess[i][j] = 3;
			if (mark == 0) {
				JOptionPane.showMessageDialog(getParent(),
						"沒有形成夾擊,該位置無效,繼續(xù)黑方下棋");
				if (!isExist()) {
					stop_black = true;
					blackNum = totalBlack();
					if (stop_white == true) {
						JOptionPane.showMessageDialog(getParent(), "黑棋的個數(shù):"
								+ blackNum + "白棋的個數(shù)是:" + whiteNum);
					}
				} else {
					count--;
				}
			} else {
				JOptionPane.showMessageDialog(getParent(),
						"沒有形成夾擊,該位置無效,繼續(xù)由白方下棋");
				if (!isExist()) {
					stop_white = true;
					whiteNum = totalWhite();
					if (stop_black == true) {
						JOptionPane.showMessageDialog(getParent(), "黑棋的個數(shù):"
								+ blackNum + "白棋的個數(shù)是:" + whiteNum);
					}
				} else {
					count--;
				}
			}
		}
	}

	public void change3to0() {
		for (int i = 0; i < 8; i++) {
			for (int j = 0; j < 8; j++) {
				if (chess[i][j] == 3) {
					chess[i][j] = 0;
				}
			}
		}
	}

	public boolean isExist() {
		for (int i = 0; i < 8; i++) {
			for (int j = 0; j < 8; j++) {
				if (chess[i][j] == 0) {
					return true;
				}
			}
		}
		return false;
	}

	public int totalBlack() {
		int count = 0;
		for (int i = 0; i < 8; i++) {
			for (int j = 0; j < 8; j++) {
				if (chess[i][j] == 2) {
					count++;
				}
			}
		}
		return count;
	}

	public int totalWhite() {
		int count = 0;
		for (int i = 0; i < 8; i++) {
			for (int j = 0; j < 8; j++) {
				if (chess[i][j] == 1) {
					count++;
				}
			}
		}
		return count;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Chess chess = new Chess();
	}

	public class MyPanel extends JPanel {

		@Override
		public void paint(Graphics g) {
			// TODO Auto-generated method stub
			super.paint(g);
			for (int i = 0; i < 9; i++) {
				g.drawLine(0, i * 40, 320, i * 40);
				g.drawLine(i * 40, 0, i * 40, 320);
			}
			for (int i = 0; i < 8; i++) {
				for (int j = 0; j < 8; j++) {
					if (chess[i][j] == 2) {

						g.setColor(Color.BLACK);
						g.fillOval(i * 40, j * 40, 40, 40);
					}
					if (chess[i][j] == 1) {
						g.setColor(Color.GREEN);
						g.fillOval(i * 40, j * 40, 40, 40);
					}
				}
			}
		}
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久66| 国产精品嫩草久久久久| 一区二区在线看| 99视频在线观看一区三区| 国产精品久久二区二区| voyeur盗摄精品| 国产精品久久久久久久久免费樱桃| 成人免费观看男女羞羞视频| 国产精品女人毛片| 欧美视频第二页| 同产精品九九九| 欧美一区二区视频观看视频 | 国产精品中文字幕欧美| 国产精品一区二区久久不卡 | 奇米四色…亚洲| 精品国产乱码久久久久久图片 | 成人福利视频网站| 欧美国产日韩亚洲一区| av网站一区二区三区| 亚洲男人都懂的| 欧美日韩免费不卡视频一区二区三区| 丝袜美腿高跟呻吟高潮一区| 欧美mv日韩mv国产网站app| 国产精品综合视频| 国产精品国产自产拍高清av王其| 色噜噜狠狠成人网p站| 日韩成人精品在线| 欧美成人a在线| 国产福利91精品一区二区三区| 国产一区二区三区观看| 国产精品久久网站| 欧美肥妇bbw| 国产99一区视频免费| 亚洲精品va在线观看| 精品嫩草影院久久| 色综合久久六月婷婷中文字幕| 久久国产精品无码网站| 亚洲视频小说图片| 日韩精品一区国产麻豆| 成人性生交大片免费看中文 | 国产精品国产成人国产三级| 91福利在线播放| 韩国av一区二区| 亚洲午夜久久久久久久久久久| 日韩一本二本av| 本田岬高潮一区二区三区| 久久av资源网| 三级影片在线观看欧美日韩一区二区| 国产色产综合色产在线视频| 欧美精品一卡两卡| 亚洲小少妇裸体bbw| 午夜av一区二区三区| 亚洲国产精品t66y| 欧美日韩专区在线| 91丨九色丨蝌蚪丨老版| 日本美女一区二区| 国产精品大尺度| 欧美大片在线观看| 欧洲一区二区三区免费视频| 国产91丝袜在线播放九色| 日韩国产成人精品| 一区二区三区成人| 欧美va日韩va| 91精品国产综合久久福利| 欧美色图第一页| 91久久国产综合久久| 99在线精品视频| av男人天堂一区| 国产69精品一区二区亚洲孕妇| 精品一区二区免费| 久久99精品一区二区三区三区| 亚洲成a人v欧美综合天堂下载| 亚洲精品精品亚洲| 久久精品人人做人人爽人人| 成人美女在线观看| 日韩专区一卡二卡| 国产精品乱码一区二三区小蝌蚪| 精品精品国产高清a毛片牛牛| 91精品啪在线观看国产60岁| 欧美三片在线视频观看| 欧美亚洲综合另类| 在线视频国内一区二区| 在线免费精品视频| 在线看日韩精品电影| 欧美性猛交xxxx乱大交退制版 | 欧美中文字幕一区二区三区| 91亚洲精华国产精华精华液| 日韩制服丝袜先锋影音| 午夜精品福利在线| 秋霞电影网一区二区| 亚洲va在线va天堂| 天天影视色香欲综合网老头| 亚洲最新视频在线观看| 午夜久久久久久久久久一区二区| 亚洲国产一二三| 日本亚洲免费观看| 成人动漫一区二区| 国产乱人伦偷精品视频免下载| 紧缚奴在线一区二区三区| 精品一区二区三区在线观看国产| 国产在线麻豆精品观看| 成人中文字幕在线| 一本一道综合狠狠老| 欧美日韩国产首页| 日韩写真欧美这视频| 日本一区二区三区久久久久久久久不 | 日韩伦理av电影| 亚洲成人在线免费| 久久精品国产**网站演员| 麻豆视频观看网址久久| 国产激情视频一区二区三区欧美| 99精品久久免费看蜜臀剧情介绍| 欧美三级在线看| 2020国产精品久久精品美国| 国产精品视频看| 亚洲大片一区二区三区| 国产一区二区三区香蕉| av成人免费在线观看| 欧美一区二区三区精品| 国产精品午夜久久| 日韩极品在线观看| 国产自产v一区二区三区c| 国产精品原创巨作av| 在线观看三级视频欧美| 26uuu国产一区二区三区| 一区二区三区四区乱视频| 日本在线不卡一区| 成人黄色电影在线 | 欧美老女人第四色| 国产精品久久久久一区| 奇米影视一区二区三区小说| 91香蕉视频在线| 久久亚洲综合色一区二区三区 | 天天影视色香欲综合网老头| 成人丝袜高跟foot| 日韩欧美国产一区二区在线播放| 亚洲欧美日韩成人高清在线一区| 韩国欧美国产1区| 91精品国产高清一区二区三区 | 国产精品亚洲一区二区三区在线| 欧美午夜电影一区| 亚洲丝袜美腿综合| 国产精品白丝av| 8v天堂国产在线一区二区| 91精品欧美久久久久久动漫| 国产精品美女久久久久久久久 | 欧美午夜宅男影院| 国产精品网站导航| 精品一区二区精品| 日韩一区二区视频在线观看| 亚洲bt欧美bt精品| 在线观看av一区| 亚洲乱码国产乱码精品精可以看| 国产成人亚洲综合a∨婷婷图片| 日韩午夜激情av| 日韩电影在线观看一区| 欧美日韩亚洲综合在线| 亚洲情趣在线观看| 99re这里只有精品首页| 国产精品久久久久精k8| 国产白丝网站精品污在线入口| 国产亚洲欧美一级| 国产一区在线精品| 国产亚洲婷婷免费| 国产99久久久国产精品免费看 | av欧美精品.com| 欧美精品在线一区二区| 18欧美亚洲精品| 国产v综合v亚洲欧| 国产喂奶挤奶一区二区三区| 国产一区二区在线看| 精品国产伦理网| 国产一区二区免费看| 国产午夜精品一区二区三区四区| 韩国一区二区三区| 国产日韩精品久久久| 成人app下载| 樱桃国产成人精品视频| 欧美日韩精品欧美日韩精品 | 国产精品理论在线观看| 丁香六月综合激情| 亚洲女厕所小便bbb| 欧美日韩精品一区二区三区四区| 日本不卡视频一二三区| 精品电影一区二区三区| 国产91精品免费| 亚洲精选一二三| 欧美三区在线视频| 麻豆91精品视频| 日本一区二区三区电影| 色综合天天综合网天天狠天天| 亚洲一区二区欧美| 欧美成人女星排名| 成人三级在线视频| 亚洲韩国精品一区| 精品福利一二区| 狠狠色丁香婷综合久久| 欧美在线一区二区三区| 亚洲成人激情av| 精品三级在线看|