本程序实现了经典的黑白棋(Othello)游戏,并且带有AI对战功能。所有的.c文件需要先用mex编译。你可以在MATLAB命令窗口中执行以下命令进行编译:

mex getAllValid.c

mex utility_c.c

编译完成后,运行主程序 main.m。程序启动后,你将被要求选择“人类与人工智能”或“人工智能与人工智能”对战模式。如果选择“Human vs AI”,你可以选择扮演黑子白子。在侧边栏中,你可以访问一些游戏设置和选项,如加载或保存游戏状态。你还可以通过滑动条或者文本框修改游戏的时间线,包括AI的思考时间,默认情况下,AI有1秒钟思考时间,但可以随时调整。游戏结束后,你会看到当前的分数,并且会询问是否重新开始新的一局。如果选择“是”,游戏将重新开始;如果选择“否”或“取消”,当前游戏状态将保留。

我选择在MATLAB中实现这个程序,主要是因为觉得这会很有趣,另外,我也想学习如何使用mex来处理C语言代码与MATLAB的接口。