此主題討論共計 1 篇文章。
| Peter | 僅瀏覽本文 | 回覆 | 回信 | 轉寄 | |
|---|---|---|---|
| 我們學校是用JCreator寫的 目前程式碼如下 還要加或改什麼才能正常執行呢? =================================== class MineBox { int bState; //格子內容值 boolean isOpened; //格子是否翻開 MineBox() //建構式 { //設初值 } void show() //顯示單一格子 { //顯示內容或# } int hit() { //設定翻開並傳回內容值 } } class MineGame { MineBox[][]mMap; //地雷地圖 int bx, by; //地圖邊界 int mineNum; //地雷個數 int openCnt; //翻開格子數 MineGame(int ibx, int iby) //建構式 { bx=ibx; by=iby; openCnt=0; //設定地雷個數 mMap=new MineBox[bx][by]; for(int fx=0;fx<bx;fx++) for(int fy=0;fy<by;fy++) mMap[fx][fy]=new MineBox(); randomMine(); //亂數產生地雷位置 showMap(); //顯示地圖 } boolean check(int ix, int iy) //檢查地圖邊界 { if(ix<0||ix>=bx||iy<0||iy>=by) return false; //超出邊界傳出假 else return true; //界內傳真 } void randomMine() //亂數設定地雷 { //連續擺放mineNum個地雷 for(int i=0;i<10000;i++) { //亂數產生兩座標 //交換兩座標格子之bState } for(int fx=0;fx<bx;fx++) //掃描所有格子並設定bState for(int fy=0;fy<by;fy++) { //如果格子內是地雷就跳過 mMap[fx][fy].bState=0; //清空地雷計數 for(int lx=fx-1;lx<=fx+1;lx++) //掃描對應九宮格 for(int ly=fy-1;ly<=fy+1;ly++) { //超出邊界的格式需略過 if(mMap[lx][ly].bState==9) mMap[fx][fy].bState++; } } } void showMap() //顯示地圖 { //印出X座標 ABC... //印出地雷個數及翻開格子數 for(int fy=0;fy<by;fy++) //依序印出格子容 { System.out.print(fy+1); //印出開頭Y座標 123... for(int fx=0;fx<bx;fx++) //將fy列的所有格子內容顯示在螢幕 mMap[fx][fy].show(); } } boolean hitBox(int ix, int iy) //點擊地圖座標(ix,iy) { //如果格子已翻開,返回 //翻開格子數遞增1 int rlt=mMap[ix][iy].hit(); //點擊該MineBox if(rlt==9) return false; //若得到9表示踩到地雷 else if(rlt>0) return true; //沒事傳回真(1~8) else //0就要遞迴呼叫 { for(int fx=ix-1;fx<=ix+1;fx++) //掃描對應九宮格 for(int fy=iy-1;fy<=ix+1;fy++) { //超出邊界的格式需略過 hitBox(fx,fy); //遞迴呼叫 } return true; //沒事傳回真(0) } } boolean play() //開始玩,贏傳真,輸傳假 { while(openCnt<(bx*by-mineNum)) //當已翻開格子小於應翻開格子時 { //讓使用者輸入座標 //解釋成(hx,hy) if(!hitBox(int hx,int hy)) //如果點到地雷 { //翻開所有MineBox showMap(); return false; } showMap(); } return true; } } class PlayMG { public static void main(String[] args) { MineGame mg=new MineGame(18,9); //設定地圖18*9 if(mg.play()) //如果玩了以後傳回真 System.out.println("Congratulation!!"); //掃雷成功 else System.out.println("Oh Oh!!"); //踩到地雷 } } -- ╔═══╗ ┼────────────────────────╮ ║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ ║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮ ╚╦═╦╝ ╰ * From:61-59-214-158.adsl.static.seed.net.tw ─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 [32m◎ | |||
.Net 原始碼 | ASP.NET News Reader Beta 0.2.9
2007/06/21 由於微軟新聞伺服器移除多數新聞群組 (newsgroup),目前遭移除之群組暫時改為隱藏純瀏覽,若狀況已定案時,將會將隱藏中的群組重新調整。[討論]