吃糖果(自创小游戏,不喜勿喷)

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>
#include <time.h>
#include <conio.h>
#define gg 15
#define kk 50


int x=0,y=0;
void mm(char a[gg+10][kk+10])//打印地图
{
    int c,b;
    for(c=0;c<=gg;c++)
    {
        for(b=0;b<=kk;b++)
        {
            printf("%c",a[c][b]);
        }
        printf("\n");
    }
}



int main()
{
    int m,n,b,c,g=1,k=0,l;
    char i[gg+10][kk+10],j;
    srand(time(NULL));
    for(b=0;b<=gg;b++)
    {
        for(c=0;c<=kk;c++)
        {
            i[b][c]=42;
        }
    }
    i[x][y]=2;
    m=rand()%gg;
    n=rand()%kk;
    i[m][n]=21;
    mm(i);
    HANDLE hOutput;
    COORD coord={0,0};
    hOutput=GetStdHandle(STD_OUTPUT_HANDLE);
    getch();
    while(1)
    {
        if(k>=10)
            l=10;
        else l=k;
        Sleep(100-l*10);
        if(kbhit()!=0)
        {
            j=getch();
        }
        else
        {
            if(j=='w')
            {
                i[x][y]=42;
                x=x-1;
                if(x<0)
                    x=0;
                i[x][y]=2;
            }
            else if(j=='s')
            {
                i[x][y]=42;
                x+=1;
                if(x>gg)
                    x=gg;
                i[x][y]=2;
            }
            else if(j=='a')
            {
                i[x][y]=42;
                y-=1;
                if(y<0)
                    y=0;
                i[x][y]=2;
            }
            else if(j=='d')
            {
                i[x][y]=42;
                y+=1;
                if(y>kk)
                    y=kk;
                i[x][y]=2;
            }
        }
        if(i[m][n]==2)
            g--,k++;
        if(g==0)
        {
            m=rand()%gg;
            n=rand()%kk;
            i[m][n]=21;
            g++;
        }
        printf("已经吃到的糖果数:%d\n",k);
        SetConsoleCursorPosition(hOutput,coord);
        mm(i);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/the_city_of_the__sky/article/details/79185216