C++股商游戏

这篇博客探讨了使用C++进行游戏开发,重点在于实现一个股商游戏的详细过程。通过代码段展示了如何利用C++的强大功能来设计游戏逻辑,包括股票交易、玩家策略等关键元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码段:

#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("炒股票\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;
            SetConsoleTe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值