一道作业题,在ai下棋算法和判断棋局是否结束这两步不会,望各位大佬不吝赐教!使用的是c语言,请尽量简明易懂并使用数组表示棋盘。题目如下:
《重力四子棋》
两位玩家轮流将自己的棋子放在一个8列6行的棋盘上。玩家每次只需要指定棋盘上的列号,棋子自动落到这一列的底部或者叠放于该列已有棋子的上面。游戏的目标是在对手之前将自己的4个相邻棋子放在一行、一列或一条斜线上。
程序扮演玩家之一,用户作为其对手。程序根据你设计的算法选择要放棋子的列,用户则自己输入要放棋子的列。
用户输入整数,当用户输入的列号不在1到8之间或者用户输入的列号已经放满了棋子时,程序会提示用户重新输入。而当程序自己选择要放棋子的列时,它会自动地忽略那些已经放满棋子的列。要求程序放棋子时要有一定的智能(当然也不用太智能),能有效地阻止对方获胜或让自己获胜。
由程序判断双方的胜负,分出胜负则程序结束。棋盘满了而无法放棋子判为平局。