栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

锻炼手速小游戏

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

锻炼手速小游戏

//By 小跳蛙
#include
#include
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)&0x8000)?1:0)
using namespace std;
int N=15,Numk=50,Numl=5,Numd=100,Nan=40,Hp=10,Bebc=15,Bebh=16,Bebb=10,squ=3;
struct node
{
    int x,y,vf,bv;
    inline void init() {x=rand()%N+1,y=rand()%N+1,bv=rand()%3+1;}
    inline void move() {x++;if(x>N) init(),x=1;}
}k[10005],l[10005],d[10005];
int x,y,hp,score,mp[25][25],udf,numc,numh,numb,bulc,bulh,bulb,lanf;
inline void add(int &x,int y) {x+=y,x=max(x,1),x=min(x,N);}
void color(int a) {SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);}
inline int read()
{
    int r=0;char c=getchar();
    while(c>'9'||c<'0') c=getchar();
    while(c>='0'&&c<='9') (r*=10)+=c-'0',c=getchar();
    return r;
}
inline void print(int x,int y,string s)
{
    HANDLE hOut;COORD pos;
    hOut=GetStdHandle(STD_OUTPUT_HANDLE),pos.X=y,pos.Y=x;
    SetConsoleCursorPosition(hOut,pos),cout<35)
    {
        if(lanf==1) puts("Please Input an Integer: The Size of the Game(from 3 to 35):n");
        if(lanf==0) puts("请输入一个整数:游戏界面的大小(3 ~ 35)n");
        print(2,0," "),t=read(),N=t,system("cls");
    }
    system("cls"),t=-1;
    while(t<1||90100)
    {
        if(lanf==1) puts("Please Imput an Integer: The Total HP of You(from 1 to 100):n");
        if(lanf==0) puts("请输入一个整数:初始生命值(1 ~ 100)n");
        print(2,0," "),t=read(),Hp=t,system("cls");
    }
    system("cls"),t=-1;
    while(t<1||t>100)
    {
        if(lanf==1) puts("Please Input an Integer: The Bullet You Have at First(from 1 to 100):n");
        if(lanf==0) puts("请输入一个整数:初始狙击枪子弹数(1 ~ 100)n");
        print(2,0," "),t=read(),Bebc=t,system("cls");
    }
    system("cls"),t=-1;
    while(t<1||t>100)
    {
        if(lanf==1) puts("Please Input an Integer: The Bullet You Have at First(from 1 to 100):n");
        if(lanf==0) puts("请输入一个整数:初始高射炮子弹数(1 ~ 100)n");
        print(2,0," "),t=read(),Bebh=t,system("cls");
    }
    system("cls"),t=-1;
    while(t<1||t>100)
    {
        if(lanf==1) puts("Please Input an Integer: The Bullet You Have at First(from 1 to 100):n");
        if(lanf==0) puts("请输入一个整数:初始大炮子弹数(1 ~ 100)n");
        print(2,0," "),t=read(),Bebb=t,system("cls");
    }
}
inline void work()
{
    init();
    int die=1,luck=1,dowm=1,t;
    while(1)
    {
        for(int i=1;i<=Numk;i++) (k[i].vf+=1)%=k[i].bv;
        for(int i=1;i<=Numl;i++) (l[i].vf+=1)%=l[i].bv;
        for(int i=1;i<=Numd;i++) (d[i].vf+=1)%=d[i].bv;
        for(int i=1;i<=Numk;i++) if(k[i].y<=N&&k[i].x>0&&k[i].vf==0) print(k[i].x,k[i].y," ");
        for(int i=1;i<=Numl;i++) if(l[i].y<=N&&l[i].x>0&&l[i].vf==0) print(l[i].x,l[i].y," ");
        for(int i=1;i<=Numd;i++) if(d[i].y<=N&&d[i].x>0&&d[i].vf==0) print(d[i].x,d[i].y," ");
        t=0; 
        if(!udf&&(KEY_DOWN(87)||KEY_DOWN(38)||KEY_DOWN(104))) t=1;
        if(!udf&&(KEY_DOWN(83)||KEY_DOWN(40)||KEY_DOWN(101))) t=1;
        if(KEY_DOWN(65)||KEY_DOWN(37)||KEY_DOWN(100)) t=1;
        if(KEY_DOWN(68)||KEY_DOWN(39)||KEY_DOWN(102)) t=1;
        if(t) print(x,y," ");move_thi(),move_peo();
        for(int i=1;i<=Numk;i++) if(k[i].y<=N&&k[i].x>0&&k[i].vf==0) color(4),print(k[i].x,k[i].y,"&"),color(7);
        for(int i=1;i<=Numl;i++) if(l[i].y<=N&&l[i].x>0&&l[i].vf==0) color(2),print(l[i].x,l[i].y,"+"),color(7);
        for(int i=1;i<=Numd;i++) if(d[i].y<=N&&d[i].x>0&&d[i].vf==0) color(14),print(d[i].x,d[i].y,"!"),color(7);
        if(t) print(x,y,"*");
        die=check_die(),luck=check_luck(),dowm=check_dowm();
        if(!luck) print(hp/30+17,N+2+hp%30,"-"),hp++,score+=20,(numc+=rand()%10+5)*=bulc,(numh+=rand()%5+5)*=bulh,(numb+=rand()%5)*=bulb;
        if(!die) print((hp-1)/30+17,N+2+(hp-1)%30," "),hp--,score--;
        if(!dowm) score+=50;
        if((!die||!luck||!dowm)&&!t) print(x,y,"*");
        if(hp<=0) return;
        int xx=0,xw=1,yy=0,_90=0,_88=0,_67=0,_32=0;
        for(int i=1;i<=Numk;i++) if(k[i].y==y&&xxxx;i--) print(i,y,"|");_32=1,color(112),print(15,N+8," Space "),color(7);}else print(15,N+8," Space ");
        if(KEY_DOWN(90)&&numc>0)
        {
            numc--,color(112),print(13,N+9," Z "),color(7),_90=1;
            if(xx!=0&&numc>0) for(int i=x-1;i>=xx;i--) print(i,y,"|");
        }
        else print(13,N+9," Z ");
        if(KEY_DOWN(88)&&numh>0)
        {
            numh--,color(112),print(13,N+12," X "),color(9),_88=1;
            if(xx!=0&&numc>0) for(int i=x-1;i>=1;i--) print(i,y,"|");
            color(7);
        }
        else print(13,N+12," X ");
        if(KEY_DOWN(67)&&numb>0)
        {
            numb--,color(112),print(13,N+15," C "),color(12),_67=1;
            if(xx!=0&&numc>0) for(int i=x-1;i>=xx;i--) print(i,y,"|");
            color(7);
        }
        else print(13,N+15," C ");
        for(int i=N+28;i<=N+35;i++) print(1,i," ");
        for(int i=N+28;i<=N+35;i++) print(3,i," ");
        for(int i=N+33;i<=N+38;i++) print(5,i," ");
        for(int i=N+31;i<=N+36;i++) print(7,i," ");
        for(int i=N+30;i<=N+36;i++) print(9,i," ");
        print(1,N+29,":"),printf("%d",hp);
        print(3,N+29,":"),printf("%d",score);
        print(5,N+33,":"),printf("%d",numc);
        print(7,N+31,":"),printf("%d",numh);
        print(9,N+30,":"),printf("%d",numb);
        Sleep(Nan);
        if(_32==1) {for(int i=x-1;i>xx;i--) print(i,y," ");}
        if(xx!=0&&_90)
        {
            for(int i=x;i>=xx;i--) print(i,y," ");
            if(xw<=Numk) k[xw].init(),k[xw].x=0,score++;
            else if(xw<=Numk+Numl) l[xw-Numk].init(),l[xw-Numk].x=0,score+=20;
            else d[xw-Numk-Numl].init(),d[xw-Numk-Numl].x=0,score++,(numc+=rand()%10+5)*=bulc,(numh+=rand()%5+5)*=bulh,(numb+=rand()%5)*=bulb;
        }
        if(_88)
        {
            for(int i=x;i>=1;i--) print(i,y," ");
            for(int i=1;i<=Numk;i++) if(k[i].y==y) k[i].init(),k[i].x=0,score++;
            for(int i=1;i<=Numl;i++) if(l[i].y==y) l[i].init(),l[i].x=0,score+=20;
            for(int i=1;i<=Numd;i++) if(d[i].y==y) d[i].init(),d[i].x=0,score++,(numc+=rand()%10+5)*=bulc,(numh+=rand()%5+5)*=bulh,(numb+=rand()%5)*=bulb;
        }
        if(xx!=0&&_67)
        {
            for(int i=x;i>=1;i--) print(i,y," ");
            for(int i=1;i<=Numk;i++)
                if(k[i].y>=yy-squ&&k[i].y<=yy+squ&&k[i].x>=xx-squ&&k[i].x<=xx+squ&&k[i].x>=1&&k[i].y<=N)
                    print(k[i].x,k[i].y," "),k[i].init(),k[i].x=0,score++;
            for(int i=1;i<=Numl;i++)
                if(l[i].y>=yy-squ&&l[i].y<=yy+squ&&l[i].x>=xx-squ&&l[i].x<=xx+squ&&l[i].x>=1&&k[i].y<=N)
                    print(l[i].x,l[i].y," "),l[i].init(),l[i].x=0,score++;
            for(int i=1;i<=Numd;i++)
                if(d[i].y>=yy-squ&&d[i].y<=yy+squ&&d[i].x>=xx-squ&&d[i].x<=xx+squ&&d[i].x>=1&&k[i].y<=N)
                    print(d[i].x,d[i].y," "),d[i].init(),d[i].x=0,score++,(numc+=rand()%10+5)*=bulc,(numh+=rand()%5+5)*=bulh,(numb+=rand()%5)*=bulb;
        }
        score++;
    }
}
int main()
{
    Begin();
    while(1)
    {
        choose(),work(),die();int t=0;
        while(1)
        {
            if(lanf==1)
            {
                print(5,0," ");
                if(t==1) puts(" Yes ");else color(112),puts(" Yes "),color(7);
                print(6,0," ");
                if(t==0) puts(" No ");else color(112),puts(" No "),color(7);
            }
            if(lanf==0)
            {
                print(5,0," ");
                if(t==1) puts(" 是 ");else color(112),puts(" 是 "),color(7);
                print(6,0," ");
                if(t==0) puts(" 否 ");else color(112),puts(" 否 "),color(7);
            }
            if(KEY_DOWN(13)||KEY_DOWN(108)) break;
            if(KEY_DOWN(87)||KEY_DOWN(83)||KEY_DOWN(38)||KEY_DOWN(40)||KEY_DOWN(104)||KEY_DOWN(101)) t=1-t;
            Sleep(100);
        }
        if(t==1) return 0;
        system("cls");
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/656950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号