GameDesign 板


LINE

程式寫出來了 因為算block算到頭昏,就動用暴力去解決了 使用的方式是..... 遞迴求解 function { int[] m=取得中島的大小(); /* 像下面紅色這種,在中央的我方棋子,我叫她中島 XXOOO OO */ if(中島大小>5) //大於五顆 { if(允許長連) return new Ans(5, 2); //傳回連成五子的CODE else return new Ans(0, 0); //傳回被擋住 } else if(中島大小==5) //剛好五顆 { return new Ans(5, 2); //傳回連成五子 } else //四子三子二子一子通通在這邊判斷 { Ans[] a=new Ans[2]; //兩邊分邊檢查 for(左邊/右邊) { int 中島邊界=取得中島該邊的邊界; //如果該邊是空白,很好,沒被阻擋,嘗試落子。 if(中島邊界往外推一格 == 空白) { //在該空白點落子,建立下一節點 Counter next=new Counter(落子後新的節點); //遞迴並記錄答案 a[左邊/右邊]=next.遞迴呼叫同一方法; } else //被阻擋,傳回block { a[左邊/右邊]=new Ans(0, 0); } } //排序,a[0] 要比 a[1] 大,如果一樣大就比氣的數目 if(a[1].land>a[0].land||(a[0].land==a[1].land&&a[1].lift>a[0].lift)) { Ans tp=a[0]; a[0]=a[1]; a[1]=tp; } //兩邊都被擋,沒棋 if(a[0].land==0) return new Ans(0, 0); //兩邊下下去都形成五子的局面,就是活四 if(a[0].land==5&&a[1].land==5)return new Ans(4, 2); //只有一邊下下去五子,就是死四 if(a[0].land==5&&a[1].land!=5)return new Ans(4, 1); //其他狀況,把棋型-1後傳回 return new Ans(a[0].land-1,a[0].lift); } } --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.98.199
1F:→ ddavid:XD 10/19 00:16
貼一下運算結果: o 我方 x 敵方或是牆壁 這是落子點 ↓ :o:oo [3:2] [3:2] o o :o: o o [3:2] [3:2] oo o :o: o oo [3:2] [3:1] oo :o: oo [3:1] [3:1] ooo :o: ooo [3:1] [0:0] oo :o: oo [3:2] [3:1] x o:o:o x [3:1] [3:1] x o:o:o [3:2] [3:2] oo o:o:o [4:1] [3:1] ooo :o: oooo [4:2] [4:1] ooo :o: oooo [4:2] [4:1] ooo o:o:o ooo [4:2] [0:0] ※ 編輯: LaPass 來自: 114.41.98.199 (10/19 00:42)
2F:推 ddavid:0 1 2就是沒棋、死(活一邊)、活對吧 10/19 02:04
3F:→ LaPass:沒錯~ 10/19 12:28
4F:推 bleed1979:把例子對棋盤跑K&R會比recurive快嗎?似乎可試試 10/20 02:02
5F:→ LaPass:請問K&R是什麼? 10/20 03:56
6F:推 bleed1979:抱歉我寫錯了。字串比對KMR Algorithm。 10/20 05:26
7F:→ bleed1979:意思是如果把每個例子當成pattern去跑棋盤的字串比對 10/20 05:27
8F:推 bleed1979:不過五子棋可以斜角延伸,比對上可能會較麻煩。 10/20 05:30
9F:→ LaPass:也還好,因為迴圈可以這樣跑 for(int i=0,j=0;略;i++,j++) 10/20 12:02
10F:推 ddavid:不不,連j都不用啊,你有i就好,因為你斜角加或減的值一樣 10/20 16:23
11F:→ ddavid:所以座標用(x+i, y+i), (x+i, y-i)等等的去套就好XD 10/20 16:24
12F:→ LaPass:寫好了,正在做WEB的UI~ 10/20 18:59







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP