我的游戏--恶灵骑士4.0

这次没有bug,所以这次是一个玩法更新,与3.1版本在玩法上不同,玩家可以自行选择版本游戏;

在玩法上,这次更像是贪吃蛇(好吧,其实我努力的让自己的第一个游戏不是贪吃蛇,但最终发现自己的游戏越来越像贪吃蛇);

在按下wasd键后,人物会自己向确定的方向移动,在摁下方向键(跳跃键)后会执行一次跳跃,然后向跳跃方向,执行普通移动;

这就是4.0版本(其实就是 想加上自己新学的函数)。

下面是游戏代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <windows.h>
int x=1,y=1,xx,yy,b[26][26]={0},jump=0,x2,y2;
void candy()
{
    while(1)
    {
        xx=rand()%26;
        if(xx==0)
        {
            xx=12;
        }
        yy=rand()%26;
        if(yy==0)
        {
            yy=12;
        }
        if(b[yy][xx]!=1&&(xx!=x||yy!=y))
        {
            break;
        }
    }
}
void move(char a)
{
    x2=x;y2=y;
    if(a=='w')
    {
        y--;
    }
    else if(a=='s')
    {
        y++;
    }
    else if(a=='a')
    {
        x--;
    }
    else if(a=='d')
    {
        x++;
    }
    else if(a==72&&jump!=0)
    {
        y--;
        y--;
        jump--;
    }
    else if(a==80&&jump!=0)
    {
        y++;
        y++;
        jump--;
    }
    else if(a==75&&jump!=0)
    {
        x--;
        x--;
        jump--;
    }
    else if(a==77&&jump!=0)
    {
        x++;
        x++;
        jump--;
    }
    if(x==0)
    {
        x=25;
    }
    if(y==0)
    {
        y=25;
    }
    if(x==26)
    {
        x=1;
    }
    if(y==26)
    {
        y=1;
    }
}
int main()
{
    int i,j,num=0;
    char a;
    system("color BC");
    srand((unsigned)time(NULL));
    printf("PLEASE PRESS ANY KEY TO START THE GAME\n");
    candy();
    getch();
    while(1)
    {
        Sleep(200);
        if(kbhit()!=0)
        {
            a=getch();
        }
        else
        {
            if(a==72)
            {
                a='w';
            }
            else if(a==80)
            {
                a='s';
            }
            else if(a==75)
            {
                a='a';
            }
            else if(a==77)
            {
                a='d';
            }
        }
        system("cls");
        move(a);
        if(x==xx&&y==yy)
        {
           candy();
            num++;
            jump++;
            printf("\a");
        }
        if(b[y][x]==0)
        {
            b[y][x]=1;
        }
        else if(b[y][x]==1&&(x!=x2||y!=y2))
        {
            break;
        }
        for(i=1;i<=25;i++)
        {
            for(j=1;j<=25;j++)
            {
                if(j==x&&i==y)
                {
                    printf("\f ");
                }
                else if(b[i][j]==1)
                {
                    printf("%c ",'*');
                }
                else if(j==xx&&i==yy)
                {
                    printf("%c ",'$');
                }
                else
                {
                    printf("%c ",'.');
                }
                if(j==25)
                {
                    printf("\n");
                }
            }
        }
        printf("YOU CAN JUMP %d\n",jump);
        printf("YOUR SCORE IS %d",num);
    }
    system("cls");
    printf("GAME OVER\n");
    printf("YOUR SCORE IS %d",num);
    return 0;
}


猜你喜欢

转载自blog.csdn.net/w13884794538/article/details/79175640