- 游戏
- 2025-04-10 13:22:17 @
#include<bits/stdc++.h>
#include"windows.h"
using namespace std;
int r[11],cx[11],d,i,j,p,x,xx,xxx,rt,ret,stn,s,sd,sdn,k,tn,h,z,zx,wt,kkk,wek;
double money,c[11],n,b,bx,re,use,mb,dm,df,dx,cn,cun,nnn,tou;
bool bk,cj[11],hhh=1,ct=1;
void printn();
int main()
{
printf("炒股票:(BY:Wkykw)\n");
printf("你将进行一些操作来买卖股票\n");
printf("你有一定的财富用于自由购买\n");
printf("但当你的负债大于1000元时,你将破产\n");
printf("请注意:即使不进行任何操作,每天仍会有不少于当前现金的千分之一的消耗\n");
printf("注:-1为自选模式,0为无限模式\n");
printf("\n请按回车键继续...");
getchar();
system("cls") ;
printf("请输入你想要的难度(-1~6)");
scanf("%d",&k);
if(k<=6&&k>=-1)
{
switch(k)
{
case -1:
printf("\n你期望的现金?") ;
scanf("%lf",&money);
printf("\n你期望的目标?") ;
scanf("%lf",&mb);
printf("\n你期望的日期?") ;
scanf("%d",&tn);
k=4;
break;
case 0:
money=1000000;
mb=9999999.99;
tn=9999999;
break;
case 1:
money=10000;
mb=1000;
tn=1000;
break;
case 2:
money=20000;
mb=5000;
tn=100;
break;
case 3:
money=30000;
mb=15000;
tn=90;
break;
case 4:
money=50000;
mb=30000;
tn=80;
break;
case 5:
money=100000;
mb=100000;
tn=70;
break;
case 6:
money=300000;
mb=700000;
tn=60;
break;
}
if(k==0)
{
k=7;
}
}
else
{
return 0;
}
kkk=k;
nnn=money;
for(i=1;i<=k+2;i++)c[i]=i*100.00;
printf("\n你需要在%d天内赚%.2lf元\n",tn,mb);
printf("你的初始资金为%.2lf元\n",money);
printf("祝君游戏愉快。\n");
printf("\n请按回车键继续...");
getchar();
getchar();
mb+=money;
system("cls") ;
system("color 7E");
/* START */
do
{
if(hhh)
d++;
system("cls");
printf("指令:0=过,1=买,2=卖,3=借,4=还,5=存,6=取");
if(!hhh)printf(",666=正常模式");
if(k==7)printf(",7=GAME OVER");
printf("\nDay %d:\n",d);
srand(clock());
wt=rand()%600;
if(wt==0)
{
printf("系统缺钱,向你借了%.2lf元\n",money/3);
money/=1.5;
}
if(wt>590)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 你遭受了偷窃!\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_GREEN|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
tou=money*(k+2)/10;
money-=tou;
}
if(tou&&wt<400&&wt>380)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 你的财富得以追回!\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_GREEN|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
money+=tou;
}
if(d>=3)
if(stn)
{
srand((int)time(0)),s=rand()%(k/2+1);
if(s&&hhh)
{
sd++;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 金融危机第%d天\n",sd);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_GREEN|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
sdn=rand()%30+10;
}
else
sd=0,sdn=0,stn=0;
}
else
{
srand((int)time(0));
s=rand()%10;
if(!s&&hhh)
{
sd=1;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 金融危机!\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
sdn=20;
stn=1;
}
}
if(d>1&&hhh)
{
srand((int)time(0));
use=rand()%50+sdn+money/1000;
money-=use;
df+=use;
}
printf("当前资产:%.2lf\n",money);
if(k!=7)
{
printf("我的目标:%.2lf\n",mb);
printf("还剩%d天\n",tn-d+1);
}
dx=dm-df;
if(dx>0)
{
printf("昨日净赚:%.2lf\n",dx);
}
else
printf("昨日净亏:%.2lf\n",-dx);
re=re*1.7;
cun*=1.005;
printf("今日还款额度:%.2lf\n",re);
printf("当前借款:%.2lf\n",bx);
printf("当前存款:%.2lf\n",cun);
if(d==ret-1)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf("明天你必须还钱!\n");
}
if(d==ret&&hhh)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf("现在你必须还钱!\n");
money-=b*re;
ret=0;
bk=0;
re=0;
df+=n;
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
if(money<-1000&&hhh) break;
printf(" 股市情况: 股价(元/股) 当前持有量 增/降百分点\n");
for(i=1;i<=k+2;i++)
{
printf(" ");
x=rand()% (120-k*10);
if(c[i]<10.00)
{
h+=2;
x+=5;
if(c[i]<1.00)
{
h+=2;
x+=10;
if(c[i]<0.1)
{
h+=2;
x+=25;
}
}
}
r[i]=x-25-min((sdn/2),50)+h;
z+=r[i];
zx+=r[i];
c[i]*=r[i]*0.01+1;
if(z<-240||zx<-80)
{
h+=1;
}
else
{
if((z>320||zx>100)&&hhh)
{
h-=1;
}
}
srand(clock());
Sleep(x+15);
if(i%2==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY|
BACKGROUND_BLUE);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY|
BACKGROUND_INTENSITY|BACKGROUND_BLUE);
}
printf(" 公司%d",i);
printf("%18.6f%12d ",c[i],cx[i]);
if(r[i]>=0)
{
if(i%2==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_INTENSITY|BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
}
else
{
if(i%2==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_INTENSITY|BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
}
zx=0;
printf("********************************************************************************");
while(1)
{
printf("\n接下来你要做什么?\n");
scanf("%d",&x);
if(x==0)
{
system("color F0");
Sleep(100);
system("color 7E");
break;
}
if((x>0&&x<7)||x==666||(x==8&&k==7))
switch(x)
{
case 1:
printf("买那个?\n");
scanf("%d",&xx);
printf("买多少?\n");
scanf("%d",&xxx);
n=c[xx]*xxx;
if(xx>0&&xx<k+3&&xxx>0)
if(money>=n)
{
printf("交易成功!\n");
money-=n;
cx[xx]+=xxx;
df+=n;
}
else
{
printf("你买不起!\n");
}
else
{
printf("无效操作\n");
}
break;
case 2:
printf("卖那个?\n");
scanf("%d",&xx);
printf("卖多少?\n");
scanf("%d",&xxx);
n=c[xx]*xxx;
if(xx>0&&xx<k+3)
{
if(cx[xx]>=xxx)
{
printf("交易成功!\n");
money+=n;
if(hhh)
cx[xx]-=xxx;
dm+=n;
}
else
{
printf("股票不足!\n");
break;
}
}
else
{
printf("无效操作\n");
}
break;
case 3:
if(!bk)
{
printf("借多少?\n");
scanf("%lf",&bx);
if(bx<=money)
{
if(bx<=0)
{
printf("无效操作\n");
break;
}
money+=bx;
b=bx;
ret=d+14;
if(hhh)
bk=1,re=0.01;
if(hhh)
printf("交易成功!两周内你必须还钱!\n");
}
else
printf("你还不能借这么多钱!\n");
}
else
printf("你现在不能借钱!\n");
break;
case 4:
if(b*re>money+1000)
{
printf("你无力还钱!\n");
break;
}
if(b==0)
{
printf("你无需还钱!\n");
break;
}
money-=b*re;
ret=0;
re=0;
bk=0;
df+=n;
printf("还钱成功!\n");
break;
case 5:
printf("存多少?\n");
scanf("%lf",&cn);
if(cn<=0)
{
printf("无效操作\n");
break;
}
if(money>=cn)
{
cun+=cn;
money-=cn;
printf("存款成功!\n");
break;
}
else
{
printf("你没有这么多钱!\n");
break;
}
case 6:
if(cun==0||hhh==0)
{
printf("你没有存款!\n");
break;
}
else
{
money+=cun;
cun=0;
printf("取款成功!\n");
break;
}
case 7:
ct=0;
break;
case 666:
if(hhh)
{
printf("你是否进入无敌模式?\n是=1\n");
scanf("%d",&xx);
if(xx==1){
system("color 02");
Sleep(300);
printn();
Sleep(300);
system("color 02");
Sleep(300);
printn();
Sleep(300);
printf("Nice\n");
k=7;
money+=1000000;
for(i=1;i<=k+2;i++)
{
cx[i]=99999;
h=1000;
hhh=0;
}
}
}
else
{
printf("你是否退出无敌模式?\n是=1\n");
scanf("%d",&xx);
if(xx==1){
system("color 02");
Sleep(300);
printn();
Sleep(300);
system("color 02");
Sleep(300);
printn();
Sleep(300);
printf("Well\n");
k=kkk;
money+=1000000;
h=-10;
hhh=1;
}
}
break;
}
else
printf("无效操作\n");
getchar();
getchar();
printn();
}
df=0,dm=0;
/*
if(d%7==0)
{
system("cls");
wek=d/7;
printf("这是第%d周\n",wek);
printf("是否资助?(是1否0)\n",wek);
scanf("%d",&x) ;
if(x==1)
{
printf("资助哪个?\n");
scanf("%d",&x) ;
while(x<0&&x>k+3)
{
printf("无效操作");
scanf("%d",&x) ;
}
}
}*/
}
while(money>-1000&&((money-bx<mb&&d<tn)||(k==7)&&ct));
/* GAME OVER */
system("color F0");
if(money>=mb)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE|BACKGROUND_INTENSITY);
printf("************************************YOU WIN!************************************\n");
printf("你在%d天内用%.2f元赚取了%.2f元",d,nnn,money-nnn);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE|BACKGROUND_INTENSITY);
printf("***********************************YOU LOSE!************************************\n");
if(money<-1000)
{
printf("你破产了!\n");
}
printf("你的最终资金:%.2f",money);
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE|BACKGROUND_INTENSITY);
getchar() ;
}
void printn()
{
system("cls") ;
system("color 7E");
printf("指令:0=过,1=买,2=卖,3=借,4=还,5=存,6=取");
if(!hhh)printf(",666=正常模式");
if(k==7)printf(",7=GAME OVER");
printf("\nDay %d:\n",d);
if(d>=3)
if(stn)
{
if(s&&hhh)
{
sd++;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 金融危机第%d天\n",sd);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|FOREGROUND_GREEN|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
}
}
else
{
if(!s&&hhh)
{
sd=1;
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 金融危机!\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
}
}
printf("当前资产:%.2lf\n",money);
if(k!=7)
{
printf("我的目标:%.2lf\n",mb);
printf("还剩%d天\n",tn-d+1);
}
if(dx>0)
printf("昨日净赚:%.2lf\n",dx);
else
printf("昨日净亏:%.2lf\n",-dx);
printf("今日还款额度:%.2lf\n",re);
printf("当前借款:%.2lf\n",bx);
printf("当前存款:%.2lf\n",cun);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
printf(" 股市情况: 股价(元/股) 当前持有量 增/降百分点\n");
for(i=1;i<=k+2;i++)
{
printf(" ");
if(i%2==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY|
BACKGROUND_BLUE);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY|
BACKGROUND_INTENSITY|BACKGROUND_BLUE);
}
printf(" 公司%d",i);
printf("%18.6f%12d ",c[i],cx[i]);
if(r[i]>=0)
{
if(i%2==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_INTENSITY|BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
}
else
{
if(i%2==0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
else
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_INTENSITY|
BACKGROUND_INTENSITY|BACKGROUND_BLUE);
printf("%7d% \n",r[i]);
}
}
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_INTENSITY|
BACKGROUND_GREEN|BACKGROUND_RED|BACKGROUND_BLUE);
}
zx=0;
printf("********************************************************************************");
}
0 条评论
目前还没有评论...