请求高手帮我检查下我的程序哪错了。我实在是找不到!拜托了

作者在 2010-11-30 15:16:02 发布以下内容
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00
#include"conio.h"
#include"time.h"
#include"stdlib.h"
int k[17][24]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,1,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,
0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,
0,3,1,1,1,1,0,1,1,1,4,1,0,1,0,1,1,1,1,1,1,1,0,0,
0,1,0,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,0,0,
0,2,1,1,1,1,6,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,                                                                            
0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,1,1,1,1,1,0,
0,1,1,1,1,1,1,1,1,1,1,5,1,1,1,0,1,0,0,1,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,4,0,0,1,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,1,0,
0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,
0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,3,1,1,1,1,1,0,0,
0,2,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};
int en(int *b,int n)
{int i;
for(i=0;i<20;i++)
if(b[i]==n)return 0;
return 1;
}
fu(int *b)
{int i;
for(i=0;i<20;i++)
b[i]=0;
}
void lostgame(int num)
{
 textcolor(WHITE);
 gotoxy(11,22);
 cprintf("The sum of the Numbers you have eaten is:%d.",num);
 gotoxy(11,23);
 cprintf("Sorry,you have lost the game!Press any key to restart...");
 getch();
 gotoxy(11,22);
 cprintf("                                                             ");
 gotoxy(11,23);
 cprintf("                                                                  ");
}
void wingame()
{
textcolor(WHITE);
 gotoxy(11,22);
 cprintf("Yeah!Congratulations!You have won the game!");
 gotoxy(11,23);
 cprintf("Press any key to quit...");
 getch();
 window(1,1,25,80);
 textbackground(BLACK);
 textcolor(LIGHTGRAY);
 clrscr();
 exit(0);
}
main()
{
 int i,j,key,num,b[20],p;
 char ch;
aa:
 window(1,1,25,80);
 textbackground(LIGHTGREEN);
 textcolor(YELLOW);
 clrscr();
 fu(b);
 num=0;
 p=0;
 textcolor(LIGHTRED);
 gotoxy(18,1);
 cprintf("%c(UP)%c(DOWN)%c(LEFT)%c(RIGHT)",24,25,27,26);
 gotoxy(16,2);
 cprintf("Eat the numbers in your road whose sum is 7,");
 gotoxy(14,3);
 cprintf("and eat 7 in the end,then you will win the game!");
 textcolor(MAGENTA);
 for(i=4;i<21;i++)
  for(j=20;j<44;j++)
   if(k[i-4][j-20]==0)
   {
    gotoxy(j,i);
    cprintf("%c",219);
   }
   else if(k[i-4][j-40]!=1)
   {
    gotoxy(j,i);
    cprintf("%d",k[i-4][j-20]);
   }
   textcolor(YELLOW);
   i=5;
   j=21;
   gotoxy(j,i);
   cprintf("\1");
   gotoxy(33,5);
   cprintf("7");
   gotoxy(7,7);
   cprintf("num:%d",num);
   textcolor(WHITE);
   gotoxy(11,22);
   cprintf("Press any key to start game,Q key to quit...");
   ch=getch();
   if(ch=='Q'\\ch=='q')
   {
    window(1,1,25,80);
    textbackground(BLACK);
    textcolor(LIGHTGRAY);
    clrscr();
    exit(0);
   }
   else
   {
    textcolor(YELLOW);
    gotoxy(11,22);
    cprintf("                                            ");
   }
   do
   {
    key=bioskey(0);
    sound(200);
    delay(1000);
    nosound();
    swith(key)
    {
     case DOWN:
      {
       if(k[i-4+1][j-20]==0)
        continue;
       if(k[i-4+1][j-20]!=1&&k[i-4+1][j-20]!=7&&en(b,i+j+1))
       {
        num+=k[i-4+1][j-20];
        b[p++]=i+j+1;
        gotoxy(7,7);
        cprintf("num:%d",num);
       }
       textcolor(YELLOW);
       gotoxy(j,i++);
       printf("");
       gotoxy(j,i);
       cprintf("\1");
       gotoxy(33,5);
       if(k[i-4]j-20]==7&&num==7)
        wingame();
       else if(num!=7&&k[i-4][j-20]==7)
       {
        lostgame(num);
        goto aa;
       }
       break;
      }
     case UP:
      {
       if(k[i-4-1][j-20]==0)
        continue;
       if(k[i-4-1][j-20]!=1&&k[i-4-1][j-20]!=7&&en(b,i+j-1))
       {
        num+=k[i-4-1][j-20];
        b[p++]=i+j-1;
        gotoxy(7,7);
        cprintf("num:%d",num);
       }
       textcolor(YELLOW);
       gotoxy(j,i--);
       printf("");
       gotoxy(j,i);
       cprintf("\1");
       gotoxy(33,5);
       if(k[i-4][j-20]==7&&num==7)
        wingame();
       else if(num!=7&&k[i-4][j-20]==7)
       {
        lostgame(num);
        goto aa;
       }
       break;
      }
     case LEFT:
      {
       if(k[i-4][j-20-1]==0)
        continue;
       if(k[i-4][j-20-1]!=1&&k[i-4][j-20-1]!=7&&en(b,i+j-1))
       {
        num+=k[i-4][j-20-1];
        b[p++]=i+j-1;
        gotoxy(7,7);
        cprintf("num:%d",num);
       }
       textcolor(YELLOW);
       gotoxy(j--,i);
       printf("");
       gotoxy(j,i);
       cprintf("\1");
       gotoxy(33,5);
       if(k[i-4][j-20]==7&&num==7)
        wingame();
       else if(num!=7&&k[i-4][j-20]==7)
       {
        lostgame(num);
        goto aa;
       }
       break;
      }
     case RIGHT:
      {
       if(k[i-4][j-20+1]==0)
        continue;
       if(k[i-4][j-20+1]!=1&&k[i-4][j-20+1]!=7&&en(b,i+j+1))
       {
        num+=k[i-4][j-20+1];
        b[p++]=i+j+1;
        gotoxy(7,7);
        cprintf("num:%d",num);
       }
       textcolor(YELLOW);
       gotoxy(j++,i);
       printf("");
       gotoxy(j,i);
       cprintf("\1");
       gotoxy(33,5);
       if(k[i-4][j-20]==7&&num==7)
        wingame();
       else if(num!=7&&k[i-4][j-20]==7)
       {
        lostgame(num);
        goto aa;
       }
       break;
      }
     default:
      continue;
      }
      }while(1);
      }
默认分类 | 阅读 514 次
文章评论,共0条
游客请输入验证码
文章分类
文章归档
最新评论