c语言实现三子棋,求下面电脑走棋的AI算法
井子棋游戏
(1) 设计一个程序实现人与计算机玩井子棋游戏,假设计算机画×,人画O,人可选择是否先走。
(2) 显示3×3方格的棋盘,一个玩家选择一个棋格画×,紧接着另一个玩家选择一个空棋格画O,双方轮流走棋,直到一个玩家占领一行,一列或一条对角线获胜,这时比赛结束。
2. 实现提示(仅供参考){:5_92:} {:5_91:} {:5_91:}
(1) 选手及棋局状态:可以采用枚举类型定义选手{Human,Computer};选手棋局状态{WIN(胜),LOSE(负),TIE(平),UNEND(还没结束)}
(2) 棋格位置:用棋格的行号和列号来表示
(3) 棋格打分规则:
① 如果棋盘上有棋子,则得0分;
② 如果棋盘上没有棋子,但棋格所在行,列或对角线有两个×,则得6分;
③ 如果棋盘上没有棋子,但棋格所在行,列或对角线有两个O,则得5分;
④ 如果棋盘上没有棋子,但棋格所在行,列或对角线其他棋格有一个×和一个没有棋子,则得4分;
⑤ 如果棋盘上没有棋子,但棋格所在行,列或对角线其他棋格有一个O和一个没有棋子,则得3分;
⑥ 如果棋盘上没有棋子,但棋格所在行,列或对角线没有棋子,则得2分;
⑦ 如果棋盘上没有棋子,但棋格所在行,列或对角线有一个×和一个O,则得1分。
(4) 选手走棋规则:选择分值最高值为计算机的走棋,如果有多个棋格的分值都为最高分,则随机选择一个分值最高的棋格作为计算机的走棋。
告诉我一下也行{:5_96:}我好去学 这是啥算法???
页:
[1]