- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于幻影围棋的C语言课程教学案例设计.doc
基于幻影围棋的C语言课程教学案例设计
摘要:针对计算思维“落地”的实际需要,结合计算机程序设计课程教学培养目标的要求,提出基于幻影围棋的案例式教学模式,并以C语言程序设计课程为例,阐述案例的设计方法。
关键词:幻影围棋;计算思维“落地”;C语言程序设计
0引言
随着社会信息化的不断发展,其他学科与计算机学科的融合越来越密切,对大学生计算机应用能力的要求也越来越高,用计算机解决问题的能力逐渐成为衡量大学生素质的标准之一。在我国,理工院校均开设计算机程序设计(C、VB、C#等)的必修课,它是继大学计算机基础之后的另一门计算机主干基础课。通过本课程的学习,使学生正确理解并基本掌握面向过程(或者面向对象)程序设计方法,培养学生的程序设计和上机调试能力以及用计算机处理实际问题的思维方式和能力,为后续专业课程实践和今后的工作提供相关知识。
近年来,以计算思维为核心的计算机基础课程教学改革在各个高校广泛开展,首先要做的具体工作就是解决计算思维能力培养的“落地”问题,即要将计算思维能力培养落实到具体课程内容与教学过程中去。启发式教学和案例式教学就是计算思维“落地”的具体方法。
计算机博弈(Computer Game)也称为机器博弈,是指根据各种棋类游戏规则,让计算机模拟人的思维给出招法,与人或者另一台计算机进行对弈。计算机博弈项目既有趣味性,又有策略性和对抗性,深受广大青年学者的喜爱,并成为人工智能领域一项重要的研究课题。笔者研究幻影围棋项目多年,在文献[4]的启发下,将程序中的部分基础内容作为C语言程序设计的教学案例和实验内容,制作C语言课程设计题目,让学生在游戏中体会学习的乐趣,调动了学生的学习兴趣,取得了良好的学习效果。
1幻影围棋概述
幻影围棋(Phantom go)是一项欧洲的棋类游戏,因为下棋规则是基于围棋,采用9×9的围棋棋盘,但是又在围棋基础上加入了信息不完全的限制,即下棋双方均无法获得对方落子的位置,有中间裁判可以看到双方落子位置,进而给予双方操作是否合法或者是否提子的指令来进行比赛,故称为幻影围棋。它是国际计算机奥林匹克大赛的竞赛项目,也是我国大学生计算机博弈大赛的竞赛项目,是一种集战略、战术和机会为一体的棋类游戏项目。如图1所示,左边是黑方棋盘,中间是白方棋盘,右边是裁判棋盘。裁判的棋盘相当于一个9×9的围棋棋盘,黑方棋盘中的白子是通过裁判的返回信息判断出的部分棋子落子位置,信息是不完全的。这种不完全的信息,既增加了对弈的难度,同时也增加了趣味性和机会性。
2课堂教学实例设计
案例教学法是计算思维“落地”的最直接方法,一个好的案例在教学中会起到事半功倍的效果。笔者在指导幻影围棋博弈项目的过程中,总结了一些适合C语言教学的例子,将C语言的知识与游戏程序有效融合,取得了较好的学习效果,部分实例见表1。
由于篇幅有限,下面只列出两个实例的部分代码。
实例1:幻影围棋的界面设计
在C语言程序设计课程教学中,程序输出运行结果都是DOS命令行式的,表示一个围棋棋盘在初学者眼里似乎是不可能的。该实例利用输出各种线条组合来表示一个棋盘,使学生对C语言程序另眼相看。由于方便显示,我们用表格表示棋盘,每一个单元格表示实际棋盘上的交叉点。部分代码如下:
实例2:初始化棋盘数据结构
在该实例中,利用了结构体类型定义变量表示落子的位置,用二重循环结构控制二维数组的赋值。
3上机实验题目设计
上机实验是C语言程序设计课程的重要教学环节,学生通过上机练习才能更好地掌握和理解C语言各个知识点,锻炼并提高他们的程序设计和程序调试能力。设计实验内容一定要有针对性和综合性,而幻影围棋程序综合运用C语言很多知识点,不仅满足上述要求,而且还增加了趣味性,使实验效果更好。
例如:实验1:统计棋盘上白子的数目和黑子的数目,部分代码如下:
该实验中将循环结构、选择结构、二维数组3个知识点有机地融合,又实现了计数功能,解决了棋类游戏最基本的统计功能。由于篇幅有限,下面仅列出实验题目。
实验2:实现提子(吃子)的过程,并更新棋盘;
实验3:随机产生落子位置,并判断是否该位置已有子。
4课程设计题目设计
课程设计是C语言程序设计的后续课程,目的是巩固学生对C语言知识的综合运用能力,增强学生用计算机解决问题的能力,即计算思维能力。该课程总共一周的时间,要求学生完成一个综合性的程序设计题目。笔者基于幻影围棋设计了一个课设题目,该题目有若干个功能,由一组同学(1~4人)完成,其中一人负责分工、总体程序框架建立及其他功能整合,最后综合成一个简单的幻影围棋竞赛程序,能够实现人机对弈的过程。
课设题目:一个简单的幻影围棋系统
主要
文档评论(0)