ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:76.23KB ,
资源ID:8061125      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8061125.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序设计五子棋.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言程序设计五子棋.docx

1、c语言程序设计五子棋伊 犁 师 范 学 院 高级语言课程设计报告 学 院: 电子与信息工程学院 学生姓名: 学 号: 专业届别: 指导教师: 完成时间: 五子棋游戏1 设计目的与要求目的:(1)学习综合运用C语言课程和其他相关课程的知识,提高分析解决实际问题的能力,进一步巩固、加深和拓宽所学的知识,进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。(2)全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法,与同学合作设计整套程序,并且独立完成一定工作量的程序设计.(3)掌握程序设计中的常用算法和C语言的程序技巧,培养良好的程序设计风格。(4)运用所学的知识了解

2、五子棋游戏的制作结构,将所学的知识运用于实践中。要求:(1)独自设计、编制、调试出一款五子棋游戏。(2)要求该游戏具有趣味性和可操作性,能够正常运行。其中用到C语言中的各种语句、结构。(如其中需要注意全局变量和局部变量的申明,数组的使用等)(3)五子棋游戏要求能够进入欢迎界面,当有五颗相同颜色的棋子连续连成五颗,就胜出。任务:五子棋是一种传统的棋盘游戏,是我国古代传统的黑白棋种之一发展于日本,流行于欧洲任务内容就是设计一款老少皆宜、能够锻炼个人策略谋划能力棋。有助于孩子开发智力,或者闲暇时打发时间。原则:(1)系统性。系统作为统一整体而存在,因此,在设计中,要从系统的角度考虑。系统的代码要统一

3、,传递语言要尽可能一致。(2)可靠性。可靠性是指系统抵御外界干扰的能力与外界干扰时的恢复能力。(3)规范性。游戏的运用以吸引玩家的乐趣为前提,一方面,系统设计应尽量避免不必要的复杂化,另一方面模块应尽量简洁,以缩短处理流程。2 开发工具 C语言3 应用平台Windows xp4 功能设计游戏分析: 五子棋是两人之间的竞技游戏,该五子棋程序基本上实现了五子棋游戏的功能,有双方下棋之前的欢迎界面与下棋过程中的棋盘界面,还有最终会判断出输赢。同时,该游戏采用了二维坐标实现的,明了易懂,方便玩家在游戏过程中的基本操作,使游戏更加简便。细节方面,该程序有实时储存功能,随时记录。另外考虑到游戏挺简单的,就

4、没有设置悔棋的相关模块。游戏介绍: 该游戏是简单的双人五子棋,所实现的功能是能够显示欢迎界面,选择是否进行游戏,进入游戏界面以后,玩家开始下棋。玩家输入坐标则会在棋盘上显示棋子,(若是输入的坐标超出棋盘或者该位子已经有子则会提示玩家重新输入坐标位子),若输入则退出游戏。4.1 算法设计程序说明:五子棋是一款经典的益智类游戏,通常是黑棋先行;五子棋专用盘为15*15方格,五个子的连接方向为横、竖、斜,当任一方的五个子在各方向上连成一线时,则该方获胜。程序要求:按照程序说明编写五子棋程序,要求可以进行双人之间的游戏。程序输出:输出棋盘、棋子,并能够进行相应的操作。4.2流程图模块图1:程序整体设计

5、思路流程图图2:绘图过程的算法流程5 程序调试与运行5.1 程序运行结果图1 初始化界面图2 运行游戏的界面5.2 程序代码#include “stdio.h”#include”graphics.h”#define LEFT 0x4b00#define RIGHT 0x4d00#define DOWN 0x5000#define UP 0x4800#define ESC 0x011b#define ENTER 0x1c0dint x=-1,y=0;int max_x,max_y;int board_flag1515;void draw_board();void show_init(int pa

6、t);void hide();void show(int pat);void move();int is_win(int pat);void main() int driver=DETECT,mode; int i,j; for(i=0;i15;i+) for(j=0;j15;j+) board_flagij=0; initgraph(&driver,&mode,”);draw_board();show_init(0);move();getch();closegraph();void draw_board() int i;max_x=getmaxx();max_y=getmaxy();setf

