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

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

?? grid.java

?? 玩兒地雷游戲 猜字母 連續點擊的兩個字母相同則翻開 不同則全都蓋上重新來 直到把所有的字母打開
?? JAVA
字號:
import java.lang.Integer;
import java.io.PrintStream;
import java.lang.StringBuffer;
/**
 * The Grid class represents the grid of cards arranged by row and column.
 *
 * The default size of the grid is 4 x 6, but this is configurable. 
 * Maximum supported size for grid is 26 x 9. 
 * 
 * @author Terri Paik
 * @author Zhu Jing
 * StudentID:0631118
 * Project: 3
 * Date:2009/04/02
 */
public class Grid {
    private Card[][] cards;
    /* Default values */
    private int numRows = 4;                            
    private int numCols = 6;
    private String possibleValues = "OPQRSTUVWXYZ";

    
    /**
     * Creates a new default grid.
     */
    public Grid() {
        createRandomGrid();

    }


    /**
     * Creates a new grid with specific size and possible values. 
     *
     * @param config The configuration properties. 
     * Three properties from <code>config</code> will be processed IF
     * they exist: <br>
     * <code>grid.rows</code> is the number of rows.<br> 
     * <code>grid.cols</code> is the number of columns. <br>
     * <code>grid.possibleValues</code> is a String containing possible 
     * character values for the grid. The length of possibleValues will be 
     * exactly half of (rows * cols). 
     */
    public Grid(Config config) {
        /* TO DO!
         * Implement this constructor. 
         * Read the properties from config to set numRows, numCols, and 
         * possibleValues fields. If the property does not exist, just keep
         * the default value (do nothing). 
         * 
         * Then call createRandomGrid().
         *
         * See Game(String) constructor for how to use the Config object.
         */
		 String s1=config.getProperty("grid.rows");
		 String s2=config.getProperty("grid.cols");
         String s3=config.getProperty("grid.possibleValues");

		 if(s1!=null)
			 numRows=Integer.parseInt(s1);
		 if(s2!=null)
			 numCols=Integer.parseInt(s2);
		 if(s2!=null)
			 possibleValues=s3;

		 createRandomGrid(); 
        
		 
    }


    /**
     * Populates the cards[][] array in a random fashion. 
     * 
     * There must be two cards created from each character in possibleValues.
     * They must be arranged in random order on the grid.  
     */
    private void createRandomGrid() {
        /* TO DO!
         * Implement this method
         */
		 StringBuffer strBuffer=new StringBuffer();
		 for(int i=0;i<2;++i)
		   	strBuffer.append(possibleValues);
	     cards=new Card[numRows][numCols];
		 if(strBuffer.length()==numRows*numCols)
		 {
			for(int i=0;i<numRows;++i)
				for(int j=0;j<numCols;++j)
			{
				int k=(int)Math.floor(Math.random()*strBuffer.length());
				cards[i][j]=new Card(strBuffer.charAt(k));
				strBuffer.deleteCharAt(k);
			}
		 }
		 else
			throw new AssertionError();
    }


    /**
     * Gets a card at the specified grid location.
     * For example, if the location is "b2", then the Card at cards[1][1] is 
     * returned. 
     * If the location string is not valid, return null.
     * 
     * @param location a String such as "b2" where the 
     * first character is the row (<code>a, b, c</code>, etc) and the 
     * second character is the column (<code>1, 2, 3</code>, etc).
     * @return the Card at the location specified, or null if the location 
     * is invalid. 
     */
    public Card getCard(String location) {
        /* TO DO!
         * Implement this method.
         */
		 char c1=(char)(numRows+97-1);
		 if(location.matches("[a-" + c1 +"][1-" + numCols+"]"))
		{
			 int i =location.charAt(0);
			 char c2=location.charAt(1);
			 int j=i-97;
			 int k =Integer.parseInt(c2 + "")-1;
			 return cards[j][k];
		}
		return null;
    }


