欢迎来到天天文库
浏览记录
ID:23282165
大小:500.58 KB
页数:39页
时间:2018-11-05
《c语言图形五子棋课程设计报告带流程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C语言课程设计报告----五子棋39南昌航空大学软件学院102032班陈琦帆C语言课程设计报告五子棋院系:软件学院专业:软件工程班级:102032学号:10203230指导老师:王星~39~C语言课程设计报告----五子棋39南昌航空大学软件学院102032班陈琦帆摘要五子棋是一种两人对弈的纯策略型棋类游戏,应用C语言编写程序可以在计算机上实现二人对弈五子棋功能。二人对弈五子棋程序由图像生成、光标移动与落子、判断胜负和系统帮助等子程序构成;程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句
2、。程序通过棋盘和棋子图像生成、二人移子与落子和判断胜负等功能的实现,在计算机上实现了二人五子棋对弈。AbstractGobangisatraditionalchecker-typegameinwhichtheliningupoffivepiecesinastraightlinescoresvictory.AndClanguagecanaccomplisha2-playergobangoncomputers.This2-playergobangprogramcontains4mainsections,the
3、yare,graphics,movementandselection,victoryjudgmentandhelpingsystem.SeveralelementsandsentencesofCprogramminglanguagesuchasstructuralelement,array,globalvariables,pressprocessingandGraphicsProgrammingarealsoappliedintheprogram.Withtheaccomplishmentofthethr
4、eemainsubprograms,namely,checkerboardandpiecesconstruction,players’step-selectionandvictoryjudgment,awholeprogramofgobangisestablishedandgobangisavailableoncomputers.~39~C语言课程设计报告----五子棋39南昌航空大学软件学院102032班陈琦帆目录一、需求分析4二、概要设计6三、详细设计9四、调试分析23五、用户手册24六、测试数据25
5、七、附录26~39~C语言课程设计报告----五子棋39南昌航空大学软件学院102032班陈琦帆第1章:需求分析1.1五子棋背景传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。1.2程序设计本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连,首先实现五子
6、相连的一方获胜。程序执行过程中,要求棋盘、棋子时时可见,并且人可以通过按键盘按键移动光标,摆放棋子。1.2.1程序需求分析根据功能需求,将程序分为图形显示、玩家控制、胜负判断和玩家计分四个模块,以下分析各模块的需求。图形显示模块:程序开始运行时,给出欢迎及帮助界面;游戏开始后要求生成19×19的棋盘图像,并在棋盘上方提示当前落子方棋子颜色,游戏进行过程中,要求实时显示棋盘上已落下的棋子;分出胜负后,要求给出游戏结束画面。玩家控制模块:程序开始时,需玩家确定而后开始游戏;游戏过程中,两个玩家通过不同的按键移
7、动光标,选择落子;游戏结束时,有玩家选择是否开始新棋局。胜负判断模块:实时监测棋盘上棋子,一旦某一色棋子出现五子连线,终止游戏程序,并着色连成一线的五子,弹出该色玩家胜出界面。玩家计分模块:一方玩家再胜利后通过对文件的操作进行计分,并输出于计分板上。1.2.2程序流程设计根据程序需求分析结果,可以得出程序的总体结构图如图1,程序总体流程图如图2。~39~C语言课程设计报告----五子棋39南昌航空大学软件学院102032班陈琦帆图1~39~C语言课程设计报告----五子棋39南昌航空大学软件学院10203
8、2班陈琦帆第2章:概要设计2.1.1各类头文件,变量及宏定义#include"stdio.h"#include"Conio.h"#include"graphics.h"#include#include#defineclosegrclosegraph/*定义1号玩家的操作键键码*/#defineW0x1177/*上移--'W'*/#defineS0x1f73/*下移--'S'*/#defineA0x
此文档下载收益归作者所有