蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提!
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