    /**
     * Tests whether this Grid has been completely solved. 
     * 
     * @return true if all cards are facing up, false otherwise.
     */
    public boolean isSolved() {
        /* TO DO!
         * Implement this method.
         */
		 int num=0;
	     for(int i=0;i<numRows;i++)
		     for(int j=0;j<numCols;j++)
		         if (cards[i][j].isFacingUp())
		             ++num;

		 return (num==numRows*numCols);

    }


    /**
     * Prints the grid to stdout, including the row and column headers.
     */
    public void print() {
        System.out.println();

        // Print header
        System.out.print(" ");
        for (int i = 0; i < numCols; i++) {
            System.out.print(" " + (i + 1));
        }
        System.out.println();

        // Print each row
        int i = 0;
        char col = 'a';
        for (; i < numRows; i++, col++) {
            System.out.print(col + " ");
            for (int j = 0; j < numCols; j++) {
                cards[i][j].print();
                System.out.print(" ");
            }
            System.out.println();
        }

        System.out.println();
    }
}

/*private int FacingUpNum(){
	int num=0;
	for(int i=0;i<numRows;i++)
		for(int j=0;j<numCols;j++)
		   if (cards[i][j].isFacingUp())
		      ++num;

	return num;
		
}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频三区在线播放| 久久久久久久久97黄色工厂| 色婷婷综合久久久中文一区二区| 国产麻豆日韩欧美久久| 国产精品自拍网站| 国产成人在线影院| 成人三级在线视频| www.av精品| 色偷偷88欧美精品久久久| 91久久精品一区二区二区| 欧美日韩中文一区| 56国语精品自产拍在线观看| 欧美一区二区免费| 精品1区2区在线观看| 国产色产综合产在线视频| 国产精品美女一区二区在线观看| 国产精品丝袜一区| 亚洲精品国产a| 天天做天天摸天天爽国产一区| 视频一区二区三区在线| 免费高清视频精品| 国产精品1024| 91蜜桃网址入口| 欧美精品日韩一区| 精品盗摄一区二区三区| 欧美激情一区二区三区在线| 亚洲欧洲综合另类| 亚洲福利视频导航| 精品一区二区久久| 99r精品视频| 欧美日韩国产小视频| 精品处破学生在线二十三| 欧美国产在线观看| 亚洲综合自拍偷拍| 老司机免费视频一区二区| 国产成a人亚洲精品| 欧美性生活一区| 久久综合色8888| 樱花影视一区二区| 狠狠色综合日日| 91毛片在线观看| 日韩欧美国产1| 亚洲欧美日韩国产中文在线| 麻豆精品视频在线| 99精品视频中文字幕| 欧美丰满嫩嫩电影| 中文字幕亚洲一区二区av在线| 午夜影院久久久| 国产成人一级电影| 欧美日韩国产一区二区三区地区| 久久久99免费| 亚洲v中文字幕| 丁香天五香天堂综合| 欧美人牲a欧美精品| 国产人成亚洲第一网站在线播放 | 一区二区三区av电影| 美女被吸乳得到大胸91| 一区二区免费在线播放| 亚洲激情图片小说视频| 久久精品99国产国产精| 欧美专区日韩专区| 国产精品视频免费看| 日韩精彩视频在线观看| 99国产精品久久久久久久久久| 日韩免费观看2025年上映的电影| 亚洲美女在线一区| 国产精品伊人色| 欧美一区二区视频在线观看2020| 亚洲欧洲综合另类| 国产99久久久精品| 久久婷婷久久一区二区三区| 日韩精品亚洲一区二区三区免费| a美女胸又www黄视频久久| 精品国产精品一区二区夜夜嗨| 亚洲国产欧美日韩另类综合 | 日韩一区二区三区视频在线观看| 亚洲精品中文字幕在线观看| 国产精品综合视频| 精品日韩欧美在线| 日韩高清欧美激情| 欧美日韩国产三级| 一区二区三区在线免费视频| 春色校园综合激情亚洲| 久久久99免费| 国内精品嫩模私拍在线| 日韩一区二区三区四区五区六区| 亚洲国产精品一区二区www| 91在线观看一区二区| 国产精品每日更新| 国产成人免费视频网站高清观看视频| 日韩色在线观看| 免费高清在线视频一区·| 欧美精品第1页| 日韩影院精彩在线| 欧美日韩情趣电影| 五月天激情综合网| 7777精品伊人久久久大香线蕉完整版 | 中文字幕av免费专区久久| 美女www一区二区| 欧美成人精精品一区二区频| 麻豆精品一区二区三区| 精品三级在线观看| 久久99精品国产91久久来源| 日韩三级精品电影久久久| 六月婷婷色综合| 亚洲精品一区在线观看| 久久福利资源站| 久久久综合九色合综国产精品| 国内不卡的二区三区中文字幕 | 91精品啪在线观看国产60岁| 视频精品一区二区| 91精品国产一区二区三区| 舔着乳尖日韩一区| 精品少妇一区二区三区在线播放| 激情五月播播久久久精品| 久久影院午夜论| 成人av网站在线| 亚洲色图另类专区| 欧美日韩黄色影视| 天堂成人国产精品一区| 成人一级片网址| 日韩毛片视频在线看| 日本道色综合久久| 丝袜亚洲精品中文字幕一区| 日韩午夜在线影院| 岛国一区二区在线观看| 亚洲精品欧美激情| 日韩一级精品视频在线观看| 国内精品视频666| 日韩码欧中文字| 欧美日韩国产一二三| 国产一区二区免费看| 亚洲私人黄色宅男| 欧美日韩二区三区| 精品一区二区在线免费观看| 国产精品久久三| 欧美色成人综合| 国模套图日韩精品一区二区| 中文字幕一区在线| 欧美日韩五月天| 韩国在线一区二区| 一区二区免费视频| 欧美精品一区二区三区四区| 97久久精品人人澡人人爽| 日韩国产成人精品| 欧美国产一区在线| 欧美丰满嫩嫩电影| 成人毛片老司机大片| 日日夜夜免费精品| 中文字幕精品一区二区精品绿巨人 | 国产精品资源网| 亚洲欧美日韩成人高清在线一区| 日韩你懂的电影在线观看| 99精品热视频| 精品一区二区日韩| 亚洲综合一区二区精品导航| 国产亚洲欧美一级| 欧美日韩国产小视频在线观看| 国产成人精品免费视频网站| 天天综合天天综合色| 国产欧美精品一区二区色综合| 欧美日韩国产精选| 成人av网站在线| 国产曰批免费观看久久久| 亚洲一区在线观看网站| 国产精品天美传媒沈樵| 日韩欧美国产系列| 欧美日韩在线电影| 成人一道本在线| 国内精品伊人久久久久av一坑 | 欧美亚洲综合另类| 北条麻妃国产九九精品视频| 精品一区二区日韩| 天天色天天操综合| 亚洲久本草在线中文字幕| 久久久久久免费网| 欧美成人在线直播| 欧美日韩国产综合久久| 一本久久综合亚洲鲁鲁五月天 | 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲天堂久久久久久久| 久久先锋影音av| 欧美一区2区视频在线观看| 色女孩综合影院| 99天天综合性| 高清beeg欧美| 国产精品一区在线| 亚洲国产日韩综合久久精品| 2023国产精华国产精品| 日韩一级片网站| 91精品国产乱| 欧美日韩一区二区三区四区五区| 91麻豆国产精品久久| 丁香一区二区三区| 丁香五精品蜜臀久久久久99网站| 国产精品一区专区| 国产成人午夜精品影院观看视频| 精品一区二区三区免费| 另类欧美日韩国产在线| 麻豆精品一区二区av白丝在线|