游戏设置

辽师张大为@https://daweizh.github.io/csp/

现在游戏可以随机出10道题做+法了,可以如何控制加数位数呢?想做-法怎么办?多长时间给出答案合适呢?

为了回答上述问题增加游戏设置功能。

settings.h

鼠标右击arith项目,选择New File

输入如下程序代码

void settings(int &level,char &opt,int &hard){
	
}

按Ctrl+s保存

输入文件名settings.h点击保存

在main.cpp中增加语句

#include "settings.h"

int level=1;		//关卡数 
int hard=1;			//难度值 

输入level

完善settings.h增加level的输入处理

void settings(int &level,char &opt,int &hard){
	char c[200];	//接收输入字符串
	
	do{
		cout << "Please select level([1]-18):";	//提示输入游戏级别 
		gets(c);								//读取输入信息 
		if(strlen(c)==0)						//判断输入信息长度 
			level = 1;							//如果输入信息长度为0,设缺省级别为1 
		else									 
			level = atoi(c);					//否则将数字字符串转换成数值 
	}while(level<1 || level>18); //如果输入的难度级别不是1~18要求重新输入 
	
}

测试一下,在main.cpp中增加如下语句

F11执行一下

Please select level([1]-18):6
level=6,opt=+,hard=1

选择运算符

继续完善settings.h中的settings函数

void settings(int &level,char &opt,int &hard){
	char c[200];	//接收输入字符串
	
    ... ...

	do{
		printf("Please select operator([+],-):");//提示选择+/- 
		gets(c);								//读入运算符 
		if(strlen(c)==0)						//判断输入信息长度 
			opt = '+';							//如果输入信息长度为0,设置缺省运算符为+ 
		else									
			opt = c[0];							//否则读入第一个字符 
	}while(opt!='+' && opt!='-');				//如果不是+/-运算符,要求重新输入 
	
}

回到main.cpp获得焦点,按F12重新构造全部,再按F11执行

Please select level([1]-18):
Please select operator([+],-):
level=1,opt=+,hard=1

增加了运算符选择功能

设置难度级别

继续完善settings.h中的settings函数

void settings(int &level,char &opt,int &hard){
	char c[200];	//接收输入字符串
	
    ... ...

	do{
		printf("Please select Hard([1]-60):");	//提示选择难度级别 
		gets(c);								//读入难度 
		if(strlen(c)==0)						//判断输入信息长度 
			hard = 1;							//如果输入信息长度为0,设置缺省难度为1 
		else
			hard = atoi(c);						//否则将难度数字字符串转换为难度数值 
	}while(hard<1 || hard>60);					//如果输入的难度范围不在1~60之间,要求重新输入 
	
}

回到main.cpp获得焦点,按F12重新构造全部,再按F11执行

Please select level([1]-18):
Please select operator([+],-):
Please select Hard([1]-60):
level=1,opt=+,hard=1

增加了运算符选择功能