7、illstyle(1,BLUE);bar(0,0,max_x,max_y); for(i=-7;i=8;i+) line(max_x/2-7*26,max_y/2+i*26,max_x/2+8*26,max_y/2+i*26);line(max_x/2+i*26,max_y/2-7*26,max_x/2+i*26,max_y/2+8*26);void show_init(int pat)setcolor(BLUE);if(pat=0) setfillstyle(1,BLACK);elsesetfillstyle(1,WHITE);x=-1;y=0;fillellipse(max_x/2-8*2

8、6+13,max_y/2-7*26+23,12,12);void hide()int m;m=board_flagxy;switch(m) case 0: setfillstyle(1,BLUE); break; case 1: setfillstyle(1,BLACK); break; case 2: Setfillstyle(1,WHITE); break; default: break;fillellipse(max_x/2+(x-7)*26+13,max_y/2+(y-7)*26+13,12,12);void show(int pat)switch(pat) case 0: setfi

9、llstyle(1,BLACK); break; case 1: setfillstyle(1,WHITE); break; default: break; fillellipse(max_x/2+(x-7)*26+13,max_y/2+(y-7)*26+13,12,12);void move()int key;int pat=0;for(;) key=bioskey(0); switch(key) case LEFT: if(x=-1) break;hide();x-;x=x14?14:x;show(pat);break;case DOWN:if(x=-1) break;hide();y+;

10、y=y14?14:y;show(pat); break;case UP: if(x=-1) break;hide();y-;y=y0?0:y;show(pat); break;case ENTER: if(board_flagxy!=0) break;show(pat);board_flagxy=pat+1; if(is_win(pat) settextstyle(0,0,3); setcolor(RED);if(pat=0) outtextxy(max_x/2-80,max_y/2,”Black Win!”);else outtextxy(max_x/2-80,max_y/2,”White

11、Win!”);setcolor(BLUE);getch();exit(1);if(pat=0) pat=1;elsepat=0;show_init(pat); break;case ESC: exit(1); break; default: break;int is_win(int pat)int i,j;int cnt=0;cnt=0;i=x;while(i=0) if(board_flagiy=pat+1)cnt+;elsebreak;i-;if(cnt=5)return 1;cnt=0;i=x;j=y;while(i15)if(j=0)if(j14)break;if(board_flag

12、ij=pat+1)cnt+;elsebreak;i-;j+;if(cnt=5)return 1;cnt=0;j=y;while(j=0)if(board_flagxj=pat+1)cnt+;elsebreak;j-;j=y+1;while(j=5)return 1;cnt=0;i=x;j=y;while(i=0)if(j0)break;if(board_flagij=pat+1)cnt+;else break;i-;j-;i=x+1;j=y+1;while(i14)break;if(board_flagij=pat+1)cnt+;elsebreak;i+;j+;if(cnt=5)return

13、1;return 0;6 结束语 在本次课程设计中,不仅让我认识到自己学习上的不足,也通过请教其他同学和老师,让我对程序进行了修改并运行,还让自己复习了编程的知识,对遇见的众多问题,通过思考,耐心动手解决问题。在设计五子棋游戏的过程中也让我明白合作的力量,设计在课程设计期间我也学到了课本中学不到的知识,明白了只有通过自己不断地动手实践才能找出不足、找出问题和提高自己的能力,发现课程设计是我学习和掌握专业知识的好方法,它可以让自己变得活跃,也会看明白程序问题,使自己受益匪浅。才能让自己的能力不断提高。 最后,感谢孙晓杰老师的悉心指导,教给我的程序设计的思想和知识。这次课程设计要感谢老师和同学为我提出了很多的宝贵意见,给我讲解了我很多不懂得知识与应用方法,为我更好的完成报告付出了辛勤的劳动。7 参考文献1谭浩强. C语言程序设计. 北京:清华大学出版社, 20112郑莉. C语言程序设计(第三版).北京:清华大学出版社, 2005 3钱能. C语言程序设计教程. 北京:清华大学出版社, 20044武俊亮. C语言课程设计与系统开发案例. 北京:清华出版社,20025黄维通. C语言程序设计教程. 北京:清华大学出版社, 2005

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1