还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
计算机实习报告姓名班级学号系部专业方向指导老师电子科技学院2006年9月18一选题需求分析题目要求设计一个图形工作方式下的10*10黑白棋棋盘,模仿两个棋手对弈的过程,并报告最终输赢结果题目分析设计黑白棋为人机对弈,人执白旗,计算机执黑棋,轮流走棋,人所执白棋落定后,计算机(执黑棋)选择最优摆子点摆子,每方都试图在游戏结束前让自己棋子的数目多于对方,棋子多者胜据选题要求将棋盘设计为10*10格,初始状态在棋盘中央交叉排放黑白旗各两枚,为统计棋子个数,有一个棋子记一分,人执白棋,计算机执黑棋,且白棋先走下棋时,棋子的位置必须是以自己的棋子能包围住对手一个或多个棋子,被包围的对手棋子将变成自己的棋子包围的方向可以使上下左右斜线共8个方向,只要能连成一条线即可当一方摆子,但没有可以包围对手棋子的位置时,该方必须听步,通过放弃一子让对手走棋,直到该方可以走子为止当棋盘上有一方的棋子为0也就是被对方吃完)或下满100格,游戏结束,旗子少者输二程序设计1设计思路从程序界面,考虑此为一个二维平面图,所以可以用数组形式表示棋盘上的位置则该程序接收到棋手按键操作,既棋手放子,就判定是不是有效位置,也就是能不能包围住对方棋子,如果能,便对棋子所在的位置往上下,左右,左上,左下,右上,右下8个方向寻找被包围住的所有棋子(必须是连续的,中间不能有空格),将这些被包围住的对手棋子都变成自己的棋子当白棋落定后,计算机(执黑棋)选择最优摆子点摆子并吃掉白子即将其变为黑子如果没有这样的位置可以落子,则停步,让对方走棋,重复上述步骤,直到游戏结束然后对当前棋盘中的黑白棋个数进行统计并输出结果如果想提前终止游戏,可以提前按退出
2.设计流程图���开始初始化棋盘统计时间判断是否是放白子8个方向判断是否可以放子放子结束是否可以放黑子按优先级别放子放弃一子翻子是选定落子点放白子游戏是否结束即判断一方棋子是否全被吃完或妻子下满100格 统计黑白棋子数黑棋棋子数多于白棋棋子数你输了黑棋棋子数等于白棋棋子数平局黑棋棋子少于白棋棋子能否进入前三名上英雄榜输入你的...。