升级版猜数字

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提!

Hello 大家好啊!大家可以看一下我写的一个类!!!

==========================================================================================

可曾想要不用实名认证的游戏?可曾想要不用网络就能玩的游戏?

现在就给大家一款升级版猜数字!

本游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。

为了您的健康,请合理控制游戏时间。

抵制不良游戏,拒绝盗版游戏。   

注意自我保护,谨防受骗上当。

适度游戏益脑,沉迷游戏伤身。

合理安排时间,享受健康生活。

绝对仿真  

#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
int getrand(int mn,int mx){
	return (rand()%(mx-mn+1))+mn;
}
void color(int n)
{
	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), n);
	return;
}
int main(){
	color(10);
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:----                                                                     10%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:----------                                                               20%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:--------------                                                            30%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:------------------------                                                  40%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:--------------------------------------                                    50%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:------------------------------------------------                          60%\n");
	Sleep(1000);
	system("cls");	
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:----------------------------------------------------------                70%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:------------------------------------------------------------------        80%\n");
	Sleep(1000);
	system("cls");
	cout<<endl<<endl<<endl<<endl;	
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:------------------------------------------------------------------------  90%\n");
	Sleep(1000);
	system("cls");	
	cout<<endl<<endl<<endl<<endl;
	printf("		╔═══╗\n");
    printf("		║╔═╗║\n");
    printf("		║║─╚╝ ╔╗╔╗ ╔══╗ ╔══╗ ╔══╗\n");
    printf("		║║╔═╗ ║║║║ ║║═╣ ║══╣ ║══╣\n");
    printf("		║╚╩═║ ║╚╝║ ║║═╣ ╠══║ ╠══║\n");
    printf("		╚═══╝ ╚══╝ ╚══╝ ╚══╝ ╚══╝\n");
	cout<<endl<<endl<<endl<<endl;
	printf("本网络游戏适合年满12周岁以上的用户使用,请您确定已如实进行实名注册。\n	为了您的健康,请合理控制游戏时间。\n	抵制不良游戏,拒绝盗版游戏。\n	注意自我保护,谨防受骗上当。\n	适度游戏益脑,沉迷游戏伤身。\n	合理安排时间,享受健康生活。\n");
	printf("游戏加载中:-------------------------------------------------------------------------100%\n");
	Sleep(1000);
	system("cls"); 
	printf("请选择语言(中文按'c' 英文按'e'):");
	char ch=getch();
	cout<<endl;
	if (ch=='c'){
		printf("                                   猜数字\n");
	printf("==============================================================================\n");
	printf("====                             1.开始游戏                               ====\n");
	printf("====                             2.游戏说明                               ====\n");
	printf("====                             3.更换皮肤                               ====\n");
	printf("====                             4.退出游戏                               ====\n");
	printf("==============================================================================\n");
	char ch=getch();
	bool flg=0;
	if (ch=='2'){
		printf("本游戏是随机给你一个数,让你猜,只会告诉你大了还是少了,让你在规定的步数内猜到此数字!\n");
		printf("更新内容:可以换颜色!\n");
		printf("开始游戏: 按 s   换颜色:按 c\n");
		ch=getch();
		if (ch=='c'){
			system("cls");
			printf("日间亮:按1\n");
			printf("幽深海:按2\n");
			printf("茂盛林:按3\n");
			printf("暗夜紫:按4\n");
			printf("开始游戏:按s\n");
			while (1){
				ch=getch();
				if (ch=='1') system("color F0");
				else if (ch=='2') system("color 1B");
				else if (ch=='3') system("color 20");
				else if (ch=='4') system("color 0D");
				else if (ch=='s'){
					flg=1;
					break;
				}
			}
			
		}
		else flg=1;
	}
	if (ch=='3'){
		system("cls");
			printf("日间亮:按1\n");
			printf("幽深海:按2\n");
			printf("茂盛林:按3\n");
			printf("暗夜紫:按4\n");
			printf("开始游戏:按s\n");
			while (1){
				ch=getch();
				if (ch=='1') system("color F0");
				else if (ch=='2') system("color 1B");
				else if (ch=='3') system("color 20");
				else if (ch=='4') system("color 0D");
				else if (ch=='s'){
					flg=1;
					break;
				}
			}
	}
	if (ch=='1'||flg){
	system("cls");
	printf("            难度\n");
	printf("==============================\n");
	printf("===        1.简单(1-100)   ===\n");
	printf("===        2.中等(1-1000)  ===\n");
	printf("===        3.困难(1-10000) ===\n");
	printf("==============================\n");
	ch=getch();
	srand(time(0));
	int r;
	int step=10;
	int tot=10;
	if (ch=='1') r=getrand(1,100);
	else if (ch=='2') r=getrand(1,1000),step=12,tot=12;
	else r=getrand(1,10000),step=15,tot=15;
	system("cls");
	printf("来自:Edward\n"); 
	printf("Edward出版,绝对精品!\n"); 
	printf("生成数字中 …       20%\n");
	Sleep(1500);
	system("cls");
	printf("来自:Edward\n"); 
	printf("Edward出版,绝对精品!\n"); 
	printf("生成数字中 ……     80%\n");
	Sleep(1500);
	system("cls");
	printf("来自:Edward\n"); 
	printf("Edward出版,绝对精品!\n"); 
	printf("生成完毕 …………  100%\n");
	Sleep(1000);
	int n;
	while (1){
		system("cls");
		printf("请猜数:");
		cin>>n;
		if (n==r) {
			cout<<"猜中了!您只用了"<<tot-step+1<<"步!"<<endl;	
			cout<<"想玩更难更刺激的!请拭目以待!"<<endl;
			return 0;
		}
		else if (n<r) {
			cout<<"猜小了哦!"<<endl;
			cout<<"只剩"<<--step<<"步了!加油!"<<endl;
		}
		else if (n>r){
			cout<<"猜大了哦!"<<endl;
			cout<<"只剩"<<--step<<"步了!加油!"<<endl;
		}
		if (step<=0){
			system("cls");
			cout<<"     失败"<<endl;
			cout<<"还需要多加练习呢!"<<endl;
			return 0;
		}
		Sleep(2000);
	} 
	
	}
}
	
	else {
		printf("                        Guess the number\n");
	printf("==============================================================================\n");
	printf("====                          1.Start the Game                            ====\n");
	printf("====                          2.Game Introduction                         ====\n");
	printf("====                          3.Change Color                              ====\n");
	printf("====                          4.End the Game                              ====\n");
	printf("==============================================================================\n");
	char ch=getch();
	bool flg=0;
	if (ch=='2'){
		printf("This game is  giving you a number and let you guess, it will only tell you bigger or smaller,hope you can guess the right number in steps!\n");
		printf("Upload:You can change color!\n");
		printf("start the game: press 's''   Change color:press 'c'\n");
		ch=getch();
		if (ch=='c'){
			system("cls");
			printf("Day light:     press '1'\n");
			printf("deap ocean:    press '2'\n");
			printf("croudy forest: press '3'\n");
			printf("dark purple:   press '4'\n");
			printf("start the game:press 's'\n");
			while (1){
				ch=getch();
				if (ch=='1') system("color F0");
				else if (ch=='2') system("color 1B");
				else if (ch=='3') system("color 20");
				else if (ch=='4') system("color 14");
				else if (ch=='s'){
					flg=1;
					break;
				}
			}
			
		}
		else flg=1;
	}
	if (ch=='3'){
		system("cls");
			printf("Day light:     press '1'\n");
			printf("deap ocean:    press '2'\n");
			printf("croudy forest: press '3'\n");
			printf("dark purple:   press '4'\n");
			printf("start the game:press 's'\n");
			while (1){
				ch=getch();
				if (ch=='1') system("color F0");
				else if (ch=='2') system("color 1B");
				else if (ch=='3') system("color 20");
				else if (ch=='4') system("color 0D");
				else if (ch=='s'){
					flg=1;
					break;
				}
			}
	}
	if (ch=='1'||flg){
	system("cls");
	printf("          Difficult\n");
	printf("==============================\n");
	printf("===      1.Easy(1-100)     ===\n");
	printf("===      2.Middle(1-1000)  ===\n");
	printf("===      3.Hard(1-10000)   ===\n");
	printf("==============================\n");
	ch=getch();
	srand(time(0));
	int r;
	int step=10; 
	int tot=10;
	if (ch=='1') r=getrand(1,100);
	else if (ch=='2') r=getrand(1,1000),step=12,tot=12;
	else r=getrand(1,10000),step=15,tot=15;
	system("cls");
	printf("By:Edward\n"); 
	printf("Published by Edward, absoulutaly nice!\n"); 
	printf("Generating numbers …       20%\n");
	Sleep(1500);
	system("cls");
	system("cls");
	printf("By:Edward\n"); 
	printf("Published by Edward, absoulutaly nice!\n"); 
	printf("Generating numbers ……     80%\n");
	Sleep(1500);
	system("cls");
	system("cls");
	printf("By:Edward\n"); 
	printf("Published by Edward, absoulutaly nice!\n"); 
	printf("Generating numbers finished…………  100%\n");
	Sleep(1000);
	int n;
	while (1){
		system("cls");
		printf("Please guess the number:");
		cin>>n;
		if (n==r) {
			cout<<"You have guessed the right number!You only use "<<tot-step+1<<" steps!"<<endl;	
			cout<<"Want to play harder and more exciting! Please wait and see!"<<endl;
			return 0;
		}
		else if (n<r) {
			cout<<"Guess is too small!"<<endl;
			cout<<"Only "<<--step<<" steps!Keep going!"<<endl;
		}
		else if (n>r){
			cout<<"Guess is too big!"<<endl;
			cout<<"Only "<<--step<<" steps!Keep going!"<<endl;
		}
		if (step<=0){
			system("cls");
			cout<<"     Defeat"<<endl;
			cout<<"You need more practice!"<<endl;
			return 0;
		}
		Sleep(2000);
	} 
	}
	}
	system("pause");
	return 0;
}

最后赠出二分算法


概念:二分算法,又称折半查找,即在一个单调有序的集合中查找一个解。每次分为左右两部分,判断解在哪个部分中并调整上下界,直到找到目标元素,每次二分后都将舍弃一半的查找空间。
2.算法复杂度:O(logn)
3.二分法常见模型
(1)二分查找
在一个单调有序的区间上求解分界点。
(2)二分答案
最小值最大(最大值最小)问题,这类双最值问题常常选用二分法求解,也就是确定答案后,配合贪心、DP等其他算法检验这个答案是否合理,将最优化问题转换为判定性问题。
注:一般题目默认在一个从小到大的区间上。
————————————————
二分参考链接:https://blog.csdn.net/qq_52122749/article/details/121741866

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值