社区讨论

小河流(wgzs)

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

讨论操作

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

当前回复
17 条
当前快照
1 份
快照标识符
@m1t1w0u3
此快照首次捕获于
2024/10/03 16:44
去年
此快照最后确认于
2025/11/05 00:04
4 个月前
查看原帖
给大家做了一个小河流,可以解压用
CPP
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
const int n=100,m=2;
int x=50,y=60,sum,suf;
void hide(){CONSOLE_CURSOR_INFO cursor_info={1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);}
void load()
{
	int fk=0;
	for(int i=1;i<=100;++i)
	{
		system("cls");
		cout<<"loading the river";
		for(int j=0;j<=i%3;++j) cout<<".";
		cout<<"\n";
		if(i%5==0)
		{
			fk++;
		}
		cout<<"【";
		for(int i=1;i<=fk;++i) cout<<"■";
		for(int i=fk+1;i<=20;++i) cout<<"  ";
		cout<<"】";
		if(fk==19) Sleep(2000);
		else Sleep(50);
	} 
	return;
}
int main()
{
	hide();
	srand(time(0));
	load();
	system("cls");
	while(1)
	{
		int f=rand()%(m+m)-m+0.75,st=0;
		if(x<10) sum++;
		if(y>90) suf++;
		if(f<0) sum++;
		else suf++;
		if(sum>1)
		{
			f=-f;
			sum--;
		}
		if(suf>3)
		{
			f=-f;
			suf--;
		}
		if(x+f-1<0) f=-f;
		else if(y+f>n) f=-f;
		x+=f,y+=f;
		st=rand()%n+1;
		for(int i=1;i<=x;++i)
		{
			if(i==st) cout<<" ";
			else cout<<"*";
		}
		for(int i=x+1;i<=y;++i) cout<<" ";
		for(int i=y+1;i<=n;++i)
		{
			if(i==st) cout<<" ";
			else cout<<"*";
		}
		cout<<'\n';
		Sleep(5);
	}
	return 0;
}

回复

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

正在加载回复...