猫史档案馆


CJW in c++,going c++'s world!

用户:4O3F0rbidden4O3F0rbidden查看:3 回复:5 评论:3 创建时间:2019-09-18T03:12:57


            大家好,好长时间没发帖啊,我本来准备在中秋节发帖,结果5g速度写完作业都没时间。

从这节课开始,我们就要开始学代码了哦。

首先,你得要个编辑器。(推荐Dev-c++)

OK,可以开始了。

今天我们来讲一个简单的猜数字游戏。

#include <iostream>
#include <stdlib.h>
#include <time.h>

这一段是导入的头文件。

using namespace std;

void Start();
void GetResults();

int i, j, life, maxrand, defen;
char c;

这里是声明变量和函数。

void Start() {
	i = 0;
	j = 0;
	life = 10;
	maxrand = 10;
	
	
	printf( "剧情:\n");
    printf("你叫冯坤,出生于皇家。\n");
	printf("一天,你和朋友去玩。\n");
	printf("突然,你眼前一黑,醒来时你已经被带到了一个密室。\n");
	printf("密室里很黑,你看不出是谁喵了你。\n");
	printf("你需要破解密码才能出去。\n");
	printf("加油吧!少年!\n\n");
	
	cout << "得分: " << defen << "\n\n";
	
	cout << "选择模式:\n"; 
	cout << "输入1 : 简单 (密码取值范围:0-15)\n";
	cout << "输入2 : 普通 (密码取值范围:0-30)\n";
	cout << "输入3 : 困难 (密码取值范围:0-50)\n";
	printf( "输入4 :噩梦(密码取值范围:0-100)\n");
	printf( "输入5 :地狱(密码取值范围:0-200)\n");
	printf( "输入6 :喵(密码取值范围:0-500)\n");
	printf( "输入7 :自定义\n");
	printf( "输入8 : 了解更多\n");
	printf( "彩蛋提示:输入一个字母触发彩蛋。(字母的长音读音很像“哎”)\n");
	cout << "或者输入其他的键退出。\n";
	c = 30;

	cin >> c; 
	

	switch (c) {
		case '1':
			maxrand = 15;  
			break;
		case '2':
			maxrand = 30;
			break;
		case '3':
			maxrand = 50;
			break;
		case '8':
			printf("作者QQ号:2979972552\n");
			printf("最后更新时间:7月25日\n"); 
			printf("最新版:1.35正式版。\n\n");
			break;
		case '4':
			maxrand = 100;
			break;
		case '5':
			maxrand = 200;
			break;
		case '7':
			printf("最小数暂不能调整。\n");
			printf("请设定最大数:\n"); 
			cin >> maxrand;
			printf("请设定最大生命:\n");
			cin >> life;
			if (life >= maxrand){
				printf("别想着作弊!\n\n\n\n\n");
				Start();
			}	
			break;
		case '6':
			maxrand = 500;
			break;
		case 'i':
			printf("恭喜找到彩蛋!\n");
			printf("我们会告诉你一些更新的信息。\n");
			printf("1.37版本神秘修改!\n");
			printf("一串神秘的数字,似乎暗示了更新的信息。 1.3720190725\n\n");
			Start();
		default:
			printf("exit......");
			exit(0);
		break;
	}
        
	srand((unsigned)time(NULL)); 
	j = rand() % maxrand;  
	
	GetResults();
}

这个自定义函数定义了游戏开局需要的东西。

void GetResults() {
	if (life <= 0) { 
		cout << "“没猜出密码?重来!”\n";
	    defen = defen-3;
		printf("正在重启......\n\n");
	if (defen < 0){
	    printf("太不给力了,得分变负数了,给你改回零。\n\n\n");
		defen = 0;
	} 
		Start();
	}

	cout << "这个密码是什么? \n";
	cin >> i;
	
	if((i>maxrand) || (i<0)) { 
		cout << "错误:输入值超过最大值,最大值为:" << maxrand <<"\n\n";
		GetResults();
	}

	if(i == j) {
		cout << "“我才不轻易放人呢!继续!”\n";
		defen = defen+life;
		printf("正在重启......\n\n\n");
		Start();
	} else if(i>j) {
		cout << "“你大了!”\n";
		life = life - 1;
		cout << "剩余机会: " << life << "\n\n";
		GetResults();
	} else if(i<j) {
		cout << "“你小了!”\n";
		life = life - 1;
		cout << "剩余机会: " << life << "\n\n";
		GetResults();
	}
}

