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

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

?? tictactoe.java

?? 一個(gè)小公司要求給寫的很簡(jiǎn)單的任務(wù)管理系統(tǒng)。
?? JAVA
字號(hào):
/* * @(#)TicTacToe.java	1.12 06/02/22 *  * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: *  * -Redistribution of source code must retain the above copyright notice, this *  list of conditions and the following disclaimer. *  * -Redistribution in binary form must reproduce the above copyright notice,  *  this list of conditions and the following disclaimer in the documentation *  and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors may  * be used to endorse or promote products derived from this software without  * specific prior written permission. *  * This software is provided "AS IS," without a warranty of any kind. ALL  * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST  * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,  * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY  * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE,  * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *  * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility. *//* * @(#)TicTacToe.java	1.12 06/02/22 */import java.awt.*;import java.awt.event.*;import java.awt.image.*;import java.net.*;import java.applet.*;/** * A TicTacToe applet. A very simple, and mostly brain-dead * implementation of your favorite game! <p> * * In this game a position is represented by a white and black * bitmask. A bit is set if a position is ocupied. There are * 9 squares so there are 1<<9 possible positions for each * side. An array of 1<<9 booleans is created, it marks * all the winning positions. * * @version 	1.2, 13 Oct 1995 * @author Arthur van Hoff * @modified 04/23/96 Jim Hagen : winning sounds * @modified 02/10/98 Mike McCloskey : added destroy() */publicclass TicTacToe extends Applet implements MouseListener {    /**     * White's current position. The computer is white.     */    int white;    /**     * Black's current position. The user is black.     */    int black;    /**     * The squares in order of importance...     */    final static int moves[] = {4, 0, 2, 6, 8, 1, 3, 5, 7};    /**     * The winning positions.     */    static boolean won[] = new boolean[1 << 9];    static final int DONE = (1 << 9) - 1;    static final int OK = 0;    static final int WIN = 1;    static final int LOSE = 2;    static final int STALEMATE = 3;    /**     * Mark all positions with these bits set as winning.     */    static void isWon(int pos) {	for (int i = 0 ; i < DONE ; i++) {	    if ((i & pos) == pos) {		won[i] = true;	    }	}    }    /**     * Initialize all winning positions.     */    static {	isWon((1 << 0) | (1 << 1) | (1 << 2));	isWon((1 << 3) | (1 << 4) | (1 << 5));	isWon((1 << 6) | (1 << 7) | (1 << 8));	isWon((1 << 0) | (1 << 3) | (1 << 6));	isWon((1 << 1) | (1 << 4) | (1 << 7));	isWon((1 << 2) | (1 << 5) | (1 << 8));	isWon((1 << 0) | (1 << 4) | (1 << 8));	isWon((1 << 2) | (1 << 4) | (1 << 6));    }    /**     * Compute the best move for white.     * @return the square to take     */    int bestMove(int white, int black) {	int bestmove = -1;      loop:	for (int i = 0 ; i < 9 ; i++) {	    int mw = moves[i];	    if (((white & (1 << mw)) == 0) && ((black & (1 << mw)) == 0)) {		int pw = white | (1 << mw);		if (won[pw]) {		    // white wins, take it!		    return mw;		}		for (int mb = 0 ; mb < 9 ; mb++) {		    if (((pw & (1 << mb)) == 0) && ((black & (1 << mb)) == 0)) {			int pb = black | (1 << mb);			if (won[pb]) {			    // black wins, take another			    continue loop;			}		    }		}		// Neither white nor black can win in one move, this will do.		if (bestmove == -1) {		    bestmove = mw;		}	    }	}	if (bestmove != -1) {	    return bestmove;	}	// No move is totally satisfactory, try the first one that is open	for (int i = 0 ; i < 9 ; i++) {	    int mw = moves[i];	    if (((white & (1 << mw)) == 0) && ((black & (1 << mw)) == 0)) {		return mw;	    }	}	// No more moves	return -1;    }    /**     * User move.     * @return true if legal     */    boolean yourMove(int m) {	if ((m < 0) || (m > 8)) {	    return false;	}	if (((black | white) & (1 << m)) != 0) {	    return false;	}	black |= 1 << m;	return true;    }    /**     * Computer move.     * @return true if legal     */    boolean myMove() {	if ((black | white) == DONE) {	    return false;	}	int best = bestMove(white, black);	white |= 1 << best;	return true;    }    /**     * Figure what the status of the game is.     */    int status() {	if (won[white]) {	    return WIN;	}	if (won[black]) {	    return LOSE;	}	if ((black | white) == DONE) {	    return STALEMATE;	}	return OK;    }    /**     * Who goes first in the next game?     */    boolean first = true;    /**     * The image for white.     */    Image notImage;    /**     * The image for black.     */    Image crossImage;    /**     * Initialize the applet. Resize and load images.     */    public void init() {	notImage = getImage(getCodeBase(), "images/not.gif");	crossImage = getImage(getCodeBase(), "images/cross.gif");	addMouseListener(this);    }    public void destroy() {        removeMouseListener(this);    }    /**     * Paint it.     */    public void paint(Graphics g) {	Dimension d = getSize();	g.setColor(Color.black);	int xoff = d.width / 3;	int yoff = d.height / 3;	g.drawLine(xoff, 0, xoff, d.height);	g.drawLine(2*xoff, 0, 2*xoff, d.height);	g.drawLine(0, yoff, d.width, yoff);	g.drawLine(0, 2*yoff, d.width, 2*yoff);	int i = 0;	for (int r = 0 ; r < 3 ; r++) {	    for (int c = 0 ; c < 3 ; c++, i++) {		if ((white & (1 << i)) != 0) {		    g.drawImage(notImage, c*xoff + 1, r*yoff + 1, this);		} else if ((black & (1 << i)) != 0) {		    g.drawImage(crossImage, c*xoff + 1, r*yoff + 1, this);		}	    }	}    }    /**     * The user has clicked in the applet. Figure out where     * and see if a legal move is possible. If it is a legal     * move, respond with a legal move (if possible).     */    public void mouseReleased(MouseEvent e) {	int x = e.getX();	int y = e.getY();	switch (status()) {	  case WIN:	  case LOSE:	  case STALEMATE:	    play(getCodeBase(), "audio/return.au");	    white = black = 0;	    if (first) {		white |= 1 << (int)(Math.random() * 9);	    }	    first = !first;	    repaint();	    return;	}	// Figure out the row/column	Dimension d = getSize();	int c = (x * 3) / d.width;	int r = (y * 3) / d.height;	if (yourMove(c + r * 3)) {	    repaint();	    switch (status()) {	      case WIN:		play(getCodeBase(), "audio/yahoo1.au");		break;	      case LOSE:		play(getCodeBase(), "audio/yahoo2.au");		break;	      case STALEMATE:		break;	      default:		if (myMove()) {		    repaint();		    switch (status()) {		      case WIN:			play(getCodeBase(), "audio/yahoo1.au");			break;		      case LOSE:			play(getCodeBase(), "audio/yahoo2.au");			break;		      case STALEMATE:			break;		      default:			play(getCodeBase(), "audio/ding.au");		    }		} else {		    play(getCodeBase(), "audio/beep.au");		}	    }	} else {	    play(getCodeBase(), "audio/beep.au");	}    }    public void mousePressed(MouseEvent e) {    }    public void mouseClicked(MouseEvent e) {    }    public void mouseEntered(MouseEvent e) {    }    public void mouseExited(MouseEvent e) {    }    public String getAppletInfo() {	return "TicTacToe by Arthur van Hoff";    }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清视频在线高清观看mv色露露十八| 国内精品不卡在线| 国产欧美一区二区精品婷婷| 欧美人妖巨大在线| 污片在线观看一区二区| 国产精品久久久久久久久果冻传媒| 久久婷婷色综合| 中文字幕国产一区| 美女脱光内衣内裤视频久久网站| 一二三四区精品视频| 日韩av中文字幕一区二区三区| 日本不卡视频在线观看| 精品亚洲成a人| 91免费国产在线观看| 欧美日韩一级黄| 日本韩国精品一区二区在线观看| 性做久久久久久久免费看| 国产精品久久久爽爽爽麻豆色哟哟| 日韩一二三四区| 日韩欧美国产不卡| 精品99999| 欧美激情综合五月色丁香 | 日韩av网站免费在线| 一区二区三区在线影院| 亚洲一卡二卡三卡四卡无卡久久| 一区二区在线观看av| 亚洲午夜久久久久久久久久久 | 综合激情成人伊人| 亚洲丝袜精品丝袜在线| 亚洲123区在线观看| 免费观看成人av| 国产盗摄精品一区二区三区在线| 高清不卡一二三区| 色欧美片视频在线观看 | 美女尤物国产一区| 粗大黑人巨茎大战欧美成人| 日韩一区二区在线播放| 久久免费国产精品| 欧美高清你懂得| 欧美日韩一区二区不卡| 91蝌蚪porny| 久久99精品久久久| 亚洲成av人片在线| 日韩综合一区二区| 国产精品中文有码| 色综合天天综合狠狠| 欧美日韩一卡二卡| 久久综合色播五月| 亚洲品质自拍视频| 国产精选一区二区三区| 欧美午夜不卡在线观看免费| 久久精品夜夜夜夜久久| 午夜亚洲国产au精品一区二区| 韩国理伦片一区二区三区在线播放 | 91精品一区二区三区在线观看| 亚洲精品一区二区三区蜜桃下载| 一区二区三区不卡视频| 成人性生交大片免费看视频在线| 欧美精品色综合| 亚洲精品视频观看| caoporm超碰国产精品| 国产日韩欧美高清在线| 蜜桃精品在线观看| 欧美三区在线视频| 亚洲国产视频直播| 日本韩国视频一区二区| 亚洲人精品午夜| 94-欧美-setu| 亚洲欧美色图小说| 99久久婷婷国产综合精品电影| 久久综合九色欧美综合狠狠| 精品一区二区三区免费观看 | 日本成人在线网站| 欧美视频一区二区三区四区| 亚洲人被黑人高潮完整版| 亚洲色图第一区| 国产超碰在线一区| 久久久亚洲精华液精华液精华液| 亚洲综合一区二区| 91久久国产综合久久| 中文字幕亚洲综合久久菠萝蜜| 国产精品一区免费视频| 欧美一区二区成人6969| 免费国产亚洲视频| 欧美色视频在线观看| 亚洲午夜av在线| 欧美一区二区三区免费在线看| 亚洲成人久久影院| 日韩三级av在线播放| 国产一区二区免费看| 国产精品伦理一区二区| 91蜜桃传媒精品久久久一区二区| 中文字幕一区二区三区av| 在线视频国内自拍亚洲视频| 首页综合国产亚洲丝袜| 欧美一级精品大片| 国产91精品一区二区麻豆网站| 亚洲欧美综合网| 波多野洁衣一区| 亚洲一区二三区| 日韩女优电影在线观看| 国产成人av影院| 亚洲人成7777| 欧美一级电影网站| 成人黄动漫网站免费app| 一区二区三区产品免费精品久久75| 91麻豆精品国产91久久久使用方法 | 亚洲专区一二三| 欧美不卡一区二区| 91蜜桃婷婷狠狠久久综合9色| 亚洲成人精品在线观看| 国产女人18水真多18精品一级做| 91九色02白丝porn| 不卡大黄网站免费看| 蜜桃免费网站一区二区三区| 日韩一区中文字幕| www亚洲一区| 欧美色图天堂网| av电影在线观看不卡| 久久99国产精品久久99| 夜夜嗨av一区二区三区网页| 亚洲婷婷在线视频| 国产伦精品一区二区三区免费迷| 黄色日韩网站视频| 99re热视频精品| 亚洲线精品一区二区三区| 亚洲激情综合网| 久久99国产精品麻豆| 东方欧美亚洲色图在线| 色诱视频网站一区| 日韩丝袜美女视频| 久久久久国色av免费看影院| 国产精品久久久久9999吃药| 亚洲午夜久久久| 国产一区二区女| 97精品久久久久中文字幕| 91亚洲午夜精品久久久久久| 在线看一区二区| 7777精品伊人久久久大香线蕉的| 8x8x8国产精品| 欧美日韩一级视频| 日韩欧美的一区二区| 2019国产精品| 中文字幕一区二区在线播放 | 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲成人免费在线观看| 视频一区欧美日韩| 国产精品一区在线观看你懂的| av一二三不卡影片| 日韩欧美中文一区| 一区二区在线观看免费视频播放| 青青国产91久久久久久| 成人精品一区二区三区四区| 99久久精品免费看| 精品久久久久久无| 日本v片在线高清不卡在线观看| 成人免费视频视频在线观看免费| 制服丝袜av成人在线看| 亚洲国产高清在线观看视频| 免费一级欧美片在线观看| 91福利视频在线| 美女免费视频一区二区| 色屁屁一区二区| 亚洲欧洲日韩在线| 成人国产精品免费观看视频| 久久人人97超碰com| 麻豆91精品视频| 欧美一区二区三区四区久久| 日本不卡在线视频| 91丨porny丨首页| 蜜桃视频在线一区| 色噜噜狠狠色综合欧洲selulu| 欧美极品美女视频| 国产一区二区三区免费在线观看| 欧美剧情片在线观看| 婷婷一区二区三区| 欧美另类一区二区三区| 亚洲成人黄色小说| 91麻豆精品国产无毒不卡在线观看| 性欧美大战久久久久久久久| 欧美精品v国产精品v日韩精品| 水蜜桃久久夜色精品一区的特点| 欧美一二三在线| 国产一区二区三区精品视频| 亚洲区小说区图片区qvod| 精品视频999| 国产成人av一区二区三区在线 | 亚洲国产日韩在线一区模特 | 久久新电视剧免费观看| 成人av影视在线观看| 亚洲综合一区二区| 欧美一区二区三区系列电影| 久久精品国产亚洲高清剧情介绍 | 国产成人在线色| 亚洲精品乱码久久久久久黑人| 在线视频综合导航| 91精品在线观看入口| 成人开心网精品视频| 日韩电影在线免费观看| 一区二区三区日本|