What's new

Closed Guys help "( expected error"

Status
Not open for further replies.

MrSpe3chlesz

Honorary Poster
Joined
Feb 4, 2017
Posts
504
Reaction
301
Points
230
Age
24
Code:
#include<stdio.h>
#include<dos.h>
#include<ctype.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define TOP 1
#define DOWN 2
#define LEFT 3
#define RIGHT 4
void score(int s=1)
{
    static unsigned long sc=0;
    window(70,22,78,23);
    if(s)
    {
        sc=sc+100;
        cprintf("      ");
        window(70,22,78,23);
        cprintf("%ld",sc);
    }
    else
        sc=0;
}
void status(char *s,int c=WHITE)
{
    window(70,23,78,25);
    textcolor(c);
    cprintf("%s",s);
    for(int x=strlen(s);x<7;x++)
    cprintf(" ");
    textcolor(WHITE);
}
void main()
{
    clrscr();
    _setcursortype(_NOCURSOR);
    textcolor(WHITE);
    cprintf("\n   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ");
    for(int i=0;i<17;i++)
    cprintf("   ³                                                                         ³  ");
    cprintf("   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ");
    cprintf("   ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿   Press 'x' to Exit            ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ");
    cprintf("   ³  S N A K E  G A M E  ³   Press 'p' to Pause and Play  ³ SCORE : 0       ³  ");
    cprintf("   ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ                                ³ STATUS: Playing ³  ");
    cprintf("                                                           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ");
    int snkx[20],snky[20],d=LEFT,p=0,sz=6,restart=1;
    while(1)
    {
        if(restart)
        {
            for(i=0;i<6;i++)
            snkx[i]=30+i*2;
            for(i=6;i<20;i++)
            snkx[i]=0;
            for(i=0;i<20;i++)
            snky[i]=9;
            sz=6;
            p=0;
            d=LEFT;
            restart=0;
            score();
            window(6,3,76,19);
            for(i=0;i<610;i++)
            cprintf("  ");
        }
        int x,y;
        if(p!=1)
        {
            randomize();
            do{
                        x=random(70)+6;
                    }while(x%2==1);
                    y=random(16)+3;
            p=1;
            window(x,y,x+1,y+1);
            textcolor(LIGHTGREEN);
            cprintf("%c",1);
            textcolor(WHITE);
        }
        while(!kbhit())
        {
            status("Playing",LIGHTGREEN);
            window(snkx[sz-1],snky[sz-1],snkx[sz-1]+2,snky[sz-1]+2);
            cprintf(" ");
            for(i=0;i<sz-1;i++)
            {
                window(snkx[i],snky[i],snkx[i]+1,snky[i]+1);
                cprintf("");
            }
            for(i=sz-1;i>=1;i--)
            {
                snkx[i]=snkx[i-1];
                snky[i]=snky[i-1];
            }
            switch(d)
            {
                case RIGHT : snkx[0]+=2; break;
                case LEFT  : snkx[0]-=2; break;
                case TOP   : snky[0]-=1; break;
                case DOWN  : snky[0]+=1;
            }
            delay(200);
            if(x==snkx[0] && y==snky[0])
            {
                int f=0;
                do{
                    do{
                        x=random(70)+6;
                    }while(x%2==1);
                    y=random(16)+3;
                    for(i=0;i<sz;i++)
                        if(snkx[i]==x && snky[i]==y)
                            f=1;
                }while(f);
                p=1;
                window(x,y,x+1,y+1);
                textcolor(LIGHTGREEN);
                cprintf("%c",1);
                textcolor(WHITE);

                score();
                sz++;

                switch(d)
                {
                    case RIGHT : snkx[sz-1]+=2;
                                 snky[sz-1]=snky[sz-2];
                                 break;
                    case LEFT  : snkx[sz-1]-=2;
                                 snky[sz-1]=snky[sz-2];
                                 break;
                    case TOP   : snky[sz-1]-=1;
                                 snkx[sz-1]=snkx[sz-2];
                                 break;
                    case DOWN  : snky[sz-1]+=1;
                                 snkx[sz-1]=snkx[sz-2];
                }
            }
            int sflag=0;
            for(i=0;i<sz-1;i++)
                if(snkx[sz-1]==snkx[i] && snky[sz-1]==snky[i])
                {
                    sflag=1;
                    break;
                }
            if(snkx[0]<5 || snkx[0]>76 || snky[0]<3 || snky[0]>19)
                sflag=1;
            if(sflag)
            {
                textcolor(LIGHTRED);
                for(i=1;i<sz;i++)
                {
                    window(snkx[i],snky[i],snkx[i]+1,snky[i]+1);
                    cprintf("");
                }
                status("Stoped",LIGHTRED);
                score(0);
                restart=1;
                break;
            }
        }
        char ch=getch();
        switch(tolower(ch))
        {
            case 'x' : return;
            case 'p' :
                        status("Paused");
                        getch();
                        break;
            case 0 : {
                        char chh=getch();
                        switch(chh)
                        {
                            case 72 :{
                                    if(d==LEFT || d== RIGHT)
                                    d=TOP;
                                    } break;
                            case 80 :{
                                    if(d==LEFT || d== RIGHT)
                                    d=DOWN;
                                    } break;
                            case 75 :{
                                    if(d==TOP || d==DOWN)
                                    d=LEFT;
                                    } break;
                            case 77 :{
                                    if(d==TOP || d==DOWN)
                                    d=RIGHT;
                                    }
                        }
                    } break;
        }
    }
}   // main
 
Status
Not open for further replies.

Similar threads

Back
Top