欢迎来到天天文库
浏览记录
ID:40722444
大小:771.98 KB
页数:18页
时间:2019-08-06
《黑白棋程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计任务书学院理学院专业统计学学生姓名班级学号课程设计题目黑白棋程序设计实践教学要求与任务:1、进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;2、针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。3、掌握C语言的编程技巧及程序设计的常用算法设计任务:本次设计主要实现黑白棋游戏的系统程序该程序主要实现与黑白棋有关的包括棋盘绘制,棋子绘制,双方执棋下子,统计双方分数,比较,输出输赢等一系列程序,实现在该程序中能够正常进行双方对弈的功能。工作计划与
2、进度安排:第一天查阅资料;第二、三天程序设计;第四天程序调试;第五天答辩指导教师:201年月日专业负责人:201年月日学院教学副院长:201年月日18摘要程序设计语言类课程的指导思想是:使学生通过学习即高级编程语言的知识、编程技术和基本算法,又掌握程序设计的思想和方法,更具备利用计算机求解实际问题的能力,能灵活运用高级语言进行程序设计[6]。其实认真学习一门语言并不困难,关键要所追求的学习的方法和途径。一条好的途径便于快速掌握,熟悉运用语言。学习的目的在于应用,理论来源于实践,如果在学习中能够通过有效的途径如自己动手设计一个功能
3、比较前大的开发系统,借鉴于各种工具书,善于总结。定可以很好的效果。正是如此,使我们在这几年中对语言学习有了很大提高。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。关键词:掌握编程语言的知识;编程技术;基本算法思想和方法18目录黑白棋442.1.用到的函数:42.1.1main()主函数:42.1.2DrawQp()画棋盘函数:42.1.3MoveColor()恢复原来格子的状态42.1.
4、4playtoplay()人人对战函数42.1.5QpChange()判断棋盘变化42.1.6PrintScore()输出成绩52.2.子函数功能一览表52.3.主函数流程图62.3.1棋盘绘制流程图62.4.函数解析72.4.1图形库文件72.4.2图形初始化函数72.4.3设置背景颜色72.4.4画线72.4.5设置填充模式和颜色72.4.6方向操作72.4.7落棋位置判断82.4.8判断棋盘的变化和改变棋子的颜色82.4.9成绩输出82.4.10输出成绩82.4.11输出最后的胜利者结果8u2.5.源代码9u2.6运行结果
5、17u2.7心得体会17参考文献1818黑白棋2.1.用到的函数:2.1.1main()主函数:在主函数中,棋盘状态用数组a[8][8],初值为0,表示空格。用图形系统画出棋盘,调用playtoplay()人人对弈函数开始游戏,一旦游戏结束后,关闭图形系统,程序结束。2.1.2DrawQp()画棋盘函数:背景颜色设为蓝色,从坐标(100,100)开始每隔40个单位用白色画一条水平直线,一条垂直线,构成棋盘,用循环语句实现。以x和y为圆心,xradius和yradius为水平和垂直轴画一填充椭圆,当xradius和yradius相
6、等时,则画出的是圆,用它表示棋子。SetPlayColor()设置棋子的颜色:函数的参数为整型变量t,根据t的值来设计填充棋子的当前颜色,值为1代表白棋,值为2代表黑棋。2.1.3MoveColor()恢复原来格子的状态因为棋子移动过程并没有改变数组元素的值,所以可以根据数组元素的值判定原来的状态,如果值是1,就恢复白色棋子,值是2则恢复黑色棋子,否则恢复蓝色空格。2.1.4playtoplay()人人对战函数这是游戏进行的函数,主要是接收棋手的按键消息,按Esc键程序可以随时结束。按上下左右光标键,则改变棋子移动的坐标值。按回
7、车键后判断。2.1.5QpChange()判断棋盘变化当棋手按回车键落子后,就要分别往8个方向判断是否包围住对方棋子,如果是,18则改变棋盘。如果所有方向都判断过,并且没有引起棋盘的变化,则棋盘变化标志值yes为0,返回yes,结束本函数。根据当前数组元素的值判断分数,也就是各方棋子的个数,如果数组元素值为1,白棋棋子数累加;如果数组元素值为2,则黑棋棋子数累加。2.1.6PrintScore()输出成绩利用设置实体填充模式填充矩形条清除掉前次的成绩,再利用sprintf()函数将整数转换为字符串的形式,再利用outtextxy
8、()函数将成绩输出。playWin()输出胜利者结果根据分数值score1和score2的大小得出下棋的结果,输出赢者信息2.2.子函数功能一览表序号123456名称DrawQpSetPlayPlaytoplayMoveColorQpChangeDoScore功
此文档下载收益归作者所有