这是判断输赢的代码。

int main() {
	cout << "** 数字游戏 **\n";
	cout << "这个游戏的目的是猜一个密码。\n";
	cout << "喵你的人会告诉你猜的数太大还是......";
	cout << "与要查找的秘密号码相比小。\n\n";
	
	printf("1.35正式版更新报告:\n");
	printf("1、修复所有已知BUG。\n\n");
	
	printf("1.36体验资格有限,先到先得!\n\n");
	
	printf( "版本号为:1.35正式版 \n");
	printf( "1.5内测版被我不小心删了!!!\n");
	printf( "作者喵租服务器,不能做赛季积分了,请谅解。\n");
	printf( "1.35已更新!\n\n");
	
	printf( "我的同学(家里有电脑的)");
	printf( "可获得1.36bate版的体验资格。\n\n");
	
	printf("作者正在拼命修复BUG。\n");
	printf("有意见请把反馈内容发到 yueshilin2@outlook.com 中。\n\n");
	
	printf("最新体验版:正在编写。\n\n");
	
	printf("在选择模式那输入4也可以猜数字。\n\n"); 
	
	printf("暑假狂欢已开启!\n");
	printf("当前赛季:c2赛季(7月9日到8月31日)\n");
	printf("c3赛季(9月1日到10月31日)更新(1.7正式版)预报:");
	printf("1、部分新功能未定。\n"); 
	printf("2、修改彩蛋。\n");
	printf("3、剧情修改。\n\n");
	printf("本游戏已入驻“快”应用系列\n");
	Start();
	return 0;
}

这是主循环代码。

全部代码:

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

void Start();
void GetResults();

int i, j, life, maxrand, defen;
char c;

void Start() {
	i = 0;
	j = 0;
	life = 10;
	maxrand = 10;
	
	
	printf( "剧情:\n");
    printf("你叫冯坤,出生于皇家。\n");
	printf("一天,你和朋友去玩。\n");
	printf("突然,你眼前一黑,醒来时你已经被带到了一个密室。\n");
	printf("密室里很黑,你看不出是谁喵了你。\n");
	printf("你需要破解密码才能出去。\n");
	printf("加油吧!少年!\n\n");
	
	cout << "得分: " << defen << "\n\n";
	
	cout << "选择模式:\n"; 
	cout << "输入1 : 简单 (密码取值范围:0-15)\n";
	cout << "输入2 : 普通 (密码取值范围:0-30)\n";
	cout << "输入3 : 困难 (密码取值范围:0-50)\n";
	printf( "输入4 :噩梦(密码取值范围:0-100)\n");
	printf( "输入5 :地狱(密码取值范围:0-200)\n");
	printf( "输入6 :喵(密码取值范围:0-500)\n");
	printf( "输入7 :自定义\n");
	printf( "输入8 : 了解更多\n");
	printf( "彩蛋提示:输入一个字母触发彩蛋。(字母的长音读音很像“哎”)\n");
	cout << "或者输入其他的键退出。\n";
	c = 30;

	cin >> c; 
	

	switch (c) {
		case '1':
			maxrand = 15;  
			break;
		case '2':
			maxrand = 30;
			break;
		case '3':
			maxrand = 50;
			break;
		case '8':
			printf("作者QQ号:2979972552\n");
			printf("最后更新时间:7月25日\n"); 
			printf("最新版:1.35正式版。\n\n");
			break;
		case '4':
			maxrand = 100;
			break;
		case '5':
			maxrand = 200;
			break;
		case '7':
			printf("最小数暂不能调整。\n");
			printf("请设定最大数:\n"); 
			cin >> maxrand;
			printf("请设定最大生命:\n");
			cin >> life;
			if (life >= maxrand){
				printf("别想着作弊!\n\n\n\n\n");
				Start();
			}	
			break;
		case '6':
			maxrand = 500;
			break;
		case 'i':
			printf("恭喜找到彩蛋!\n");
			printf("我们会告诉你一些更新的信息。\n");
			printf("1.37版本神秘修改!\n");
			printf("一串神秘的数字,似乎暗示了更新的信息。 1.3720190725\n\n");
			Start();
		default:
			printf("exit......");
			exit(0);
		break;
	}
        
	srand((unsigned)time(NULL)); 
	j = rand() % maxrand;  
	
	GetResults();
}

