当前位置:文档之家› 猜数字游戏课程设计报告

猜数字游戏课程设计报告

XXXX学校《C程序设计》课程设计报告设计题目:猜数字游戏附录完整源代码专业:班级:学生:学号:指导教师:起止时间: xxx.x.x -xxx.x.xxxxx-xxxx年 xx 学期目录1 、程序设计描述1.1 程序设计目的:1.2 程序设计要求:1.3、猜数字游戏的简介:2 、程序设计内容:2.1、游戏主要框架图:2.2、开始游戏框架:2.3、最佳排行框架:2.4、游戏操作说明模块:2.5、退出游戏系统:2.6、游戏系统总流程图:3、猜数字游戏源代码:3.1、void main()函数函数功能:3.2、void game();//双人游戏void pgame();//单人游戏3.4、排行榜模块函数功能:3.5、继续游戏模块函数功能:3.6、操作说明模块函数功能:4、调试与测试:4.1、调试方法4.2、测试结果的分析与讨论4.3、测试过程中遇到的主要问题及采取的解决措施5、程序具体说明书:6、程序设计心得:7、参考文献1 、程序设计描述1.1 程序设计目的:综合使用所学过的C语言程序设计知识,掌握结构化程序设计的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,解决稍微复杂的结构化程序设计问题,加深对所学知识的理解与掌握,增强学生利用自己所学知识解决实际问题的能力,为以后的程序开发打下基础。

1.2 程序设计要求:1、巩固和加强《C语言程序设计》课程的理论知识。

2、掌握C语言的基本概念、语法、语义和数据类型的使用特点。

3、掌握C语言程序设计的方法及编程技巧,能正确使用C语言编写程序。

4、进一步理解和运用结构化程设计的思想和方法;学会利用流程图。

5、掌握调试程序的基本方法及上机操作方法。

6、掌握书写程设计开发文档的能力,学会撰写课程设计总结报告。

课程设计的思想和方法还可以作为做毕业论文时的参考资料。

7、通过查阅手册和文献资料,培养独立分析问题和解决问题的能力。

为做毕业设计打好基础。

8、培养自己的创新能力和创新思维。

可以根据指导书和相关文献上的参考算法,自己设计出相应的应用程序。

9、培养自己良好的程序设计风格。

在实际编程中,为了提高编程质量,对空行、空格和注释均有要求。

在课程设计书写代码时,应该严格按要求处理,以便建立良好的程序设计风格。

1.3、猜数字游戏的简介:猜数字游戏(又称 Bulls and Cows )是一种大概于20世纪中期兴起于的益智类小游戏。

一般由两个人玩,也可以由一个人和电脑玩,在纸上、在网上都可以玩。

这种游戏规则简单,但可以考验人的严谨和耐心。

2 、程序设计内容:2.1、游戏主要框架图:该模块为玩家提供猜数字游戏的主体功能,即开始游戏、继续游戏、最佳排行、操作说明、退出游戏。

给用户一个清晰明了的操作界面!流程图如下:系统模块结构图2.2、开始游戏框架:①单人游戏由系统产生4个随机数,并按任意顺序排列,作为游戏的原始数字供玩家进行猜数字游戏。

②双人游戏有主用户知己定义输入输入,再用另一用户猜测!开始游戏双 人 游 戏 单 人 游 戏返 回 主 菜 单③单人、双人游:提示用户数值和位置全对的数字个数,和只有数值但位置不对的数字个数。

④原始数字显示:当用户在8次之内仍未能猜出原始数字和顺序时,系统提示玩家失败,并给玩家显示出原始数字和顺序。

2.3、最佳排行框架:进入该界面后,进行提示由于技术问题此项有待解决!个人认为最佳排行的应有的功能想法(有待改进)该模块为玩家提供排行榜的浏览和清除功能,包括按玩家成绩顺序浏览、按玩家姓名浏览和清除排行榜功能。

2.4、游戏操作说明模块:进入该界面后,进行提示由于技术问题此项有待解决!当玩家选项为帮助功能对应的选项数字时,进入帮助模块,给出用户猜数字的游戏规则和游戏中相关提示的含义和简单提示。

