亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 開(kāi)發(fā) > Java > 正文

java實(shí)現(xiàn)連連看游戲

2024-07-14 08:43:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了java實(shí)現(xiàn)連連看游戲的具體代碼,供大家參考,具體內(nèi)容如下

代碼會(huì)實(shí)現(xiàn)共享的,這個(gè)是截圖

java,連連看,游戲

代碼:

package com.lr.bean;import java.util.Scanner;import java.util.Random;import com.lr.bean.Point; public class Link{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("=========================="); System.out.println("/t/t連連看小游戲"); System.out.println("/t/t版權(quán):lr"); System.out.println("==========================");  System.out.println("請(qǐng)先輸入圖片數(shù)量(難度系數(shù) 1~9):"); int picnum=sc.nextInt();  System.out.println("請(qǐng)輸入棋盤(pán)的行數(shù):"); int rows=sc.nextInt();  int cols=0; //列數(shù) int count=0; //計(jì)數(shù)器 do{ if (count>0){ System.out.println("輸入有誤,列數(shù)必須大于0!"); } System.out.println("請(qǐng)輸入棋盤(pán)列數(shù):"); cols=sc.nextInt(); count++; }while( cols<1 || cols%2!=0); //創(chuàng)建二維數(shù)組,生成棋盤(pán),列數(shù)+2的原因:做出邊框的效果 數(shù)組剛剛生成時(shí),每個(gè)元素都是0 int[][] chessboard=new int[ rows+2 ][ cols+2];  //隨機(jī)生成的圖片數(shù)值存入這個(gè)二維數(shù)組中,注意:邊框不存值,任為0 initBoard( chessboard ,picnum); System.out.println("初始化后的棋盤(pán)為:"); showBoard2( chessboard); //打亂棋盤(pán) shuffle( chessboard ); //輸出 System.out.println("打亂后的棋盤(pán)為:"); showBoard2( chessboard);  //實(shí)現(xiàn)消除業(yè)務(wù) // 1.定義兩個(gè)Point對(duì)象 Point p1=new Point(); Point p2=new Point(); // 2.游戲狀態(tài) isGameOver boolean isGameOver=false; do{ // 3.循環(huán)輸入兩個(gè)點(diǎn) do...while System.out.println("請(qǐng)輸入兩個(gè)點(diǎn)的坐標(biāo)"); p1.x=sc.nextInt(); p1.y=sc.nextInt(); p2.x=sc.nextInt(); p2.y=sc.nextInt(); // 4.判斷這兩個(gè)數(shù)是否可以消除 if( isErazeOk( chessboard,p1,p2)){ //如果可以消除,將這兩個(gè)點(diǎn)在chessboard 中的值都設(shè)為0 chessboard[p1.x][p1.y]=0; chessboard[p2.x][p2.y]=0; if( checkGameOver( chessboard )){  isGameOver=true; } } //顯示消除后的棋盤(pán) showBoard2( chessboard ); }while( !isGameOver ); System.out.println("游戲結(jié)束!"); }  //判斷是否能消除的業(yè)務(wù) public static boolean isErazeOk(int[][] chessboard ,Point p1,Point p2){ // 1.兩個(gè)點(diǎn)不是同一個(gè) if( p1.equals( p2) ){ System.out.println("輸入的兩個(gè)點(diǎn)位置不能相同!"); } // 2。兩個(gè)點(diǎn)的值是否相等 if(chessboard[p1.x][p1.y] !=chessboard[p2.x][p2.y]){ System.out.println("輸入的兩個(gè)點(diǎn)值不相同!請(qǐng)重新輸入"); return false; } // 3.判斷兩個(gè)點(diǎn)的連線情況 if( doOneLine(chessboard,p1,p2) || doTwoLine(chessboard,p1,p2) || doThreeLine(chessboard,p1,p2)){ return true; } return false; }  // 1連線 public static boolean doOneLine(int[][] chessboard,Point p1,Point p2){ //定義最大值和最小值 int max=0; int min=0; //判斷是循環(huán)行還是循環(huán)列 if( p1.x==p2.x){ //找y的最大值、找y的最小值、循環(huán)從 min+1 至 max-1、判斷是否為0、如果中間有一個(gè)不為0,則返回 false max=p1.y>p2.y?p1.y:p2.y; min=p1.y<p2.y?p1.y:p2.y; for(int i=min+1;i<max;i++){  if(chessboard[p1.x][i]!=0){  return false;  } } return true; }else if( p1.y==p2.y){ //找x的最大值、找x的最小值、循環(huán)從 min+1 至 max-1、判斷是否為0、如果中間有一個(gè)不為0,則返回 false max=p1.x>p2.x?p1.x:p2.x; min=p1.x<p2.x?p1.x:p2.x; for(int i=min+1;i<max;i++){ if(chessboard[i][p1.y]!=0){  return false; } } return true; } return false; }  // 2連線 public static boolean doTwoLine(int[][] chessboard,Point p1,Point p2){ //定義兩個(gè)臨時(shí)點(diǎn) Point t1=new Point(); t1.x=p1.x; t1.y=p2.y;  Point t2=new Point(); t2.x=p2.x; t2.y=p1.y;  if( chessboard[t1.x][t1.y]==0 && doOneLine(chessboard, p1,t1 ) && doOneLine(chessboard, t1,p2) ){ return true; } if( chessboard[t2.x][t2.y]==0 && doOneLine(chessboard, p1,t2 ) && doOneLine(chessboard, t2,p2) ){ return true; } return false; }  // 3連線 public static boolean doThreeLine(int[][] chessboard,Point p1,Point p2){ //先循環(huán)行 :x for( int i=0;i<chessboard.length;i++){ Point t=new Point(); t.x=i; t.y=p1.y; if( chessboard[t.x][t.y]==0 && doOneLine(chessboard,t, p1) && doTwoLine(chessboard, t,p2) ){ return true; } } //再循環(huán)列 :y for( int i=0;i<chessboard.length;i++){ Point t=new Point(); t.x=p1.x; t.y=i; if( chessboard[t.x][t.y]==0 && doOneLine(chessboard,t, p1) && doTwoLine(chessboard, t,p2) ){ return true; } } return false; }  //判斷游戲是否結(jié)束:循環(huán)這個(gè)數(shù)組,判斷所有的位置都為0 public static boolean checkGameOver(int[][] chessboard){ for(int i=1;i<chessboard.length-1;i++){ for(int j=1;i<chessboard[i].length-1;j++){ if( chessboard[i][j]!=0 ){  return false; } } } return true; }   public static void initBoard(int[][] chessboard,int picnum){ Random r=new Random(); for( int i=1;i<chessboard.length-1;i++){ for(int j=1;j<chessboard[i].length-1;j=j+2){ int pic=r.nextInt( picnum )+1; chessboard[i][j]=pic; chessboard[i][j+1]=pic; } } }  //打亂棋盤(pán),只能對(duì)中間的值打亂,而不能打擾邊框 //交換數(shù)組的兩個(gè)值 ,隨機(jī)生成的四個(gè)下標(biāo),每個(gè)下標(biāo)表示一個(gè)數(shù) x1,y1 x2,y2 =》 chessboard【x2】【y1】 將上面兩個(gè)數(shù)交換 //概率:棋盤(pán)越大,交換越多 public static void shuffle(int[][] chessboard ){ Random r=new Random(); int x1=0; int y1=0; int x2=0; int y2=0; int temp=0; for(int i=0;i<chessboard.length*chessboard[0].length*10;i++){ //生成的四個(gè)下標(biāo),不能為0,也不能為 length-1 x1=r.nextInt( chessboard.length-2 )+1; y1=r.nextInt( chessboard[0].length-2 )+1; x2=r.nextInt( chessboard.length-2 )+1; y2=r.nextInt( chessboard[0].length-2 )+1; //完成交換 temp=chessboard[x1][y1]; chessboard[x1][y1]=chessboard[x2][y2]; chessboard[x2][y2]=temp; } } //簡(jiǎn)單的輸出 public static void showBoard(int[][] chessboard){ for(int i=0;i<chessboard.length;i++){ for(int j=0;j<chessboard[i].length;j++){  System.out.print(chessboard[i][j]+"/t"); } System.out.println(); } }  //私有方法:專(zhuān)門(mén)用來(lái)輸出棋盤(pán)最上面和最下面要出現(xiàn)的列號(hào) private static void showColsNum( int[][] chessboard ){ for(int i=0;i<chessboard[0].length;i++){ if( i==0 || i==chessboard[i].length-1){  System.out.print("/t"); }else{  System.out.print("*"+i+"/t"); } } System.out.println();   }  //帶行列提示的輸出 public static void showBoard2( int[][] chessboard){ showColsNum( chessboard );//輸出error:列號(hào) //中間完成棋盤(pán) for(int i=0;i<chessboard.length;i++ ){ //加入前面行號(hào)的輸出 if( i==0 || i==chessboard[i].length-1){  System.out.print(" "); }else{ System.out.print(""+i); } for(int j=0;j<chessboard[i].length;j++){ //邊框要用 * 來(lái)修飾 if( i==0 || j==0 || i==chessboard.length-1 || j==chessboard[i].length-1){  if( j==chessboard[i].length-1){  System.out.print(" # ");  }else{  System.out.print(" #/t");  } }else{//不是邊框,就輸出數(shù)組中對(duì)應(yīng)的數(shù)字  if( chessboard[i][j]==0){  System.out.print(" /t");  }else{  System.out.print(" "+chessboard[i][j]+"/t");  } } } //加入后面的行號(hào) if( i==0 || i==chessboard.length-1){ System.out.print(" "); }else{ System.out.print(""+i); } System.out.println(); } showColsNum( chessboard );//輸出列號(hào)  } }

 

Point類(lèi)沒(méi)有寫(xiě)出來(lái)了,比較簡(jiǎn)單,里面就存了兩個(gè)數(shù)據(jù),表示數(shù)字的行和列,就不上圖了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产成人精品一区二区三区在线| 久久日本片精品aaaaa国产| 国产精品乱战久久久| 69日小视频在线观看| 亚洲人成在线播放网站岛国| 香蕉加勒比综合久久| 日本中文字幕不卡| 亚洲精品国偷自产在线99热| 国产偷激情在线| 国内精品福利视频| 亚洲性视频大全| 国产一二三区在线观看| 91在线观看免费视频| 一本一本a久久| 国产精选久久| 午夜视频1000| 日本三级免费看| 国产精品一区二区人妻喷水| 亚洲第一视频网站| 国产精品视频在线观看| 国产一区二区三区国产精品| 亚洲精品成人在线播放| 久久99精品久久久久久青青日本| 欧美男gay| 一本久道久久综合中文字幕| 午夜影院在线免费观看| 一道本一区二区| 亚洲三级视频在线观看| 国产成人无遮挡在线视频| 日本五十路女优| 中国女人内谢69xxx视频| 2018国产精品| 蜜桃tv在线播放| 中文字幕在线一区二区三区| 99久久精品一区二区三区| 亚洲精品乱码视频| 色av手机在线| 青春草视频在线观看| 国产一区二区三区天码| 在线视频国产日韩| 中文字幕在线日韩| 99在线观看视频| 日韩视频在线观看国产| 欧美人与禽猛交乱配| 日本免费网站| 欧美多人野外伦交| 欧美精品一区二区三区精品| www在线观看播放免费视频日本| 精品一二三四五区| 国产精品丝袜在线播放| 日本一级淫片免费放| 午夜精品久久久久久久第一页按摩| 欧美极品欧美精品欧美| 久久精品最新地址| 欧美久久久久久久久久久久久| 成人免费视频| 波多野结衣在线网站| 同心难改在线观看| 免费成人在线观看视频| 国产婷婷精品av在线| 国产亚洲欧洲997久久综合| 中文字幕中文字幕在线一区| 国产一区二区三区在线观看免费视频| 午夜久久久久| 你懂的视频在线免费| 亚洲一区视频在线观看视频| 欧美一级高清片在线观看| aaaaa级少妇高潮大片免费看| 日产国产精品精品a∨| 久操视频在线观看免费| 超碰91在线观看| 国产精品96久久久久久又黄又硬| 中文永久免费观看| 久久网一区二区| 99精品视频一区| 男女视频一区二区三区| 欧美另类精品xxxx孕妇| 黄色一级视频播放| 天堂a中文在线| 九色网友自拍视频手机在线| 97免费高清电视剧观看| 亚洲综合偷拍欧美一区色| 综合天堂久久久久久久| 久久国产美女视频| 亚洲人视频在线观看| 中文久久精品| 91av在线播放视频| 亚洲精品乱码久久久久久黑人| 久久人人爽人人爽人人片亚洲| 国产av人人夜夜澡人人爽| 国产精品mv在线观看| 国产男女无套免费网站| 在线播放av网站| 丰满少妇高潮在线观看| 国产精品流白浆视频| 欧美福利视频在线| 欧洲精品在线视频| 久久一区激情| 2欧美一区二区三区在线观看视频| 日韩欧美中文字幕精品| 五月天激情国产综合婷婷婷| 国产成人+综合亚洲+天堂| 国产三级视频网站| aaaaa级少妇高潮大片免费看| 国产成人精品片| 国产欧美综合在线观看第十页| 91欧美国产| 亚洲蜜桃精久久久久久久久久久久| 韩国三级电影久久久久久| 中文天堂在线视频| 国产视频一区不卡| 中文字幕av在线播放| 成人亚洲激情网| 狠狠色henhense| 91精品在线国产| 亚洲欧美三级伦理| 亚洲精品欧美在线| 好久没做在线观看| 91蜜桃婷婷狠狠久久综合9色| 欧美日韩一区免费| 日韩免费观看高清完整版| 亚洲色无码播放| 五月天精品一区二区三区| 久久黄色精品视频| 在线观看中文字幕网站| 99九九99九九九视频精品| 天堂精品中文字幕在线| 欧美另类在线视频| 免费 成 人 黄 色| 久久精品国产亚洲夜色av网站| 国产日产高清欧美一区二区三区| 日本日本19xxxⅹhd乱影响| 国产精品福利小视频| 日韩欧美国产系列| 色999国产精品| 久久躁日日躁aaaaxxxx| 久久久久亚洲天堂| 国产99视频在线观看| 免费高清特黄a大片| 日韩在线精品强乱中文字幕| 十大黄色软件免费看| 中文字幕精品一区| 天堂99x99es久久精品免费| 亚洲成人黄色片| 精品影片一区二区入口| 先锋成人av| 欧美日韩国产一二三区| 亚洲一区二区三区四区五区xx| 夜夜躁狠狠躁日日躁婷婷小说| 免费一二一二在线视频| 亚洲日本欧美| 欧美三级一区二区| 性生交大片免费全黄| 在线看国产精品| jizzjizz在线| 18视频在线观看| 国产欧美日韩一区二区三区在线| 先锋影音在av资源看片| 在线亚洲精品福利网址导航| 四虎永久网址| 欧美精品video| 久草福利在线| 大伊人狠狠躁夜夜躁av一区| 日日噜噜噜夜夜爽爽| 欧美一级手机免费观看片| 男人靠女人免费视频网站| 中文字幕+乱码+中文乱码www| 蜜桃视频免费观看一区| 一本大道综合伊人精品热热| 日本女优在线视频一区二区| 97视频在线免费播放| 国产又粗又硬又长又爽| 中文字幕av一区二区三区谷原希美| 色综合蜜月久久综合网| 国内高清免费在线视频| 亚洲一级一区| 久久综合狠狠综合久久综合88| 白白操在线视频| 91精品久久久久久久99蜜桃| 欧美日韩亚洲一区二区| 欧美午夜春性猛交xxxx| 青青久在线视频免费观看| 亚洲精品18在线观看| av大大超碰在线| 美女把尿口扒开给男人桶视频| 国产剧情av麻豆香蕉精品| av网站免费在线| 国语对白永久免费| 国产在线精品视频| 亚洲国产精品无码久久久久高潮| 三级网站在线播放| 精品中文字幕视频| 免费无遮挡无码永久在线观看视频| 又色又爽的视频| 成人中文在线| 97精品超碰一区二区三区| 导航艳情国产电影| 久久资源综合| 无码av免费精品一区二区三区| 男生草女生视频| 91黄页在线观看| 大香伊人久久精品一区二区| 美国欧美日韩国产在线播放| 日韩a级作爱片一二三区免费观看| 漫画在线观看av| 精品一区二区成人免费视频| 韩国专线一区二三区| 夜夜躁狠狠躁日日躁av| 亚洲不卡1卡2卡三卡2021麻豆| 潘金莲一级淫片aaaaaaa| 欧美午夜不卡影院在线观看完整版免费| 欧美性生交xxxxx久久久| 国产情侣在线视频| 日韩精品综合在线| 一级片在线免费看| www.激情五月.com| 李宗瑞系列合集久久| 欧美日韩久久一区| 2012中文字幕在线视频| 欧美午夜性囗交xxxx| 日韩一区二区电影| 欧美亚洲精品一区二区| 久久久在线免费观看| 一区二区三区成人精品| 91精品中国老女人| 亚洲男帅同性gay1069| 久久久精品成人| 亚洲成人日韩在线| 亚洲欧美日韩国产综合精品二区| 精品国产不卡一区二区| 亚洲第一影院| www.国产在线| 亚洲天堂男人av| 亚洲91av| 天堂av一区二区三区| 免费成人在线网站| 婷婷亚洲天堂| 亚洲精品成人a在线观看| 成人网18免费软件大全| 草色在线视频| 亚洲精品中文综合第一页| 成人网在线免费看| 亚洲第一视频网| 黄视频在线免费| 亚洲福利网站| 好吊色视频988gao在线观看| 免费精品在线视频| 樱桃视频免费看| www.亚洲男人天堂| 在线播放成人av| 天天av天天翘| 桃花岛tv亚洲品质| 国产精品99久久免费黑人人妻| 精品国产99国产精品| 成人同人动漫免费观看| 欧美日韩精品亚洲精品| 最近中文字幕mv免费高清在线| 久久成人综合网| caopeng视频| 精品无码av一区二区三区| 加勒比在线一区二区三区观看| 国产农村妇女毛片精品久久| 日本熟妇毛茸茸丰满| 亚洲日产国产精品| 91肉色超薄丝袜脚交一区二区| 国产一区2区在线观看| 日本欧美www| 3atv一区二区三区| 久久免费小视频| 精品人妻一区二区三区蜜桃视频| 好吊日视频在线观看| 国产一区视频在线看| 综合婷婷亚洲小说| 黄色动漫免费网站| av大片免费观看| 久草热视频在线观看| 久久青草欧美一区二区三区| 精品人妻人人做人人爽夜夜爽| av黄色一级片| 欧美做爰猛烈大尺度视频| 国产成人一二三区| 高清在线不卡av| 免费看的av| 欧美高清在线观看| 亚洲av网址在线| 久久久久久久久久福利| 亚洲激情av在线| 亚洲午夜精品一区二区| wwwwxxxx在线观看| 欧美丝袜丝交足nylons| 色琪琪一区二区三区亚洲区| 香蕉视频xxxx| 性欧美1819sex性高清| 欧美亚洲精品一区| 影音先锋中文字幕一区| 欧美疯狂做受xxxx高潮| 亚洲男人天堂久久| 欧美中日韩一区二区三区| 国产日产精品1区| 一道精品视频一区二区三区图片| 亚洲精选91| 亚洲成人五区| 色诱色偷偷久久综合| 亚洲激情黄色| 中文字幕av在线播放| 免费观看成人在线| 国产小视频国产精品| 日产乱码一卡二卡三免费| 91免费在线播放视频| 亚洲欧美综合区自拍另类| 亚洲国产欧美国产综合一区| 欧美精品色网| 国产高潮久久久| 一道本在线观看视频| 欧美老少配视频| 亚洲国产激情av| 欧美成人禁片在线观看网址| 91综合久久一区二区| 成 人 黄 色 片 在线播放| 欧美日韩免费一区二区三区视频| 好男人免费精品视频| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品美女免费视频| 6080日韩午夜伦伦午夜伦| 麻豆mv在线观看| 另类专区欧美制服同性| 欧美乱人伦中文字幕在线| 一级黄色在线视频|