C++猜数字游戏.docx
- 文档编号:7843288
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:11
- 大小:376.91KB
C++猜数字游戏.docx
《C++猜数字游戏.docx》由会员分享,可在线阅读,更多相关《C++猜数字游戏.docx(11页珍藏版)》请在冰豆网上搜索。
C++猜数字游戏
一、题目
猜数字游戏
二、实验开发环境
VisualC++6.0
三、前言
猜数字游戏是休闲娱乐和智力锻炼的一种智力型游戏。
游戏规则:
让系统随机产生一组数字,由游戏者输入要猜的数字,然后,系统会将输入的数字与随机生成的数字进行比较,当输入的数字与随机生成的这组数字数值和位置完全对应时,就获得了胜利。
四、实验目的
(1)了解程序开发环境调试工具的使用;
(2)掌握小型系统的开发过程,学会用C++语言解决问题。
五、软件开发过程
(1)程序运行后呈现的游戏菜单上要有“开始游戏”、“查看游戏规则”、“设置游戏难度”、“退出游戏”等多项选择。
因此可以采用多文件结构来进行调用,由主函数来实现呈现游戏菜单与实现游戏者选择的功能,根据游戏者的选择来有选择的调用其他文件中的函数。
主函数用于设计游戏开始界面和调用其他文件中的函数:
(2)当游戏者选择一项功能后,就要跳转到相应的界面,游戏开始界面要清除掉,可以使用系统界面清除功能:
#include"windows.h"
system("cls");
(3)当游戏者选择的某一功能运行结束后,要按任意键返回游戏开始界面,因此主函数需要用到循环语句:
先定义变量a,当a不等于4时执行程序,后面要结束程序时,令a等于4就可以结束循环,进而结束程序:
(4)首先游戏者查看游戏规则,当游戏者选择功能2后,主函数调用rules()函数,这个函数就会输出游戏规则:
(5)开始游戏前要求先设置游戏难度,否则按默认设置难度进行游戏。
事先将游戏难度系数设置为一个全局变量,并赋初值1(即最低难度系数),若有进行难度设置,则可通过调用函数改变难度系数,游戏难度系数必须为1~10,如果输入其他数字,系统会要求重新输入:
(6)游戏者开始游戏后,首先系统产生与游戏难度系数相等的几个随机数并存放在数组a[]中,这需要一个函数来实现:
然后提示游戏者输入要猜的数字,输入后存放在数组b[]中;
将数组a和b进行比较,统计出数据相同且位置相同的个数k和数据相同但位置不同的个数p:
游戏函数也要用循环语句,直到游戏者输入完全正确为止
(7)若游戏者想知道答案或中途退出游戏,则第一个数字输入10即可:
实验源程序:
//headf.h
voidrules();
voidgame(intc);
intexit();
intclasses();
//mainf.cpp
#include"stdafx.h"
#include"headf.h"
#include"windows.h"
#include"conio.h"
#include
usingnamespacestd;
inta,c=1;
intmain()
{
while(a!
=4)
{
cout<<"----------------"< cout<<"猜数字游戏"< cout<<"----------------"< cout<<"1.开始游戏(y/n)? "< cout<<"2.查看游戏规则"< cout<<"3.设置游戏的难易度"< cout<<"4.退出游戏"< cout<<"请选择功能: "; cin>>a; switch(a) {case1: system("cls");game(c);break; case2: system("cls");rules();break; case3: system("cls");c=classes();break; case4: system("cls");a=exit();break; } cout<<"按任意键继续...."; getch(); system("cls"); } return0; } //rules.cpp #include"stdafx.h" #include usingnamespacestd; voidrules() { cout<<"猜字游戏规则: "< cout<<"1.可先设置难易度,如果不设置,则默认最低级,即第1级,难易度可分为1~10级,1级猜一个数字,2级猜两个数字....10级猜10个数字;"< cout<<"2.请输入猜测的数字(0~9),输入数字时要用空格分隔开每两个数字;"< cout<<"3.提示输入的数字数值正确和位置正确的个数,输入的数字数值正确但位置不对的个数;"< cout<<"4.不断的重复2、3步,若猜数完全正确,提示游戏者胜利;若试了15次还不正确,宣布游戏者失败。 "< } //classes.cpp #include"stdafx.h" #include intclasses() { doublec,y=1; while(y) { cout<<"设计游戏的难易度->"< cout<<"请输入1到10之间的任意正整数n为难度系统(难易度级别): "; cin>>c; if(c==1||c==2||c==3||c==4||c==5||c==6||c==7||c==8||c==9||c==10)y=0; elsecout< } returnc; } //game.cpp #include"stdafx.h" #include"stdlib.h" #include"time.h" #include usingnamespacestd; voidgame(intc) { inta[10]; doubleb[10]; voidcreate_Ary(inta[],intc); cout<<"游戏的难易度为: "< create_Ary(a,c); intx=1,n=1; while(x) { inti,j,k=0,p=0; cout<<"请输入"< "; for(j=0;j for(j=0,k;j { if(b[j]==a[j])k++;//统计出数据相同且位置相同的个数k } for(j=0;j { for(i=j+1;i { if(b[i]==a[j])p++; } } for(j=0;j { for(i=j+1;i { if(a[i]==b[j])p++;////统计出数据相同但位置不同的个数p } } if(k==c) { cout<<"数据相同且位置相同的个数: "< cout<<"数据相同但位置不同的个数: "< if(c>=3&&n==1)cout<<"第一名! 你的天赋简直是前无古人后无来者! ! ! "< elseif(n/c<=2)cout<<"你的天赋非常好,太棒了! ! "< elseif(n/c<=3)cout<<"你的天赋不错,赞一个! "< elseif(n/c<=4)cout<<"你是有天赋的,继续努力! ! "< elsecout<<"你是游戏的胜利者! "< cout< x=0; } else { cout<<"数据相同且位置相同的个数: "< cout<<"数据相同但位置不同的个数: "< if(n==15) { cout< cout<<"你已经尝试了15次,仍未成功,游戏失败!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数字 游戏