void GetResults() {
	if (life <= 0) { 
		cout << "“没猜出密码?重来!”\n";
	    defen = defen-3;
		printf("正在重启......\n\n");
	if (defen < 0){
	    printf("太不给力了,得分变负数了,给你改回零。\n\n\n");
		defen = 0;
	} 
		Start(); 
	}

	cout << "这个密码是什么? \n";
	cin >> i;
	
	if((i>maxrand) || (i<0)) { 
		cout << "错误:输入值超过最大值,最大值为:" << maxrand <<"\n\n";
		GetResults();
	}

	if(i == j) {
		cout << "“我才不轻易放人呢!继续!”\n";
		defen = defen+life;
		printf("正在重启......\n\n\n");
		Start();
	} else if(i>j) {
		cout << "“你大了!”\n";
		life = life - 1;
		cout << "剩余机会: " << life << "\n\n";
		GetResults();
	} else if(i<j) {
		cout << "“你小了!”\n";
		life = life - 1;
		cout << "剩余机会: " << life << "\n\n";
		GetResults();
	}
}

int main() {
	cout << "** 数字游戏 **\n";
	cout << "这个游戏的目的是猜一个密码。\n";
	cout << "喵你的人会告诉你猜的数太大还是......";
	cout << "与要查找的秘密号码相比小。\n\n";
	
	printf("1.35正式版更新报告:\n");
	printf("1、修复所有已知BUG。\n\n");
	
	printf("1.36体验资格有限,先到先得!\n\n");
	
	printf( "版本号为:1.35正式版 \n");
	printf( "1.5内测版被我不小心删了!!!\n");
	printf( "作者喵租服务器,不能做赛季积分了,请谅解。\n");
	printf( "1.35已更新!\n\n");
	
	printf( "我的同学(家里有电脑的)");
	printf( "可获得1.36bate版的体验资格。\n\n");
	
	printf("作者正在拼命修复BUG。\n");
	printf("有意见请把反馈内容发到 yueshilin2@outlook.com 中。\n\n");
	
	printf("最新体验版:正在编写。\n\n");
	
	printf("在选择模式那输入4也可以猜数字。\n\n"); 
	
	printf("暑假狂欢已开启!\n");
	printf("当前赛季:c2赛季(7月9日到8月31日)\n");
	printf("c3赛季(9月1日到10月31日)更新(1.7正式版)预报:");
	printf("1、部分新功能未定。\n"); 
	printf("2、修改彩蛋。\n");
	printf("3、剧情修改。\n\n");
	printf("本游戏已入驻“快”应用系列\n");
	Start();
	return 0;
}

敬请期待下节课!


回复

上一页1 页 / 共 1下一页
4O3F0rbidden4O3F0rbidden

猴急申个精!

点赞0


评论


4O3F0rbidden4O3F0rbidden

下个帖深度解析

点赞0


评论


爱因斯坦的弟子爱因斯坦的弟子

棒棒棒

点赞0


评论


爱因斯坦的弟子爱因斯坦的弟子

对了,我问你一件事,就是到底CJW解散了吗

点赞0


评论


爱因斯坦的弟子爱因斯坦的弟子

代表我回复一下

点赞0


评论