社区讨论

抽卡游戏~~~

灌水区参与者 6已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lywzo8qm
此快照首次捕获于
2024/07/22 20:54
2 年前
此快照最后确认于
2024/07/22 21:53
2 年前
查看原帖
话不多说,直接上代码我不相信有人连我的代码都看不懂
CPP
#include<bits/stdc++.h>
#include<time.h>
#include<windows.h>
#define int long long
#define kd(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)
using namespace std;
void gotoxy(int x, int y){
	COORD pos={x,y};
	HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut,pos);
}
void noedit(){
	HANDLE hStdin=GetStdHandle(STD_INPUT_HANDLE);
	DWORD mode;
	GetConsoleMode(hStdin,&mode);
	mode&=~ENABLE_QUICK_EDIT_MODE;
	mode&=~ENABLE_INSERT_MODE;
	mode&=~ENABLE_MOUSE_INPUT;
	SetConsoleMode(hStdin,mode);
}
void HideCursor(){
	CONSOLE_CURSOR_INFO cur={1,0};
	SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cur);
}
string chou(){
	int n=rand()%20;
	if(n>18)return "UR";
	if(n>17)return "SSR";
	if(n>15)return "SR";
	if(n>8)return "R";
	return "N";
}
string chou2(){
	int n=rand()%50;
	if(n>18)return "UR";
	if(n>17)return "SSR";
	if(n>15)return "SR";
	if(n>8)return "R";
	return "N";
}
signed main(){
	noedit();
	HideCursor();
	srand(time(NULL));
	char c;
	double mm=0;
	while(1){
		double n=0,m=0;
		for(int j=1;j<=10;j++){
			n=0;
			for(int i=1;i<=20;i++){
				string s=chou();
				printf("%s ",s.c_str());
				if(s=="R")n+=0.2;
				else if(s=="SR")n+=0.5;
				else if(s=="SSR")n+=1;
				else if(s=="UR")n+=2;
			}
			printf("            \n");
			m=max(m,n);
			mm=max(mm,m);
		}
		cout<<"         "<<endl<<"最高稀有值:"<<m<<"       ";
		cout<<"         "<<endl<<"最高纪录:"<<mm<<"       ";
		c=getchar();
		gotoxy(0,0);
	}
	return 0;
}

小知识:把
CPP
string s=chou();
里面的
CPP
chou()
改成
CPP
chou2()
能开启隐藏幸运加成模式
附录:
稀有值计算方法:
UR=2
SSR=1
SR=0.5
R=0.2
N=0 (这么低怎么能稀有呢)
完结撒花! 没有花的图案?

回复

6 条回复,欢迎继续交流。

正在加载回复...