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

请输入看板名称,例如:Soft_Job站内搜寻

TOP