2.5、退出游戏系统:该功能主要是在主界面操作,为方便用户退出游戏功能2.6、游戏系统总流程图:3、猜数字游戏源代码:游戏主程序调用的函数如下:#include <stdio.h>#include <windows.h>#include <stdlib.h>#include "process.h"#define N 4 //随机抽N个数#define NUM 8 //NUM次猜数的机会void mainmenu();//游戏主菜单void bestmenu();//最佳排行子菜单Best rankingvoid continumenu();//继续游戏子菜单Continue to gamevoid operationmenu();//操作说明子菜单operation explanationvoid playgame();//新游戏子菜单void game();//双人游戏void pgame();//单人游戏void gotoxy(int x,int y){COORD c;c.X = x - 1;c.Y = y - 1;SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); }3.1、void main()函数函数功能:功能:软件执行的入口,在函数所在的程序头部包含可部分系统必须的头文件和完成其他功能的源文件。

在该函数中还提供了系统功能选择的平台,提示用户系统可用的功能有哪些和这些功能的选项代码。

并给用户提供输入功能选项代码的接口,当用户输入选项代码后,即显示给用户相应的功能处理界面或结果。

欢迎界面while(1){ system("color 6A") ;//颜色代码mainmenu();//调用游戏主菜单printf(" 请输入序号:");choose=getchar();switch(choose){case '1':do{ int x;playgame();//调用开始新游戏子菜单printf(" 请输入序号:");editch=getchar();switch(editch){case '1':game();loop1:{printf(" |****按0键返回两人游戏菜单*****|\n"); }scanf("%d",&x);switch(x){case 2: printf(" |****按0键返回两人游戏菜单*****|\n"); pgame();goto loop1;}break;case '2':pgame();loop2:{printf(" |******按0返回两人游戏菜单*********|\n"); }scanf("%d",&x);switch(x){case 2: printf(" |******按0返回两人游戏菜单********|\n");pgame();goto loop2;} break;case '0':system("cls");//C++清屏函数printf("\n\n\n\n\n\n 操作结束,返回主菜单!");getch();system("cls");break;}}while(editch!='0');break;case '2':do{continumenu();//调用继续游戏子菜单printf(" 按“0”返回上一级菜单:");editch=getchar();switch(editch){case '0':system("cls");//C++清屏函数printf("\n\n\n\n\n\n 操作结束,返回主菜单!");getch();system("cls"); break; }}while(editch!='0');break;case '3':do{bestmenu();//调用最佳排行子菜单printf(" 按“0”返回上一级菜单:");editch=getchar();switch(editch){ case '0':system("cls");printf("\n\n\n\n\n\n 操作结束,返回主菜单!");getch();system("cls");break;}}while(editch!='0');break;case '4': do{operationmenu();//调用操作说明菜单printf(" 按“0”返回上一级菜单:");editch=getchar(); switch(editch){ case '0': system("cls");printf("\n\n\n\n\n\n 操作结束,返回主菜单!");getch();system("cls");break; }}while(editch!='0');break;case '0'://退出猜数字游戏系统system("cls"); printf("\n\n\n\n\n\n 游戏结束,退出系统!"); getch(); system("cls");exit(0);}}}3.2、void game();//双人游戏void pgame();//单人游戏功能:开始猜数字游戏和进行游戏过程,调用系统内部以随机给出的数字,提示用户输入猜数字,每次再输入完整后自动给出答案,在8次之内未猜出者提示失败,如果成功,进行提示。

3.3、#define N 4 //随机抽N个数#define NUM 8 //NUM次猜数的机会getnumber()函数功能:由系统产生4个按任意顺序排列的随机整数。

3.4、排行榜模块函数功能:void bestmenu();//最佳排行子菜单功能:主要是起调用作用,显示排行界面!(提示数据技术原因未制作)void bestmenu()//猜数字游戏最佳排行子菜单函数{system("cls");printf("\n\n\n");printf(" |* * * * * * * 最佳排行 * * * * |\n");}3.5、继续游戏模块函数功能:void continumenu();//继续游戏子菜单Continue to game功能:主要是起调用作用,显示继续游戏子菜单界面!(提示数据技术原因未制作)void continumenu()//猜数字游戏继续游戏子菜单函数{getchar();system("cls");printf("\n\n\n");printf(" |* * * * * * * 继续游戏 * * * * |\n");}3.6、操作说明模块函数功能:void operationmenu();//操作说明子菜单operation explanation功能:主要是起调用作用,显示操作说明子菜单界面!输出显示帮助系统。

相关主题