C_Sharp 板


LINE

我寫好一個棋子~偵測 自身 周圍8格的位子 例如↓ |-----------| | 1 | 2 | 3 | | 4 | X | 5 | | 6 | 7 | 8 | |-----------| X 代表的是 本身的棋子~ 我寫好了~ 但是副程式要如何去跑~ 因為我這邊已經寫好可以吃棋&閃躲 但是我玩家這邊下完之後~AI不知要怎麼去寫副程式放他自己移動~ 有人可以幫忙嗎? 這偵測周圍8格的程式↓ if(Assder==0) { x1=Ax[20]; //去抓陣列裡的X座標 y1=Ay[20]; vacancy=0; Assder=0; pas=19; //步兵 左邊第9顆 for(AInum=0;AInum<=7;AInum++) //將陣列資料全部歸零 { edge[AInum]=0; actnum[AInum]=0; } //NO1. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1-55&& Ay[AInum]==y1-55) //判斷第一格是否有棋子 { edge[0]=1; //有棋子(不知道是白棋或是黑棋) if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) //判斷是否為黑棋 { acy[0]=1; // 是為黑棋 Assder=1; //判斷後面棋子是否做人工AI和是否要進入移動 } else acy[0]=0; //有棋子但是為白棋 } } if(edge[0]==0&&y1>112)//第一格沒有棋子且位置不是在最上面,若是在最上面一格 就不會有第一格資料 { actnum[vacancy]=1; //紀錄第一格沒有棋子 vacancy+=1; } else //若是第一格在棋盤外 就假裝他有棋子 不能移動到此格 edge[0]=1; //NO2. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1&& Ay[AInum]==y1-55) { edge[1]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[1]=1; Assder=1; } else acy[1]=0; } } if(edge[1]==0&&y1>112) { actnum[vacancy]=2; vacancy+=1; } else edge[1]=1; //NO3. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1+55&& Ay[AInum]==y1-55) { edge[0]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[2]=1; Assder=1; } else acy[2]=0; } } if(edge[2]==0&&y1>112) { actnum[vacancy]=3; vacancy+=1; } else edge[2]=1; //NO4. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1-55&& Ay[AInum]==y1) { edge[3]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[3]=1; Assder=1; } else acy[3]=0; } } if(edge[3]==0) { actnum[vacancy]=4; vacancy+=1; } //NO5. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1+55&& Ay[AInum]==y1) { edge[4]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[4]=1; Assder=1; } else acy[4]=0; } } if(edge[4]==0) { actnum[vacancy]=5; vacancy+=1; } //NO6. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1-55&& Ay[AInum]==y1+55) { edge[5]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[5]=1; Assder=1; } else acy[5]=0; } } if(edge[5]==0&&y1<552) //不能超過棋盤最下面 { actnum[vacancy]=6; vacancy+=1; } else edge[5]=1; //NO7. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1&& Ay[AInum]==y1+55) { edge[6]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[6]=1; Assder=1; } else acy[6]=0; } } if(edge[6]==0&&y1<552) { actnum[vacancy]=7; vacancy+=1; } else edge[6]=1; //NO8. for(AInum=0;AInum<=39;AInum++) { if(Ax[AInum]==x1+55&& Ay[AInum]==y1+55) { edge[7]=1; if(AInum<20&&pe[AInum]==0||AInum>20&&pe[AInum]==1) { acy[7]=1; Assder=1; } else acy[7]=0; } } if(edge[7]==0&&y1<552) { actnum[vacancy]=8; vacancy+=1; } else edge[7]=1; if(Assder==1) //如果這顆棋子周圍有黑棋的話 AIMove(vacancy); //副程式傳入vacancy } 這是往前移動的程式↓ case 11: //步兵 Nw=actnum[K]; //Nw去接actnum[K]的值 若K等於0 Nw就會等於actnum[0]裡的值 switch(Nw) //尋找移動的格子 { case 1 : //第七格 Cbtcohort1.Location=new Point(x1,y1+55); Ax[28]=x1; Ay[28]=y1+55; //將移動後的座標在存回陣列 player=1; //換手 break; } 這是吃棋程式↓ else if(acy[6]==1&&(edge[5]==0||acy[5]==0)&&(edge[7]==0||acy[7]==0))//判斷第7 格附近狀況 { switch(pas) { case 11: Cbtcohort1.Location=new Point(x1,y1+55); Ax[28]=x1; Ay[28]=y1+55; //將移動後的座標在存回陣列 eat(Ax[28],Ay[28],28); player=1; //換手 break; 哪邊要修改?還是要再增加副程式? 因為玩家下完之後~AI不會跑>”< --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.72.222.237
1F:推 diamondking:玩家動的時候應該是跑1個function吧?跑完就接AI的 11/20 21:12
2F:→ diamondking:的function應該就行了?不知道你問的是不是這個 11/20 21:13
3F:推 phi12345:那 function 裡面的內容 如何寫呢? 11/20 21:51







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燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP