前言 信息技术的发展日新月异,神经网络、机器学习、大数据、元宇宙等人工智能技术迅猛发展,深深地影响着人们的学习、生活和工作方式。培养学生的计算思维能力与人工智能素养已成为大学计算机教育的基本任务之一,而计算机程序设计是培养和训练在校大学生计算思维能力和人工智能素养的重要基础课程。 举世瞩目的围棋AI程序AlphaGo与人类顶级棋手之间的人机博弈,引发了全球人工智能的热潮。作为人工智能领域最重要的研究方向之一,机器博弈引起越来越多专家、学者及在校大学生的关注。本书结合当今人工智能技术热点,以机器博弈竞赛项目为例,将重要的知识点与典型的案例相结合,采用项目驱动式程序设计案例教学。本书具有以下特点: (1) 将程序设计与人工智能热点——机器博弈技术相结合。本书的扩展阅读增加了机器博弈的相关知识,拓展了知识面,培养了人工智能素养,为学生后续在相关领域进一步学习与研究奠定了基础。 (2) 将程序设计与学生兴趣(棋类小游戏)相结合。为了增加趣味性,本书以机器博弈部分棋类项目(如井字棋、五子棋、亚马逊棋)为案例,鼓励学生由单纯地玩游戏到利用所学程序设计知识开发小游戏,使其获得一种成就感,进而产生继续学习的积极性,达到寓教于乐的教学效果。 (3) 将程序设计与实践应用开发相结合。本书以实际应用为背景,引导学生后续参加相关科技竞赛及大学生创新创业项目,将程序设计与开发实践有机地融合在一起,通过介绍机器博弈的相关知识,引发学生对人工智能相关技术深入研究的积极性。通过编程解决机器博弈项目中的实际问题,使学生进一步体会程序设计的实用性。 (4) 将面向过程与面向对象的程序设计思想相结合。本书主要采用C语言讲解面向过程的程序设计,但为了更好地体现现代软件设计与开发的思想,还特别在相关章节引入了C#语言,介绍面向对象的程序设计思想。 本书既可作为高等院校大学生及机器博弈爱好者的程序设计教材,也可作为中国计算机博弈大赛和其他机器博弈竞赛参赛者的入门参考书。全书共13章,其中第1、12章由郭建新编写;第2、3章由邱虹坤编写;第4、5章由王晓岩编写;第6、8章由孙玉霞编写;第7、9章由刘成编写;第10、11章由杨煦编写;第13章由王亚杰编写。全书案例由王亚杰设计,扩展阅读部分由邱虹坤编写。 在本书编写与出版过程中,编者参阅并引用了一些参考文献,在此对文献的作者表示衷心感谢。由于编者水平有限,书中难免有不妥与疏漏之处,恳请专家和读者批评指正。 编者 2023年5月