资源描述:
《程序设计猜单词》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、程序设计报告(2014/15学年第一学期)题目:猜字游戏专业组长学号姓名组员学号姓名指导教师指导单位日期成员组长()调试程序程序代码(选择等级的功能、记录排名的功能)7z(x员组7/V员组评分tffM项评秀优好良等中差度态习简短评语日月各年评分等级备注良猜单词一、课题内容和要求这是一个简单的智力游戏,游戏者每次只能猜一个字母,如果游戏者猜的字母在单词中,单词中所有的该字母将被视为己猜岀,例如:如果原单词是apple,游戏者猜岀了P,则程序应显示当前猜出的残缺单词为-PP-;设置选择时间限制或猜错次数限
2、制,超过限制则游戏失败。1-5个字母为初级;5-9个字母为中级;10个字母以上为高级,猜错次数限制自定。1•设计游戏者信息格式,记录用户名、成绩,并保存,下次开始时可选择用户继续游戏,用户信息存放2.在user,txt中。建立积分排行榜,保留不同级别前五名的成绩。3.根据单词长度设置不同级别的游戏。4•游戏过程中,猜错的字母将被记录下来,每次猜测后,游戏应显示出当前猜出的残缺单词,以及当前猜错的所有字母,和剩下的机会。5•提供相应安全机制,保证程序的健壮性,如选择单词长度时,应避免非数字字符的输入造成程序
3、出错等。6.提供选择一次求助机会。如显示单词一秒钟,或给岀指定位置上的一个字母二、需求分析功能框架图如图1所示。主菜单V图1功能框架图(1)新游戏:提供进入游戏的功能。(3)排行:提供建立成绩积分表,保留不同级别前五名成绩的功能。(3)设置:提供选择猜测次数和难度等级的功能。(4)帮助:提供游戏说明的功能。(5)退出:提供退出游戏的功能。三、概要设计1主要结构体typedefstructPlciyerintranker;charname[20];intright;intwrong;inttime;〃玩家姓
4、名//猜对的字母//猜错的字幕//猜单词的时间}Player;2主要函数流程图用VoidPlayGameO作为主体来进行游戏。如图2}Player;2主要函数流程图用VoidPlayGameO作为主体来进行游戏。如图2结束图2函数结构图四.源程序代码#include#include#include#include#includeintrank=7,tot=0,guesstime=10;doublestart_tim
5、e,end_time;typedefstructPlayer{intranker;charname[20];intright;intwrong;inttime;[Player;Playerp[5]={{1/unknown",0,0,0},{2,"unknown",0,0,0},{3,"unknown”,0,0,0},{4,"unknown",0,0,0},{5,"unknown' ,0,0}};Playertemp;intright=0,wrong=0;inttimes;charwordlist[100
6、0][201;voidget_word();voidchooose_len();voidchoose_guesstime();voidinput_name();voidCompare();voidRecord();voidPlayGame();voidMenu();intmain(intargc,char*argvfl){get_word();while(l)〃使得猜完单词或查看完排行榜后返冋主菜单{Menu();}return0;voidget_word(){〃读文件FILE*fp;if((fp=fop
7、en(,,d://word.txtH;,r+,,))==NULL){printfC单词库无法打开!H);exit(O);}elsewhile(fscanf(fp/,%s'wordlist[tot++])!=EOF);voidchooose_len()ag:printf(HiW选择最大单词长度:(范围5-15)");scanf("%du,&rank);if(rank8、esstime);}voidinput_name(){printfC*请先输入您的大名:”);scanf(”%s”,(emp.name);}voidStartGame(){while(l){inti;charplay;printfC1请输入你要猜的字母,每次一个,祝你好运哦!“);PlayGame(wordlist);temp.time=times;temp.right=right;temp.wrong=wrong;Com